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

Reply via email to