forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PCI drivers have the new_id file in sysfs which allows new IDs to be added at runtime. The advantage is to avoid re-compilation of a driver that works for a new device, but it's ID table doesn't contain the new device. This mechanism is only meant for testing, after the driver has been tested successfully, the ID should be added in source code so that new revisions of the kernel automatically detect the device. The implementation follows the PCI implementation. The interface is documented in Documentation/pcmcia/driver.txt. Computations should be done in userspace, so the sysfs string contains the raw structure members for matching. Signed-off-by: Bernhard Walle <[email protected]> Cc: Dominik Brodowski <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Bernhard Walle
authored and
Linus Torvalds
committed
May 7, 2007
1 parent
02c8359
commit 6179b55
Showing
3 changed files
with
148 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
PCMCIA Driver | ||
------------- | ||
|
||
|
||
sysfs | ||
----- | ||
|
||
New PCMCIA IDs may be added to a device driver pcmcia_device_id table at | ||
runtime as shown below: | ||
|
||
echo "match_flags manf_id card_id func_id function device_no \ | ||
prod_id_hash[0] prod_id_hash[1] prod_id_hash[2] prod_id_hash[3]" > \ | ||
/sys/bus/pcmcia/drivers/{driver}/new_id | ||
|
||
All fields are passed in as hexadecimal values (no leading 0x). | ||
The meaning is described in the PCMCIA specification, the match_flags is | ||
a bitwise or-ed combination from PCMCIA_DEV_ID_MATCH_* constants | ||
defined in include/linux/mod_devicetable.h. | ||
|
||
Once added, the driver probe routine will be invoked for any unclaimed | ||
PCMCIA device listed in its (newly updated) pcmcia_device_id list. | ||
|
||
A common use-case is to add a new device according to the manufacturer ID | ||
and the card ID (form the manf_id and card_id file in the device tree). | ||
For this, just use: | ||
|
||
echo "0x3 manf_id card_id 0 0 0 0 0 0 0" > \ | ||
/sys/bus/pcmcia/drivers/{driver}/new_id | ||
|
||
after loading the driver. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters