Acquiring an i2c adapter.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Perry Gilfillan wrote:
> Mark,
> 
> I'm still trying to sort out where the various flags fit in.
> 
> I know that the I2C_ADAP_CLASS_* will simplify things in the 2.6 kernel, 
> and there is a small but useful set of defines to work with.  The i2c 
> and ddc bus provided by the i2c-voodoo3 are covered here.  I've already 
> sent along a patch to Greg KH, and he has applied it.
> 
> In the 2.4 kernel, we have too many choices...  There is a plethora of 
> I2C_DRIVERID_* defines, yet none for the Voodoo3 yet.  My confusion may 
> be that I'm thinking of using a client driver id on the adapter?
> 
> Does the i2c_adapter->id indicate the algorithim?  Greg KH indicated 
> that I2C_HW_B_VOO was more correct than I2C_HW_SMBUS_VOODOO3, but that 
> this was not the place to distinguish the i2c from the ddc.
> 
> If I read right, the i2c_bit_add_bus function or's adap.id with 
> i2c_bit_algo.id yeilding I2C_HW_B_VOO | I2C_ALGO_BIT, which I test for 
> in my dummy driver attach function, and then do the strnicmp.
> 

That's the right way to do it now.
I was arguing for a second ID for the DDC bus but I guess
I need to understand Greg's objections.


> The other clients that attach to the i2c-voodoo3's adapters test for a 
> chip that responds properly, so the id is not so important.  The 
> exceptioon that I notice is that eeprom seems to see eight instances of 
> the ddcmon, at which point ddcmon can't find it's valid client chip.  I 
> recall reading that ddc chips are indestinguishable from eeproms? 
> Nevermind!  I see from expermentation that the checksum=1 option to 
> eeprom solves the problem!  Something for my HOWTO.
> 

Many monitors contain a really dumb eeprom that responds to all 8 addresses.
The eeprom driver latches on to all 8. The ddcmon driver only looks at 0x50.
Load ddcmon first, or don't load eeprom, or use the ignore parameter to eeprom.


> The v3tv is the ONLY client that can't tell the difference between the 
> i2c and ddc adapters.  So I don't think any action from your group is 
> needed, since only the 2.4 kernel would be affected.
> 
> I'm still curious to know what the i2c_get_adapter function intended 
> purpose is.  Could I use a derivitive of it, that tests the 
> adapter.class, and omit the dummy client when building the v3tv module 
> for the 2.6 kernel?  Would my module not have access to the adapters 
> list unless it were exported?
> 

Greg?


> Thanks,
> 
> Perry
> -----
> V3TV: http://gilfillan.org:8000/v3tv/
> VPX3224: http://gilfillan.org:8000/vpx3224/
> 
> 



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux