On Thu, Apr 03, 2014 at 08:10:40AM +0000, Pallala, Ramakrishna wrote: > Hi All, > > I am trying to enable a i2c client driver under ACPI. The device is being enumerated behind adapter device and I am getting IRQ resource as well. > > The problem I have now is, how do I pass the platform data to driver? > > struct i2c_board_info { > char type[I2C_NAME_SIZE]; > unsigned short flags; > unsigned short addr; > void *platform_data; ===========> how can I initialize this filed. > struct dev_archdata *archdata; > struct device_node *of_node; > struct acpi_dev_node acpi_node; > int irq; > }; > > In non ACPI environment I used to initialize the platform_data under > board or platforms files. Under ACPI how do I do that? If you can't extract that information from ACPI namespace, then one option is to pass platform data along with the device ACPI ID: static const struct acpi_device_id my_acpi_match[] = { { "MYID0001", (kernel_ulong_t)&my_platform_data } ... { }, }; static struct i2c_driver i2c_hid_driver = { .driver = { ... .acpi_match_table = ACPI_PTR(my_acpi_match), }, ... -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html