Commit 3e7ebf27 authored by Haibo Chen's avatar Haibo Chen Committed by Bartosz Golaszewski

gpio: gpio-vf610: use u32 mask to handle 32 number gpios

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: default avatarHaibo Chen <haibo.chen@nxp.com>
Reviewed-by: default avatarStefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20240801093028.732338-2-haibo.chen@nxp.comSigned-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent b034a90b
...@@ -97,7 +97,7 @@ static inline u32 vf610_gpio_readl(void __iomem *reg) ...@@ -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) static int vf610_gpio_get(struct gpio_chip *gc, unsigned int gpio)
{ {
struct vf610_gpio_port *port = gpiochip_get_data(gc); struct vf610_gpio_port *port = gpiochip_get_data(gc);
unsigned long mask = BIT(gpio); u32 mask = BIT(gpio);
unsigned long offset = GPIO_PDIR; unsigned long offset = GPIO_PDIR;
if (port->sdata->have_paddr) { if (port->sdata->have_paddr) {
...@@ -112,16 +112,16 @@ static int vf610_gpio_get(struct gpio_chip *gc, unsigned int gpio) ...@@ -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) static void vf610_gpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
{ {
struct vf610_gpio_port *port = gpiochip_get_data(gc); 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; unsigned long offset = val ? GPIO_PSOR : GPIO_PCOR;
vf610_gpio_writel(mask, port->gpio_base + offset); 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); struct vf610_gpio_port *port = gpiochip_get_data(chip);
unsigned long mask = BIT(gpio); u32 mask = BIT(gpio);
u32 val; u32 val;
if (port->sdata->have_paddr) { if (port->sdata->have_paddr) {
...@@ -133,11 +133,11 @@ static int vf610_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) ...@@ -133,11 +133,11 @@ static int vf610_gpio_direction_input(struct gpio_chip *chip, unsigned gpio)
return pinctrl_gpio_direction_input(chip, 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) int value)
{ {
struct vf610_gpio_port *port = gpiochip_get_data(chip); struct vf610_gpio_port *port = gpiochip_get_data(chip);
unsigned long mask = BIT(gpio); u32 mask = BIT(gpio);
u32 val; u32 val;
vf610_gpio_set(chip, gpio, value); vf610_gpio_set(chip, gpio, value);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment