[i2c] [PATCH 1/3] i2c: virtual i2c adapter support
Rodolfo Giometti
giometti at enneenne.com
Mon Oct 27 09:20:25 CET 2008
On Sun, Oct 26, 2008 at 11:53:55PM +0200, Felix Radensky wrote:
> Hi, Rodolfo
>
> I've tried your patches with linux-2.6.27 kernel running
> on custom board with 460EX PowerPC. This board has
> two i2c buses and pca9548 switch on bus 0.
Please, consider thay my patch has been *not* accepted into main line
due a mutex problem... :'(
> My question is: how can I register board i2c devices behind
> the mux in board init code, and make them properly identified
> when relevant drivers are loaded.
I have just defined the i2c devices behind the mux as connected to the
new virtual adapters:
static int wr1100_adap_ids[] = {
2, 3,
};
static struct pca954x_platform_data wr1100_i2cmux_adap_ids = {
.adap_ids = wr1100_adap_ids,
.len = ARRAY_SIZE(wr1100_adap_ids),
};
static struct i2c_board_info __initdata wr1100_i2c_devices[] = {
{
I2C_BOARD_INFO("pca9540", 0x70),
.platform_data = &wr1100_i2cmux_adap_ids,
},
};
static struct i2c_board_info __initdata wr1100_i2c_mux_devices[] = {
{
I2C_BOARD_INFO("bq27200", 0x55),
},
};
Then into machine startup code:
i2c_register_board_info(0, wr1100_i2c_devices,
ARRAY_SIZE(wr1100_i2c_devices));
i2c_register_board_info(2, wr1100_i2c_mux_devices,
ARRAY_SIZE(wr1100_i2c_mux_devices));
i2c_register_board_info(3, wr1100_i2c_mux_devices,
ARRAY_SIZE(wr1100_i2c_mux_devices));
Ciao,
Rodolfo
--
GNU/Linux Solutions e-mail: giometti at enneenne.com
Linux Device Driver giometti at linux.it
Embedded Systems phone: +39 349 2432127
UNIX programming skype: rodolfo.giometti
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.lm-sensors.org/pipermail/i2c/attachments/20081027/79ea62bd/attachment.bin
More information about the i2c
mailing list