]> Pileus Git - ~andy/linux/blobdiff - Documentation/pcmcia/devicetable.txt
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[~andy/linux] / Documentation / pcmcia / devicetable.txt
index 045511acafc98b4f336960ced2a2e4c2ebf8638c..199afd100cf27026bf1d918caaeb4d10636262c0 100644 (file)
@@ -19,46 +19,15 @@ PCMCIA_DEVICE_PROD_ID1("some_string", 0x(hash_of_some_string)),
 If the hash is incorrect, the kernel will inform you about this in "dmesg"
 upon module initialization, and tell you of the correct hash.
 
 If the hash is incorrect, the kernel will inform you about this in "dmesg"
 upon module initialization, and tell you of the correct hash.
 
-You can determine the hash of the product ID strings by running
-"pcmcia-modalias %n.%m" [%n being replaced with the socket number and %m being
-replaced with the device function] from pcmciautils. It generates a string
+You can determine the hash of the product ID strings by catting the file
+"modalias" in the sysfs directory of the PCMCIA device. It generates a string
 in the following form:
 pcmcia:m0149cC1ABf06pfn00fn00pa725B842DpbF1EFEE84pc0877B627pd00000000
 
 The hex value after "pa" is the hash of product ID string 1, after "pb" for
 string 2 and so on.
 
 in the following form:
 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 this small tool to determine the crc32 hash.
-simply pass the string you want to evaluate as argument to this program,
-e.g.
+Alternatively, you can use crc32hash (see Documentation/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"
 $ ./crc32hash "Dual Speed"
-
--------------------------------------------------------------------------
-/* crc32hash.c - derived from linux/lib/crc32.c, GNU GPL v2 */
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-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(argv[1], strlen(argv[1]));
-       printf("0x%x\n", result);
-       return 0;
-}