]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpio: regmap: Group optional assignments together for better understanding
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 13 Feb 2025 19:48:48 +0000 (21:48 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 21 Feb 2025 08:42:45 +0000 (09:42 +0100)
Group ngpio_per_reg, reg_stride, and reg_mask_xlate assignments together
with the respective conditional for better understanding what's going on
in the code.

While at it, mark ngpio_per_reg as (Optional) in the kernel-doc
in accordance with what code actually does.

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-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-regmap.c
include/linux/gpio/regmap.h

index 05f8781b520484465503ee87370b3dbe65e84d22..7775b0c56602949cff5e9116c436bf5c58559ab5 100644 (file)
@@ -233,9 +233,6 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
        gpio->parent = config->parent;
        gpio->driver_data = config->drvdata;
        gpio->regmap = config->regmap;
-       gpio->ngpio_per_reg = config->ngpio_per_reg;
-       gpio->reg_stride = config->reg_stride;
-       gpio->reg_mask_xlate = config->reg_mask_xlate;
        gpio->reg_dat_base = config->reg_dat_base;
        gpio->reg_set_base = config->reg_set_base;
        gpio->reg_clr_base = config->reg_clr_base;
@@ -243,13 +240,16 @@ struct gpio_regmap *gpio_regmap_register(const struct gpio_regmap_config *config
        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;
 
index a9f7b7faf57b0d0e96a43aeb6c2256e62d9353cd..b9240e4156cc82190c3093b6ad3207fa8f6be219 100644 (file)
@@ -30,7 +30,7 @@ struct regmap;
  * @reg_dir_out_base:  (Optional) out setting register base address
  * @reg_stride:                (Optional) May be set if the registers (of the
  *                     same type, dat, set, etc) are not consecutive.
- * @ngpio_per_reg:     Number of GPIOs per register
+ * @ngpio_per_reg:     (Optional) Number of GPIOs per register
  * @irq_domain:                (Optional) IRQ domain if the controller is
  *                     interrupt-capable
  * @reg_mask_xlate:     (Optional) Translates base address and GPIO