Messages in this thread | | | Date | Thu, 04 Mar 2021 09:18:53 +0100 | From | Michael Walle <> | Subject | Re: [PATCH v2] gpio: regmap: set gpio_chip of_node |
| |
Am 2021-03-04 08:15, schrieb Álvaro Fernández Rojas: > This is needed for properly registering gpio regmap as a child of a > regmap > pin controller. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > Reviewed-by: Michael Walle <michael@walle.cc> > --- > v2: split this patch from the bcm63xx-pinctrl series > > drivers/gpio/gpio-regmap.c | 1 + > include/linux/gpio/regmap.h | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c > index fed1e269c42a..8898ab3e1d59 100644 > --- a/drivers/gpio/gpio-regmap.c > +++ b/drivers/gpio/gpio-regmap.c > @@ -249,6 +249,7 @@ struct gpio_regmap *gpio_regmap_register(const > struct gpio_regmap_config *config > > chip = &gpio->gpio_chip; > chip->parent = config->parent; > + chip->of_node = config->of_node ?: dev_of_node(config->parent); > chip->base = -1; > chip->ngpio = config->ngpio; > chip->names = config->names; > diff --git a/include/linux/gpio/regmap.h b/include/linux/gpio/regmap.h > index ad76f3d0a6ba..566d76d0dbae 100644 > --- a/include/linux/gpio/regmap.h > +++ b/include/linux/gpio/regmap.h > @@ -4,6 +4,7 @@ > #define _LINUX_GPIO_REGMAP_H > > struct device; > +struct device_node; > struct gpio_regmap; > struct irq_domain; > struct regmap; > @@ -15,6 +16,7 @@ struct regmap; > * struct gpio_regmap_config - Description of a generic regmap > gpio_chip. > * @parent: The parent device > * @regmap: The regmap used to access the registers > + * @of_node: (Optional) The device node > * given, the name of the device is used
Something is messed up here ;) This line should be together with the one containing @regmap. While at it please add the "If not given, the of_node of the parent device is used."
-michael
> * @label: (Optional) Descriptive name for GPIO controller. > * If not given, the name of the device is used. > @@ -57,6 +59,7 @@ struct regmap; > struct gpio_regmap_config { > struct device *parent; > struct regmap *regmap; > + struct device_node *of_node; > > const char *label; > int ngpio;
| |