设备表

PCMCIA 设备与驱动程序的匹配是使用以下一个或多个标准完成的

  • 制造商 ID

  • 卡 ID

  • 产品 ID 字符串 _以及_ 这些字符串的哈希值

  • 功能 ID

  • 设备功能(实际的和伪的)

您应该使用 include/pcmcia/device_id.h 中的辅助函数来生成 struct pcmcia_device_id[] 条目,这些条目将设备与驱动程序匹配。

如果要匹配产品 ID 字符串,还需要将字符串的 crc32 哈希值传递给宏,例如,如果要匹配产品 ID 字符串 1,则需要使用

PCMCIA_DEVICE_PROD_ID1(“some_string”, 0x(some_string 的哈希值)),

如果哈希值不正确,内核将在模块初始化时在 “dmesg” 中通知您,并告诉您正确的哈希值。

您可以通过 cat PCMCIA 设备的 sysfs 目录中的 “modalias” 文件来确定产品 ID 字符串的哈希值。它生成一个如下形式的字符串:pcmcia:m0149cC1ABf06pfn00fn00pa725B842DpbF1EFEE84pc0877B627pd00000000

“pa” 之后的十六进制值是产品 ID 字符串 1 的哈希值,“pb” 之后是字符串 2 的哈希值,依此类推。

或者,您可以使用 crc32hash (参见 tools/pcmcia/crc32hash.c) 来确定 crc32 哈希值。只需将您想要评估的字符串作为参数传递给此程序,例如:$ tools/pcmcia/crc32hash “Dual Speed”