I'm having a hard time getting the pca955x module working correctly with my pca9552 chip. The module never actually runs the probe function.
my platform data
struct led_platform_data pca552_data = {
.num_leds = 7,
};
static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {
{
I2C_BOARD_INFO("leds-pca955x", 0x61),
.platform_data = &pca552_data,
},
}
called in my init
i2c_register_board_info(1, mxc_i2c1_board_info,
ARRAY_SIZE(mxc_i2c1_board_info));
module data
static struct i2c_driver pca955x_driver = {
.driver = {
.name = "leds-pca955x",
.owner = THIS_MODULE,
},
.probe = pca955x_probe,
.remove = __devexit_p(pca955x_remove),
.id_table = pca955x_id,
};
I built the module in the kernel. I know there is a device there since i can use i2c tools to poke/read and toggle leds. But linux is not initializing the driver when the device is found.
Its my understanding that the driver name should match the platform data name in the board info. I have a keypad driver that is in the same mxc_i2c1_board_info that is working perfectly fine.