lkml.org 
[lkml]   [2021]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 02/22] gpio: regmap: set gpio_chip of_node
    Date
    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>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    ---
    v8: no changes
    v7: add gpio-regmap.c comment
    v6: add comment and simplify of_node assignment
    v5: switch to fwnode
    v4: fix documentation
    v3: introduce patch needed for properly parsing gpio-range

    drivers/gpio/gpio-regmap.c | 2 ++
    include/linux/gpio/regmap.h | 4 ++++
    2 files changed, 6 insertions(+)

    diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c
    index 5412cb3b0b2a..2215d712da08 100644
    --- a/drivers/gpio/gpio-regmap.c
    +++ b/drivers/gpio/gpio-regmap.c
    @@ -249,6 +249,8 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config

    chip = &gpio->gpio_chip;
    chip->parent = config->parent;
    + /* gpiolib will use of_node of the parent if chip->of_node is NULL */
    + chip->of_node = to_of_node(config->fwnode);
    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..334dd928042b 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 fwnode_handle;
    struct gpio_regmap;
    struct irq_domain;
    struct regmap;
    @@ -16,6 +17,8 @@ struct regmap;
    * @parent: The parent device
    * @regmap: The regmap used to access the registers
    * given, the name of the device is used
    + * @fwnode: (Optional) The firmware node.
    + * If not given, the fwnode of the parent is used.
    * @label: (Optional) Descriptive name for GPIO controller.
    * If not given, the name of the device is used.
    * @ngpio: Number of GPIOs
    @@ -57,6 +60,7 @@ struct regmap;
    struct gpio_regmap_config {
    struct device *parent;
    struct regmap *regmap;
    + struct fwnode_handle *fwnode;

    const char *label;
    int ngpio;
    --
    2.20.1
    \
     
     \ /
      Last update: 2021-03-17 15:39    [W:2.735 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site