[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1483620226.9552.237.camel@linux.intel.com>
Date: Thu, 05 Jan 2017 14:43:46 +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 Thu, 2017-01-05 at 12:13 +0000, Luis Oliveira wrote:
> On 28-Dec-16 18:10, Luis Oliveira wrote:
> > On 28-Dec-16 17:10, Andy Shevchenko wrote:
> > > On Wed, 2016-12-28 at 16:41 +0000, Luis Oliveira wrote:
> > > > On 28-Dec-16 16:31, Andy Shevchenko wrote:
> > > So, ACPI has a property to support slave mode for I2CSerialBus()
> > > macro.
> > >
> > > I would propose to create a helper function in i2c-core.c which
> > > will be
> > > responsible for mode detection
> > >
> > > ... i2c_slave_mode_detect()
> > > {
> > > ...
> > > if (IS_BUILTIN(CONFIG_OF) && dev->of_node) {
> > > ... (use of_*() here) ...
> > > } else if (IS_BUILTIN(CONFIG_ACPI) && ACPI_HANDLE(dev))
> > > dev_dbg(..., "ACPI slave is not supported yet\n");
> > > ... to master ...
> > > } else {
> > > ... default to master ...
> > > }
> > > }
> > > EXPORT_...();
> > >
> > > Make it as a separate patch.
> > >
> >
> > Oh I see, yes it looks good. I will check it. Thanks
> >
>
> Hi Andy,
>
> I implemented a helper function as you proposed and it looks like
> this:
>
> int i2c_slave_mode_detect(struct device *dev)
> {
> struct device_node *child;
> u32 reg;
>
> if (IS_BUILTIN(CONFIG_OF) && dev->of_node) {
> for_each_child_of_node(dev->of_node, child) {
> of_property_read_u32(child, "reg", ®);
> if (reg & I2C_OWN_SLAVE_ADDRESS)
> return 1;
> }
> } else if (IS_BUILTIN(CONFIG_ACPI) && ACPI_HANDLE(dev))
> dev_dbg(dev, "ACPI slave is not supported yet\n");
Curly braces here as well.
> else
> return 0;
For now this is not needed
> return 0;
> }
>
> Before I submit the patch to the i2c-core.c I wonder if I could have
> some
> comment on the implementation.
Glad you did it. See above. Otherwise looks good to me.
--
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Intel Finland Oy
Powered by blists - more mailing lists