tools: move pcmcia crc32hash tool from Documentation
Move pcmcia crc32hash tool from Documentation to tools/pcmcia and remove it from Documentation Makefile. Update location information for this tool. Create a new Makefile to build pcmcia. It can be built from top level directory or from pcmcia directory: Run make -C tools/pcmcia or cd tools/pcmcia; make Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
This commit is contained in:
1
tools/pcmcia/.gitignore
vendored
Normal file
1
tools/pcmcia/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
crc32hash
|
9
tools/pcmcia/Makefile
Normal file
9
tools/pcmcia/Makefile
Normal file
@@ -0,0 +1,9 @@
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
CFLAGS := -I../../usr/include
|
||||
|
||||
PROGS := crc32hash
|
||||
|
||||
all: $(PROGS)
|
||||
|
||||
clean:
|
||||
rm -fr $(PROGS)
|
32
tools/pcmcia/crc32hash.c
Normal file
32
tools/pcmcia/crc32hash.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* crc32hash.c - derived from linux/lib/crc32.c, GNU GPL v2 */
|
||||
/* Usage example:
|
||||
$ ./crc32hash "Dual Speed"
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static unsigned int crc32(unsigned char const *p, unsigned int len)
|
||||
{
|
||||
int i;
|
||||
unsigned int crc = 0;
|
||||
while (len--) {
|
||||
crc ^= *p++;
|
||||
for (i = 0; i < 8; i++)
|
||||
crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0);
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
unsigned int result;
|
||||
if (argc != 2) {
|
||||
printf("no string passed as argument\n");
|
||||
return -1;
|
||||
}
|
||||
result = crc32((unsigned char const *)argv[1], strlen(argv[1]));
|
||||
printf("0x%x\n", result);
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user