[i2c] linux-i2c and smbalert

Hendrik Sattler post at hendrik-sattler.de
Mon Sep 11 16:22:46 CEST 2006


Hi,

I reqrote the most part of it. i2c-smbalert now registers as i2c_driver and 
has to be manually attached to the bus by the i2c_adapter driver that want to 
support it.
I also attached the implementation for i2c-i801 (also contains some other 
cleanups) that runs fine on my system (Intel Corporation 82801BA/BAM SMBus)

Problems:
* If reading the ARA contains an I2C address that is not registered by a 
driver with an smbus_alert function, an asserted SMBALERT# might never get 
deasserted. If it has the highest address, the ARA will always contain that 
address. This is a problem of the system (SMBALERTs should only be issued 
after explicit configuration), not resolvable.
* Some host adapters have an unconnected SMBALERT pin (e.g. my system). I 
solved this for i2c-i801 with a Kconfig option that only enables conditional 
poll based on that choice. This could also be a module option, instead.

How can I make a loose dependency with Kconfig: i2c_i801 must not be compiled 
built-in if i2c_smbalert is configured as module (linking error). However, it 
also shall not depend on it (after all, it's optional).

Comments (especially on better variable and function names) are welcome.

I also have an i2c_client driver but this is only useful for a Lifebook C-6637 
notebook.

HS

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smbalert.patch
Type: text/x-diff
Size: 11439 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/i2c/attachments/20060911/beeb35ca/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i801_smbalert.patch
Type: text/x-diff
Size: 9940 bytes
Desc: not available
Url : http://lists.lm-sensors.org/pipermail/i2c/attachments/20060911/beeb35ca/attachment-0001.bin 


More information about the i2c mailing list