From a67cd5482f37a255b9990ddb942aa7009dcba12f Mon Sep 17 00:00:00 2001 From: Shuah Khan Date: Wed, 21 Sep 2016 16:54:36 -0600 Subject: 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 Acked-by: Greg Kroah-Hartman Acked-by: Jonathan Corbet Signed-off-by: Shuah Khan --- Documentation/Makefile | 3 +-- Documentation/pcmcia/.gitignore | 1 - Documentation/pcmcia/Makefile | 7 ------- Documentation/pcmcia/crc32hash.c | 32 -------------------------------- Documentation/pcmcia/devicetable.txt | 4 ++-- MAINTAINERS | 1 + tools/pcmcia/.gitignore | 1 + tools/pcmcia/Makefile | 9 +++++++++ tools/pcmcia/crc32hash.c | 32 ++++++++++++++++++++++++++++++++ 9 files changed, 46 insertions(+), 44 deletions(-) delete mode 100644 Documentation/pcmcia/.gitignore delete mode 100644 Documentation/pcmcia/Makefile delete mode 100644 Documentation/pcmcia/crc32hash.c create mode 100644 tools/pcmcia/.gitignore create mode 100644 tools/pcmcia/Makefile create mode 100644 tools/pcmcia/crc32hash.c diff --git a/Documentation/Makefile b/Documentation/Makefile index 0ddb50c3cfc4..84359654cfcb 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,2 +1 @@ -subdir-y := blackfin \ - pcmcia +subdir-y := blackfin diff --git a/Documentation/pcmcia/.gitignore b/Documentation/pcmcia/.gitignore deleted file mode 100644 index 53d081336757..000000000000 --- a/Documentation/pcmcia/.gitignore +++ /dev/null @@ -1 +0,0 @@ -crc32hash diff --git a/Documentation/pcmcia/Makefile b/Documentation/pcmcia/Makefile deleted file mode 100644 index 47a8fa162683..000000000000 --- a/Documentation/pcmcia/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# List of programs to build -hostprogs-y := crc32hash - -# Tell kbuild to always build the programs -always := $(hostprogs-y) - -HOSTCFLAGS_crc32hash.o += -I$(objtree)/usr/include diff --git a/Documentation/pcmcia/crc32hash.c b/Documentation/pcmcia/crc32hash.c deleted file mode 100644 index 44f8beea7260..000000000000 --- a/Documentation/pcmcia/crc32hash.c +++ /dev/null @@ -1,32 +0,0 @@ -/* crc32hash.c - derived from linux/lib/crc32.c, GNU GPL v2 */ -/* Usage example: -$ ./crc32hash "Dual Speed" -*/ - -#include -#include -#include -#include - -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; -} diff --git a/Documentation/pcmcia/devicetable.txt b/Documentation/pcmcia/devicetable.txt index 199afd100cf2..5f3e00ab54c4 100644 --- a/Documentation/pcmcia/devicetable.txt +++ b/Documentation/pcmcia/devicetable.txt @@ -27,7 +27,7 @@ pcmcia:m0149cC1ABf06pfn00fn00pa725B842DpbF1EFEE84pc0877B627pd00000000 The hex value after "pa" is the hash of product ID string 1, after "pb" for string 2 and so on. -Alternatively, you can use crc32hash (see Documentation/pcmcia/crc32hash.c) +Alternatively, you can use crc32hash (see tools/pcmcia/crc32hash.c) to determine the crc32 hash. Simply pass the string you want to evaluate as argument to this program, e.g.: -$ ./crc32hash "Dual Speed" +$ tools/pcmcia/crc32hash "Dual Speed" diff --git a/MAINTAINERS b/MAINTAINERS index b76872ace843..01b13a5f331a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9106,6 +9106,7 @@ W: http://lists.infradead.org/mailman/listinfo/linux-pcmcia T: git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia.git S: Maintained F: Documentation/pcmcia/ +F: tools/pcmcia/ F: drivers/pcmcia/ F: include/pcmcia/ diff --git a/tools/pcmcia/.gitignore b/tools/pcmcia/.gitignore new file mode 100644 index 000000000000..53d081336757 --- /dev/null +++ b/tools/pcmcia/.gitignore @@ -0,0 +1 @@ +crc32hash diff --git a/tools/pcmcia/Makefile b/tools/pcmcia/Makefile new file mode 100644 index 000000000000..81a7498c5cd9 --- /dev/null +++ b/tools/pcmcia/Makefile @@ -0,0 +1,9 @@ +CC := $(CROSS_COMPILE)gcc +CFLAGS := -I../../usr/include + +PROGS := crc32hash + +all: $(PROGS) + +clean: + rm -fr $(PROGS) diff --git a/tools/pcmcia/crc32hash.c b/tools/pcmcia/crc32hash.c new file mode 100644 index 000000000000..44f8beea7260 --- /dev/null +++ b/tools/pcmcia/crc32hash.c @@ -0,0 +1,32 @@ +/* crc32hash.c - derived from linux/lib/crc32.c, GNU GPL v2 */ +/* Usage example: +$ ./crc32hash "Dual Speed" +*/ + +#include +#include +#include +#include + +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; +} -- cgit v1.2.3