]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpio: gpio-vf610: use u32 mask to handle 32 number gpios
authorHaibo Chen <haibo.chen@nxp.com>
Thu, 1 Aug 2024 09:30:27 +0000 (17:30 +0800)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 5 Aug 2024 09:49:54 +0000 (11:49 +0200)
This gpio controller support up to 32 pins per port. And all the
register width is 32 bit. So here use u32 to replace the original
unsigned long.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20240801093028.732338-2-haibo.chen@nxp.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpio-vf610.c

index 07e5e6323e86ad32960904834ccec06d23e3648e..db68d85415970ac3b8d1278671b4a2a2e0c6610b 100644 (file)
@@ -97,7 +97,7 @@ static inline u32 vf610_gpio_readl(void __iomem *reg)
 static int vf610_gpio_get(struct gpio_chip *gc, unsigned int gpio)
 {
        struct vf610_gpio_port *port = gpiochip_get_data(gc);
-       unsigned long mask = BIT(gpio);
+       u32 mask = BIT(gpio);
        unsigned long offset = GPIO_PDIR;
 
        if (port->sdata->have_paddr) {
@@ -112,16 +112,16 @@ static int vf610_gpio_get(struct gpio_chip *gc, unsigned int gpio)
 static void vf610_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
 {
        struct vf610_gpio_port *port = gpiochip_get_data(gc);
-       unsigned long mask = BIT(gpio);
+       u32 mask = BIT(gpio);
        unsigned long offset = val ? GPIO_PSOR : GPIO_PCOR;
 
        vf610_gpio_writel(mask, port->gpio_base + offset);
 }
 
-static int vf610_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
+static int vf610_gpio_direction_input(struct gpio_chip *chip, unsigned int gpio)
 {
        struct vf610_gpio_port *port = gpiochip_get_data(chip);
-       unsigned long mask = BIT(gpio);
+       u32 mask = BIT(gpio);
        u32 val;
 
        if (port->sdata->have_paddr) {
@@ -133,11 +133,11 @@ static int vf610_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
        return pinctrl_gpio_direction_input(chip, gpio);
 }
 
-static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
+static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned int gpio,
                                       int value)
 {
        struct vf610_gpio_port *port = gpiochip_get_data(chip);
-       unsigned long mask = BIT(gpio);
+       u32 mask = BIT(gpio);
        u32 val;
 
        vf610_gpio_set(chip, gpio, value);