diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-12-07 03:03:09 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2016-01-05 05:21:06 -0500 |
commit | 0a38fd94c20e6636c22630200a9cece122a89f0e (patch) | |
tree | 7ea5e7ef43d8e1e89809904b8fee2ba064811767 | |
parent | 5c77c0212b97693219ead6dcddf7e036421012d7 (diff) |
gpio: it87: 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: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/gpio/gpio-it87.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/gpio/gpio-it87.c b/drivers/gpio/gpio-it87.c index 21f6f7c0eb34..b219c82414bf 100644 --- a/drivers/gpio/gpio-it87.c +++ b/drivers/gpio/gpio-it87.c | |||
@@ -77,11 +77,6 @@ static struct it87_gpio it87_gpio_chip = { | |||
77 | .lock = __SPIN_LOCK_UNLOCKED(it87_gpio_chip.lock), | 77 | .lock = __SPIN_LOCK_UNLOCKED(it87_gpio_chip.lock), |
78 | }; | 78 | }; |
79 | 79 | ||
80 | static inline struct it87_gpio *to_it87_gpio(struct gpio_chip *chip) | ||
81 | { | ||
82 | return container_of(chip, struct it87_gpio, chip); | ||
83 | } | ||
84 | |||
85 | /* Superio chip access functions; copied from wdt_it87 */ | 80 | /* Superio chip access functions; copied from wdt_it87 */ |
86 | 81 | ||
87 | static inline int superio_enter(void) | 82 | static inline int superio_enter(void) |
@@ -165,7 +160,7 @@ static int it87_gpio_request(struct gpio_chip *chip, unsigned gpio_num) | |||
165 | { | 160 | { |
166 | u8 mask, group; | 161 | u8 mask, group; |
167 | int rc = 0; | 162 | int rc = 0; |
168 | struct it87_gpio *it87_gpio = to_it87_gpio(chip); | 163 | struct it87_gpio *it87_gpio = gpiochip_get_data(chip); |
169 | 164 | ||
170 | mask = 1 << (gpio_num % 8); | 165 | mask = 1 << (gpio_num % 8); |
171 | group = (gpio_num / 8); | 166 | group = (gpio_num / 8); |
@@ -198,7 +193,7 @@ static int it87_gpio_get(struct gpio_chip *chip, unsigned gpio_num) | |||
198 | { | 193 | { |
199 | u16 reg; | 194 | u16 reg; |
200 | u8 mask; | 195 | u8 mask; |
201 | struct it87_gpio *it87_gpio = to_it87_gpio(chip); | 196 | struct it87_gpio *it87_gpio = gpiochip_get_data(chip); |
202 | 197 | ||
203 | mask = 1 << (gpio_num % 8); | 198 | mask = 1 << (gpio_num % 8); |
204 | reg = (gpio_num / 8) + it87_gpio->io_base; | 199 | reg = (gpio_num / 8) + it87_gpio->io_base; |
@@ -210,7 +205,7 @@ static int it87_gpio_direction_in(struct gpio_chip *chip, unsigned gpio_num) | |||
210 | { | 205 | { |
211 | u8 mask, group; | 206 | u8 mask, group; |
212 | int rc = 0; | 207 | int rc = 0; |
213 | struct it87_gpio *it87_gpio = to_it87_gpio(chip); | 208 | struct it87_gpio *it87_gpio = gpiochip_get_data(chip); |
214 | 209 | ||
215 | mask = 1 << (gpio_num % 8); | 210 | mask = 1 << (gpio_num % 8); |
216 | group = (gpio_num / 8); | 211 | group = (gpio_num / 8); |
@@ -236,7 +231,7 @@ static void it87_gpio_set(struct gpio_chip *chip, | |||
236 | { | 231 | { |
237 | u8 mask, curr_vals; | 232 | u8 mask, curr_vals; |
238 | u16 reg; | 233 | u16 reg; |
239 | struct it87_gpio *it87_gpio = to_it87_gpio(chip); | 234 | struct it87_gpio *it87_gpio = gpiochip_get_data(chip); |
240 | 235 | ||
241 | mask = 1 << (gpio_num % 8); | 236 | mask = 1 << (gpio_num % 8); |
242 | reg = (gpio_num / 8) + it87_gpio->io_base; | 237 | reg = (gpio_num / 8) + it87_gpio->io_base; |
@@ -253,7 +248,7 @@ static int it87_gpio_direction_out(struct gpio_chip *chip, | |||
253 | { | 248 | { |
254 | u8 mask, group; | 249 | u8 mask, group; |
255 | int rc = 0; | 250 | int rc = 0; |
256 | struct it87_gpio *it87_gpio = to_it87_gpio(chip); | 251 | struct it87_gpio *it87_gpio = gpiochip_get_data(chip); |
257 | 252 | ||
258 | mask = 1 << (gpio_num % 8); | 253 | mask = 1 << (gpio_num % 8); |
259 | group = (gpio_num / 8); | 254 | group = (gpio_num / 8); |
@@ -380,7 +375,7 @@ static int __init it87_gpio_init(void) | |||
380 | 375 | ||
381 | it87_gpio->chip.names = (const char *const*)labels_table; | 376 | it87_gpio->chip.names = (const char *const*)labels_table; |
382 | 377 | ||
383 | rc = gpiochip_add(&it87_gpio->chip); | 378 | rc = gpiochip_add_data(&it87_gpio->chip, it87_gpio); |
384 | if (rc) | 379 | if (rc) |
385 | goto labels_free; | 380 | goto labels_free; |
386 | 381 | ||