MIPS: rb532: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip to store a pointer to the state container instead of relying on container_of(). Cc: linux-mips@linux-mips.org Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
d98312f774
commit
41f6f8ecb7
@ -32,7 +32,7 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/driver.h>
|
||||
|
||||
#include <asm/mach-rc32434/rb.h>
|
||||
#include <asm/mach-rc32434/gpio.h>
|
||||
@ -88,7 +88,7 @@ static int rb532_gpio_get(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
struct rb532_gpio_chip *gpch;
|
||||
|
||||
gpch = container_of(chip, struct rb532_gpio_chip, chip);
|
||||
gpch = gpiochip_get_data(chip);
|
||||
return !!rb532_get_bit(offset, gpch->regbase + GPIOD);
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ static void rb532_gpio_set(struct gpio_chip *chip,
|
||||
{
|
||||
struct rb532_gpio_chip *gpch;
|
||||
|
||||
gpch = container_of(chip, struct rb532_gpio_chip, chip);
|
||||
gpch = gpiochip_get_data(chip);
|
||||
rb532_set_bit(value, offset, gpch->regbase + GPIOD);
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ static int rb532_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
|
||||
{
|
||||
struct rb532_gpio_chip *gpch;
|
||||
|
||||
gpch = container_of(chip, struct rb532_gpio_chip, chip);
|
||||
gpch = gpiochip_get_data(chip);
|
||||
|
||||
/* disable alternate function in case it's set */
|
||||
rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC);
|
||||
@ -128,7 +128,7 @@ static int rb532_gpio_direction_output(struct gpio_chip *chip,
|
||||
{
|
||||
struct rb532_gpio_chip *gpch;
|
||||
|
||||
gpch = container_of(chip, struct rb532_gpio_chip, chip);
|
||||
gpch = gpiochip_get_data(chip);
|
||||
|
||||
/* disable alternate function in case it's set */
|
||||
rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC);
|
||||
@ -200,7 +200,7 @@ int __init rb532_gpio_init(void)
|
||||
}
|
||||
|
||||
/* Register our GPIO chip */
|
||||
gpiochip_add(&rb532_gpio_chip->chip);
|
||||
gpiochip_add_data(&rb532_gpio_chip->chip, rb532_gpio_chip);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user