1*3bdab16cSMauro Carvalho Chehab============= 2*3bdab16cSMauro Carvalho ChehabPCMCIA Driver 3*3bdab16cSMauro Carvalho Chehab============= 4*3bdab16cSMauro Carvalho Chehab 5*3bdab16cSMauro Carvalho Chehabsysfs 6*3bdab16cSMauro Carvalho Chehab----- 7*3bdab16cSMauro Carvalho Chehab 8*3bdab16cSMauro Carvalho ChehabNew PCMCIA IDs may be added to a device driver pcmcia_device_id table at 9*3bdab16cSMauro Carvalho Chehabruntime as shown below:: 10*3bdab16cSMauro Carvalho Chehab 11*3bdab16cSMauro Carvalho Chehab echo "match_flags manf_id card_id func_id function device_no \ 12*3bdab16cSMauro Carvalho Chehab prod_id_hash[0] prod_id_hash[1] prod_id_hash[2] prod_id_hash[3]" > \ 13*3bdab16cSMauro Carvalho Chehab /sys/bus/pcmcia/drivers/{driver}/new_id 14*3bdab16cSMauro Carvalho Chehab 15*3bdab16cSMauro Carvalho ChehabAll fields are passed in as hexadecimal values (no leading 0x). 16*3bdab16cSMauro Carvalho ChehabThe meaning is described in the PCMCIA specification, the match_flags is 17*3bdab16cSMauro Carvalho Chehaba bitwise or-ed combination from PCMCIA_DEV_ID_MATCH_* constants 18*3bdab16cSMauro Carvalho Chehabdefined in include/linux/mod_devicetable.h. 19*3bdab16cSMauro Carvalho Chehab 20*3bdab16cSMauro Carvalho ChehabOnce added, the driver probe routine will be invoked for any unclaimed 21*3bdab16cSMauro Carvalho ChehabPCMCIA device listed in its (newly updated) pcmcia_device_id list. 22*3bdab16cSMauro Carvalho Chehab 23*3bdab16cSMauro Carvalho ChehabA common use-case is to add a new device according to the manufacturer ID 24*3bdab16cSMauro Carvalho Chehaband the card ID (form the manf_id and card_id file in the device tree). 25*3bdab16cSMauro Carvalho ChehabFor this, just use:: 26*3bdab16cSMauro Carvalho Chehab 27*3bdab16cSMauro Carvalho Chehab echo "0x3 manf_id card_id 0 0 0 0 0 0 0" > \ 28*3bdab16cSMauro Carvalho Chehab /sys/bus/pcmcia/drivers/{driver}/new_id 29*3bdab16cSMauro Carvalho Chehab 30*3bdab16cSMauro Carvalho Chehabafter loading the driver. 31