^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) PCMCIA Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) sysfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) -----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) New PCMCIA IDs may be added to a device driver pcmcia_device_id table at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) runtime as shown below::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) echo "match_flags manf_id card_id func_id function device_no \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) prod_id_hash[0] prod_id_hash[1] prod_id_hash[2] prod_id_hash[3]" > \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) /sys/bus/pcmcia/drivers/{driver}/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) All fields are passed in as hexadecimal values (no leading 0x).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) The meaning is described in the PCMCIA specification, the match_flags is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) a bitwise or-ed combination from PCMCIA_DEV_ID_MATCH_* constants
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) defined in include/linux/mod_devicetable.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Once added, the driver probe routine will be invoked for any unclaimed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) PCMCIA device listed in its (newly updated) pcmcia_device_id list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) A common use-case is to add a new device according to the manufacturer ID
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) and the card ID (form the manf_id and card_id file in the device tree).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) For this, just use::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) echo "0x3 manf_id card_id 0 0 0 0 0 0 0" > \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) /sys/bus/pcmcia/drivers/{driver}/new_id
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) after loading the driver.