mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
i2c-stub: Support multiple chips
Add support for multiple chips to i2c-stub. I've changed the memory allocation scheme from static to dynamic, so that we don't waste too much memory. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Mark M. Hoffman <[email protected]>
This commit is contained in:
parent
567a244b8b
commit
9d90c1fd9b
2 changed files with 65 additions and 32 deletions
|
|
@ -6,13 +6,14 @@ This module is a very simple fake I2C/SMBus driver. It implements four
|
|||
types of SMBus commands: write quick, (r/w) byte, (r/w) byte data, and
|
||||
(r/w) word data.
|
||||
|
||||
You need to provide a chip address as a module parameter when loading
|
||||
this driver, which will then only react to SMBus commands to this address.
|
||||
You need to provide chip addresses as a module parameter when loading this
|
||||
driver, which will then only react to SMBus commands to these addresses.
|
||||
|
||||
No hardware is needed nor associated with this module. It will accept write
|
||||
quick commands to one address; it will respond to the other commands (also
|
||||
to one address) by reading from or writing to an array in memory. It will
|
||||
also spam the kernel logs for every command it handles.
|
||||
quick commands to the specified addresses; it will respond to the other
|
||||
commands (also to the specified addresses) by reading from or writing to
|
||||
arrays in memory. It will also spam the kernel logs for every command it
|
||||
handles.
|
||||
|
||||
A pointer register with auto-increment is implemented for all byte
|
||||
operations. This allows for continuous byte reads like those supported by
|
||||
|
|
@ -26,8 +27,8 @@ The typical use-case is like this:
|
|||
|
||||
PARAMETERS:
|
||||
|
||||
int chip_addr:
|
||||
The SMBus address to emulate a chip at.
|
||||
int chip_addr[10]:
|
||||
The SMBus addresses to emulate chips at.
|
||||
|
||||
CAVEATS:
|
||||
|
||||
|
|
@ -41,9 +42,6 @@ If the hardware for your driver has banked registers (e.g. Winbond sensors
|
|||
chips) this module will not work well - although it could be extended to
|
||||
support that pretty easily.
|
||||
|
||||
Only one chip address is supported - although this module could be
|
||||
extended to support more.
|
||||
|
||||
If you spam it hard enough, printk can be lossy. This module really wants
|
||||
something like relayfs.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue