Messages in this thread | | | Date | Wed, 02 May 2007 21:16:09 +0200 | From | Stefan Richter <> | Subject | Re: [PATCH 1/6] firewire: handling of cards, buses, nodes |
| |
Pekka Enberg wrote: > On 5/2/07, Stefan Richter <stefanr@s5r6.in-berlin.de> wrote: >> +/* The lib/crc16.c implementation uses the standard (0x8005) >> + * polynomial, but we need the ITU-T (or CCITT) polynomial (0x1021). >> + * The implementation below works on an array of host-endian u32 >> + * words, assuming they'll be transmited msb first. */ >> +u16 >> +crc16_itu_t(const u32 *buffer, size_t length) >> +{ > > [snip] > > So put it in lib/crc-itu-t.c? Btw, there's apparently another ITU-T > implementation floating around by Ivo van Doorn.
I looked around a bit with grep -R and a few search terms but didn't find something definite. Is there any other user of a crc16_itu_t or crc_ccitt or whatever which operates on a (CPU byte ordered) u32[] instead of on a (network byte ordered) u8[]?
The only value in having a shared implementation would be a potentially smaller kernel. Sharing it to ensure correctness is not an issue; fw-topology.c::crc16_itu_t is simply the one in IEEE 1212 table 5. Performance is also not an issue (if better algorithms exist) because the FireWire stack uses it only infrequently on a moderate amount of data. -- Stefan Richter -=====-=-=== -=-= ---=- http://arcgraph.de/sr/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |