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", &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.shevche...@linux.intel.com>
Intel Finland Oy

Reply via email to