[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