Atualizando os drivers clientes I2C para o modelo de ligação mais recente

3

Estou tentando portar alguns drivers de dispositivo I2C que escrevi para um outro kernel funcionar com o modelo de ligação I2C mais recente. A documentação do kernel segue as etapas de como fazer isso: link

O que eu não entendo é quando se usa este novo modelo, como se especifica o endereço I2C do dispositivo? Costumava ser feito assim:

static unsigned short normal_i2c[] = { 0x67, I2C_CLIENT_END };

I2C_CLIENT_INSMOD;

Eu não acho que o meu barramento / dispositivo suporta detecção.

    
por austinmarton 17.05.2011 / 01:15

1 resposta

1

Acabei de registrar todos os meus dispositivos I2C como dispositivos de plataforma. A entrada no arquivo do fórum parecia algo como:

static struct i2c_board_info __initdata my_i2c_device = {
        I2C_BOARD_INFO("my_i2c_device", 0x60)
};

(onde endereço I2C = 0x60)

if (i2c_register_board_info(I2C_MY_BUS_ID, &my_i2c_device, 1) < 0) {
    printk(KERN_ERR "i2c_init: cannot register my I2C device\n");
}

Veja o link

    
por 16.01.2013 / 21:39

Tags