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