* [PATCH 082/182] gpio: xgene: use gpiochip data pointer
@ 2015-12-09 13:28 Linus Walleij
0 siblings, 0 replies; only message in thread
From: Linus Walleij @ 2015-12-09 13:28 UTC (permalink / raw)
To: linux-gpio, Johan Hovold, Alexandre Courbot, Michael Welling,
Markus Pargmann
Cc: Linus Walleij, Feng Kan
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: Feng Kan <fkan@apm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/gpio/gpio-xgene.c | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
index b8ceb71885f6..592e9cdf9c53 100644
--- a/drivers/gpio/gpio-xgene.c
+++ b/drivers/gpio/gpio-xgene.c
@@ -47,14 +47,9 @@ struct xgene_gpio {
#endif
};
-static inline struct xgene_gpio *to_xgene_gpio(struct gpio_chip *chip)
-{
- return container_of(chip, struct xgene_gpio, chip);
-}
-
static int xgene_gpio_get(struct gpio_chip *gc, unsigned int offset)
{
- struct xgene_gpio *chip = to_xgene_gpio(gc);
+ struct xgene_gpio *chip = gpiochip_get_data(gc);
unsigned long bank_offset;
u32 bit_offset;
@@ -65,7 +60,7 @@ static int xgene_gpio_get(struct gpio_chip *gc, unsigned int offset)
static void __xgene_gpio_set(struct gpio_chip *gc, unsigned int offset, int val)
{
- struct xgene_gpio *chip = to_xgene_gpio(gc);
+ struct xgene_gpio *chip = gpiochip_get_data(gc);
unsigned long bank_offset;
u32 setval, bit_offset;
@@ -82,7 +77,7 @@ static void __xgene_gpio_set(struct gpio_chip *gc, unsigned int offset, int val)
static void xgene_gpio_set(struct gpio_chip *gc, unsigned int offset, int val)
{
- struct xgene_gpio *chip = to_xgene_gpio(gc);
+ struct xgene_gpio *chip = gpiochip_get_data(gc);
unsigned long flags;
spin_lock_irqsave(&chip->lock, flags);
@@ -92,7 +87,7 @@ static void xgene_gpio_set(struct gpio_chip *gc, unsigned int offset, int val)
static int xgene_gpio_dir_in(struct gpio_chip *gc, unsigned int offset)
{
- struct xgene_gpio *chip = to_xgene_gpio(gc);
+ struct xgene_gpio *chip = gpiochip_get_data(gc);
unsigned long flags, bank_offset;
u32 dirval, bit_offset;
@@ -113,7 +108,7 @@ static int xgene_gpio_dir_in(struct gpio_chip *gc, unsigned int offset)
static int xgene_gpio_dir_out(struct gpio_chip *gc,
unsigned int offset, int val)
{
- struct xgene_gpio *chip = to_xgene_gpio(gc);
+ struct xgene_gpio *chip = gpiochip_get_data(gc);
unsigned long flags, bank_offset;
u32 dirval, bit_offset;
@@ -198,7 +193,7 @@ static int xgene_gpio_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, gpio);
- err = gpiochip_add(&gpio->chip);
+ err = gpiochip_add_data(&gpio->chip, gpio);
if (err) {
dev_err(&pdev->dev,
"failed to register gpiochip.\n");
--
2.4.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-12-09 13:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-09 13:28 [PATCH 082/182] gpio: xgene: use gpiochip data pointer Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).