-
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.
Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/ke…
…rnel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-stub: Documentation update i2c-stub: Allow user to disable some commands i2c-stub: Implement I2C block support i2c: Refactor for_each callbacks i2c-i801: Retry on lost arbitration i2c: Remove big kernel lock from i2cdev_open ics932s401: Clean up detect function i2c: Simplify i2c_detect_address i2c: Drop probe, ignore and force module parameters i2c: Add missing __devinit markers to old i2c adapter drivers i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR i2c: Prevent priority inversion on top of bus lock i2c-voodoo3: Delete i2c-powermac: Drop temporary name buffer i2c-powermac: Include the i2c_adapter in struct pmac_i2c_bus i2c-powermac: Log errors i2c-powermac: Refactor i2c_powermac_smbus_xfer i2c-powermac: Reject unsupported I2C transactions i2c/chips: Move ds1682 to drivers/misc
- Loading branch information
Showing
28 changed files
with
248 additions
and
723 deletions.
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
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
I2C device driver binding control from user-space | ||
================================================= | ||
|
||
Up to kernel 2.6.32, many i2c drivers used helper macros provided by | ||
<linux/i2c.h> which created standard module parameters to let the user | ||
control how the driver would probe i2c buses and attach to devices. These | ||
parameters were known as "probe" (to let the driver probe for an extra | ||
address), "force" (to forcibly attach the driver to a given device) and | ||
"ignore" (to prevent a driver from probing a given address). | ||
|
||
With the conversion of the i2c subsystem to the standard device driver | ||
binding model, it became clear that these per-module parameters were no | ||
longer needed, and that a centralized implementation was possible. The new, | ||
sysfs-based interface is described in the documentation file | ||
"instantiating-devices", section "Method 4: Instantiate from user-space". | ||
|
||
Below is a mapping from the old module parameters to the new interface. | ||
|
||
Attaching a driver to an I2C device | ||
----------------------------------- | ||
|
||
Old method (module parameters): | ||
# modprobe <driver> probe=1,0x2d | ||
# modprobe <driver> force=1,0x2d | ||
# modprobe <driver> force_<device>=1,0x2d | ||
|
||
New method (sysfs interface): | ||
# echo <device> 0x2d > /sys/bus/i2c/devices/i2c-1/new_device | ||
|
||
Preventing a driver from attaching to an I2C device | ||
--------------------------------------------------- | ||
|
||
Old method (module parameters): | ||
# modprobe <driver> ignore=1,0x2f | ||
|
||
New method (sysfs interface): | ||
# echo dummy 0x2f > /sys/bus/i2c/devices/i2c-1/new_device | ||
# modprobe <driver> | ||
|
||
Of course, it is important to instantiate the "dummy" device before loading | ||
the driver. The dummy device will be handled by i2c-core itself, preventing | ||
other drivers from binding to it later on. If there is a real device at the | ||
problematic address, and you want another driver to bind to it, then simply | ||
pass the name of the device in question instead of "dummy". |
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
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
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
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
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
Oops, something went wrong.