[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200928140028.GO3956970@smile.fi.intel.com>
Date: Mon, 28 Sep 2020 17:00:28 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Bartosz Golaszewski <bgolaszewski@...libre.com>
Cc: Bartosz Golaszewski <brgl@...ev.pl>,
Linus Walleij <linus.walleij@...aro.org>,
Jonathan Corbet <corbet@....net>,
Kent Gibson <warthog618@...il.com>,
linux-gpio <linux-gpio@...r.kernel.org>,
linux-doc <linux-doc@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 7/9] gpio: mockup: pass the chip label as device
property
On Mon, Sep 28, 2020 at 03:13:53PM +0200, Bartosz Golaszewski wrote:
> On Mon, Sep 28, 2020 at 3:00 PM Andy Shevchenko
> <andriy.shevchenko@...ux.intel.com> wrote:
> >
> > On Mon, Sep 28, 2020 at 12:41:53PM +0200, Bartosz Golaszewski wrote:
> > > From: Bartosz Golaszewski <bgolaszewski@...libre.com>
> > >
> > > While we do check the "chip-name" property in probe(), we never actually
> > > use it. Let's pass the chip label to the driver using device properties
> > > as we'll want to allow users to define their own once dynamically
> > > created chips are supported.
> > >
> > > The property is renamed to "chip-label" to not cause any confusion with
> > > the actual chip name which is of the form: "gpiochipX".
> > >
>
> ^^^ here, see below
>
> > > If the "chip-label" property is missing, let's do what most devices in
> > > drivers/gpio/ do and use dev_name().
> >
> > ...
> >
> > > + snprintf(chip_label, sizeof(chip_label),
> > > + "gpio-mockup-%c", i + 'A');
> > > + properties[prop++] = PROPERTY_ENTRY_STRING("chip-label",
> > > + chip_label);
> >
> > You added new property, now count is up to 4. But at the same time
> >
> > #define GPIO_MOCKUP_MAX_PROP 4
> >
> > how do you avoid overflow?
> >
>
> I renamed the property, the previous "chip-name" is no longer used. In
> fact it was never used but was accounted for in GPIO_MOCKUP_MAX_PROP.
Either I'm missing something or...
Current code in linux-next has 3 properties to be possible
PROPERTY_ENTRY_U32("gpio-base", base);
PROPERTY_ENTRY_U16("nr-gpios", ngpio);
PROPERTY_ENTRY_BOOL("named-gpio-lines");
You adding here
PROPERTY_ENTRY_STRING("chip-label", chip_label);
Altogether after this patch is 4 which is maximum, but since array is passed by
a solely pointer, the terminator is a must.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists