On Wed, 2016-12-28 at 14:43 +0000, Luis Oliveira wrote: > - Slave mode selected in platform module (devicetree support only) > - Check for ACPI - not supported in SLAVE mode: > - Changed the ifndef style to the use of ACPI_HANDLE that returns > NULL > if the device was not enumerated from ACPI namespace. I'm not sure what is wrong with ACPI? > @@ -264,9 +297,16 @@ static int dw_i2c_plat_probe(struct > platform_device *pdev) > if (r) > return r; > > - dev->functionality = I2C_FUNC_10BIT_ADDR | > DW_IC_DEFAULT_FUNCTIONALITY; > - > - i2c_dw_configure_master(pdev); > + if (ACPI_HANDLE(&pdev->dev) == NULL) { I don't think you need this at all. > + device_for_each_child_node(&pdev->dev, child) { This is resource agnostic. > + fwnode_property_read_u32(child, "reg", ®); This is as well. > + if (reg & I2C_OWN_SLAVE_ADDRESS) > + i2c_dw_configure_slave(pdev); > + else > + i2c_dw_configure_master(pdev); > + } > + } else > + i2c_dw_configure_master(pdev); -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html