diff options
author | 2025-02-13 21:48:49 +0200 | |
---|---|---|
committer | 2025-02-21 09:42:45 +0100 | |
commit | a630d3960b6ac3c37cb0789605056e8845ffbf16 (patch) | |
tree | f59d2a295741738d2c87cb00cbe74d833bcd0b56 /drivers/gpio/gpio-regmap.c | |
parent | gpio: regmap: Group optional assignments together for better understanding (diff) | |
download | wireguard-linux-a630d3960b6ac3c37cb0789605056e8845ffbf16.tar.xz wireguard-linux-a630d3960b6ac3c37cb0789605056e8845ffbf16.zip |
gpio: regmap: Move optional assignments down in the code
Move optional assignments down in the code, so they may use some values
from the (updated) struct gpio_chip later on.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Reviewed-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Link: https://lore.kernel.org/r/20250213195621.3133406-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-regmap.c')
-rw-r--r-- | drivers/gpio/gpio-regmap.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/gpio/gpio-regmap.c b/drivers/gpio/gpio-regmap.c index 7775b0c56602..41ee576e7cd0 100644 --- a/drivers/gpio/gpio-regmap.c +++ b/drivers/gpio/gpio-regmap.c @@ -239,20 +239,6 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config gpio->reg_dir_in_base = config->reg_dir_in_base; gpio->reg_dir_out_base = config->reg_dir_out_base; - /* if not set, assume there is only one register */ - gpio->ngpio_per_reg = config->ngpio_per_reg; - if (!gpio->ngpio_per_reg) - gpio->ngpio_per_reg = config->ngpio; - - /* if not set, assume they are consecutive */ - gpio->reg_stride = config->reg_stride; - if (!gpio->reg_stride) - gpio->reg_stride = 1; - - gpio->reg_mask_xlate = config->reg_mask_xlate; - if (!gpio->reg_mask_xlate) - gpio->reg_mask_xlate = gpio_regmap_simple_xlate; - chip = &gpio->gpio_chip; chip->parent = config->parent; chip->fwnode = config->fwnode; @@ -276,6 +262,20 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config chip->direction_output = gpio_regmap_direction_output; } + /* if not set, assume there is only one register */ + gpio->ngpio_per_reg = config->ngpio_per_reg; + if (!gpio->ngpio_per_reg) + gpio->ngpio_per_reg = config->ngpio; + + /* if not set, assume they are consecutive */ + gpio->reg_stride = config->reg_stride; + if (!gpio->reg_stride) + gpio->reg_stride = 1; + + gpio->reg_mask_xlate = config->reg_mask_xlate; + if (!gpio->reg_mask_xlate) + gpio->reg_mask_xlate = gpio_regmap_simple_xlate; + ret = gpiochip_add_data(chip, gpio); if (ret < 0) goto err_free_gpio; |