Porting a device drive to use device id

Alex Holeczy alex at wmi.com
Thu Apr 14 13:18:45 EDT 2005

I am working on porting a device driver from kernel 2.4 to kernel 2.6.  As
part of the port, I am trying to update my device driver to use the device
table as outlined in 'devicetable.txt'.

When I load the updated device driver with the PCMCIA card inserted, the
device driver gets loaded correctly and I can access the card.  But if I
insert the card after I have loaded the device driver, I get the following
error message from cardmgr.

cardmgr[31431]: error in file './cacdsp.conf' line 18: module name
'bullet33_cs' not found

The following is my configuration file:

module "bullet33_cs" opts "xx=1"

The device table is initialized as follows:

static struct pcmcia_device_id bullet33_ids[] = {
         PCMCIA_DEVICE_PROD_ID12("CAC","TIC33", 0x746b5df7, 0x12e84903),

MODULE_DEVICE_TABLE(pcmcia, bullet33_ids);

static struct pcmcia_driver bullet33_cs_driver = {
     .owner          = THIS_MODULE,
     .drv            = {
         .name   = "bullet33_cs",
     .attach         = bullet33_attach,
     .detach         = bullet33_detach,
     .id_table       = bullet33_ids,

Where does cardmgr look for the device driver?

Do I need to run 'depmod' with special parameters to make the device 
driver visible to cardmgr?

With this new method of matching devices to drivers, does the device 
driver need to create the device nodes in /dev?  Previously the scripts 
that I installed in /etc/pcmcia would create the device nodes?
Do I still need the script files?


Alex Holeczy (alex at wmi.com)

Communication Automation Corporation (CAC)      www.cacdsp.com www.wmi.com
1180 McDermott Drive, West Chester, PA  19380

800-367-6735 Ext. 122 or 610-692-9526 Ext. 122 (Voice)
610-436-8258 (Fax) 

More information about the linux-pcmcia mailing list