[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1482939844.9552.165.camel@linux.intel.com>
Date: Wed, 28 Dec 2016 17:44:04 +0200
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Luis Oliveira <Luis.Oliveira@...opsys.com>, wsa@...-dreams.de,
robh+dt@...nel.org, mark.rutland@....com,
jarkko.nikula@...ux.intel.com, mika.westerberg@...ux.intel.com,
linux-i2c@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Ramiro.Oliveira@...opsys.com, Joao.Pinto@...opsys.com,
CARLOS.PALMINHA@...opsys.com
Subject: Re: [PATCH v5 6/7] i2c: designware: enable SLAVE in platform module
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@...ux.intel.com>
Intel Finland Oy
Powered by blists - more mailing lists