PCA954x I2C switch/multiplexer
Hello, i'm new in this list, then please excuse me for my bad english...
I read the Frank's message dated jan 31 2008 about a patch for the PCA954x i2c mux family support.
I patched my kernel (2.6.22) without problems, bu when i load the module i2c_pca954x, nothing happens....
If i turn on all the kernel i2c debug related options, in dmesg i can see something like:
[pca9540] registered,
but, when i launch sensors-detect, i can't see any bus other than my i2c-amd-756.
I'm not a programmer, but reading the code, i can see that this module hasn't load parameters (the same result as modinfo), then, please Frank, can you explain me how to make the pca954x support start?
I'm a GIGABYTE GA-7DPXDW owner, where a PCA9540 "shares" two LM-90 on the sam i2c bus (one for each cpu), then i will be happy to test your patch if right pointed.
Thanks.
_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c
A message that is not in the archive (sent off-list or not yet received): [email protected]
The driver I submitted implements the "new style" driver model. These driver's don't probe the bus automatically. Instead, devices must be instantiated by calling i2c_register_board_info() for each multiplexer device. Please note that this driver implements a special syntax for the type field: e.g. .type = "pxa9544,5" tells the driver to create 4 virtual i2c buses with ids 5, 6, 7 and 8. You would i2c_register_board_info() your PXA9544 multiplexer with the root i2c bus and your bus segment devices with those virtual i2c buses.
Regards,
-Frank
_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c
A message that is not in the archive (sent off-list or not yet received): A42C17A8FF150C4DB98BFD6497D1D000081DF898-SepvG4MK2K7XgKAwtTS8dDuQPtp/[email protected]
Hi Frank,
Quoted 8 lines · Frank
The driver I submitted implements the "new style" driver model. These driver's don't probe the bus automatically. Instead, devices must be instantiated by calling
i2c_register_board_info()for each multiplexer device. Please note that this driver implements a special syntax for the type field: e.g. .type = "pxa9544,5" tells the driver to create 4 virtual i2c buses with ids 5, 6, 7 and 8. You wouldi2c_register_board_info()your PXA9544 multiplexer with the root i2c bus and your bus segment devices with those virtual i2c buses.
Please don't abuse the type field, instead define a custom structure and pass it to the driver as platform data. This will give you much more flexibility as well.
Signature · 6 lines
Jean Delvare _______________________________________________ i2c mailing list [email protected] http://lists.lm-sensors.org/mailman/listinfo/i2c
A message that is not in the archive (sent off-list or not yet received): [email protected]
Il Monday 25 February 2008 09:02:37 hai scritto:
Quoted 12 lines
Hi Frank,
Quoted 8 lines · Frank
The driver I submitted implements the "new style" driver model. These driver's don't probe the bus automatically. Instead, devices must be instantiated by calling
i2c_register_board_info()for each multiplexer device. Please note that this driver implements a special syntax for the type field: e.g. .type = "pxa9544,5" tells the driver to create 4 virtual i2c buses with ids 5, 6, 7 and 8. You wouldi2c_register_board_info()your PXA9544 multiplexer with the root i2c bus and your bus segment devices with those virtual i2c buses.
Quoted 3 lines
Please don't abuse the type field, instead define a custom structure and pass it to the driver as platform data. This will give you much more flexibility as well.
Hello, thanks for your answers
Well, i googled this days to learn something about the i2c_register_board_info() and the platform data structures. This requires a good knowledge of programming as i haven't :(
I understood that pca9540 (in my case) definitions have to be hardcoded somewhere (the only thread i found about this regards a SIP device registration on arm platform), but, where? and these needs to be coded as a "C" struct (the "type" field is part of this struct?)?
Well, i think i'm not enough skinned to manage this driver, peraph a whish:
will be implemented something like a modprobe option to make this driver more user friendly?
Please feel free to point me to adequate documentation about the platform data structure, in the meanwhile i continue googling...
Roascio paolo
_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c