diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-12-08 17:20:57 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-01-06 18:02:34 -0500 |
commit | 11680af7c8579fc37ac34bf16cb5ea49435054a4 (patch) | |
tree | ee300e2c7650fe4c83e792bf1b107764fdf26609 | |
parent | 166814d8413df49bf21293aacc808b2782cbd9a8 (diff) |
video: fbdev: via: 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: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/video/fbdev/via/via-gpio.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/video/fbdev/via/via-gpio.c b/drivers/video/fbdev/via/via-gpio.c index 3d3544036bc1..1e89c3434071 100644 --- a/drivers/video/fbdev/via/via-gpio.c +++ b/drivers/video/fbdev/via/via-gpio.c | |||
@@ -6,7 +6,7 @@ | |||
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <linux/spinlock.h> | 8 | #include <linux/spinlock.h> |
9 | #include <linux/gpio.h> | 9 | #include <linux/gpio/driver.h> |
10 | #include <linux/platform_device.h> | 10 | #include <linux/platform_device.h> |
11 | #include <linux/via-core.h> | 11 | #include <linux/via-core.h> |
12 | #include <linux/via-gpio.h> | 12 | #include <linux/via-gpio.h> |
@@ -83,9 +83,7 @@ struct viafb_gpio_cfg { | |||
83 | static void via_gpio_set(struct gpio_chip *chip, unsigned int nr, | 83 | static void via_gpio_set(struct gpio_chip *chip, unsigned int nr, |
84 | int value) | 84 | int value) |
85 | { | 85 | { |
86 | struct viafb_gpio_cfg *cfg = container_of(chip, | 86 | struct viafb_gpio_cfg *cfg = gpiochip_get_data(chip); |
87 | struct viafb_gpio_cfg, | ||
88 | gpio_chip); | ||
89 | u8 reg; | 87 | u8 reg; |
90 | struct viafb_gpio *gpio; | 88 | struct viafb_gpio *gpio; |
91 | unsigned long flags; | 89 | unsigned long flags; |
@@ -115,9 +113,7 @@ static int via_gpio_dir_out(struct gpio_chip *chip, unsigned int nr, | |||
115 | */ | 113 | */ |
116 | static int via_gpio_dir_input(struct gpio_chip *chip, unsigned int nr) | 114 | static int via_gpio_dir_input(struct gpio_chip *chip, unsigned int nr) |
117 | { | 115 | { |
118 | struct viafb_gpio_cfg *cfg = container_of(chip, | 116 | struct viafb_gpio_cfg *cfg = gpiochip_get_data(chip); |
119 | struct viafb_gpio_cfg, | ||
120 | gpio_chip); | ||
121 | struct viafb_gpio *gpio; | 117 | struct viafb_gpio *gpio; |
122 | unsigned long flags; | 118 | unsigned long flags; |
123 | 119 | ||
@@ -131,9 +127,7 @@ static int via_gpio_dir_input(struct gpio_chip *chip, unsigned int nr) | |||
131 | 127 | ||
132 | static int via_gpio_get(struct gpio_chip *chip, unsigned int nr) | 128 | static int via_gpio_get(struct gpio_chip *chip, unsigned int nr) |
133 | { | 129 | { |
134 | struct viafb_gpio_cfg *cfg = container_of(chip, | 130 | struct viafb_gpio_cfg *cfg = gpiochip_get_data(chip); |
135 | struct viafb_gpio_cfg, | ||
136 | gpio_chip); | ||
137 | u8 reg; | 131 | u8 reg; |
138 | struct viafb_gpio *gpio; | 132 | struct viafb_gpio *gpio; |
139 | unsigned long flags; | 133 | unsigned long flags; |
@@ -255,7 +249,8 @@ static int viafb_gpio_probe(struct platform_device *platdev) | |||
255 | * Get registered. | 249 | * Get registered. |
256 | */ | 250 | */ |
257 | viafb_gpio_config.gpio_chip.base = -1; /* Dynamic */ | 251 | viafb_gpio_config.gpio_chip.base = -1; /* Dynamic */ |
258 | ret = gpiochip_add(&viafb_gpio_config.gpio_chip); | 252 | ret = gpiochip_add_data(&viafb_gpio_config.gpio_chip, |
253 | &viafb_gpio_config); | ||
259 | if (ret) { | 254 | if (ret) { |
260 | printk(KERN_ERR "viafb: failed to add gpios (%d)\n", ret); | 255 | printk(KERN_ERR "viafb: failed to add gpios (%d)\n", ret); |
261 | viafb_gpio_config.gpio_chip.ngpio = 0; | 256 | viafb_gpio_config.gpio_chip.ngpio = 0; |