On Mon, Sep 28, 2020 at 4:00 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > 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@xxxxxxxxxxxxxxx> wrote: > > > > > > On Mon, Sep 28, 2020 at 12:41:53PM +0200, Bartosz Golaszewski wrote: > > > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > > > > > > > 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. > Thanks for explaining my code to me. Yes you're right and I'm not sure why I missed this. :) I'll fix this in v3. Actually this means the code is wrong even before this series - it's just that we don't use the "chip-name" property. Bartosz