Hi, Currently it seems that we have two CRC32 implementation in U-Boot. Two headers files are provided.
1. include/linux/crc32.h The implementation is drivers/mtd/ubi/crc32.c. Codes that use this implementation include: drivers/mtd/ubi/* drivers/mtd/ubispl/* fs/ubifs/* 2. include/u-boot/crc.h The implementation is lib/crc32.c Codes that use this implementation include: fs/btrfs/hash.c tools/* common/hash.c common/image.c common/image-fit.c lib/efi_loader/efi_boottime.c It looks that include/linux/crc32.h was originally imported from Linux kernel's include/linux/crc32.h, but the implementation in Linux kernel's lib/crc32.c was not imported to U-Boot's lib/crc32.c but to drivers/mtd/ubi/crc32.c. Why? Somehow U-Boot lib/crc32.c uses another different implementation from zlib. This is a mess. For example if I include both headers in one C file, it won't compile. Can we clean this up? Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot