platform: x86: intel-pmic: use gpiochip data pointer
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 8 Dec 2015 21:54:20 +0000 (22:54 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 26 Apr 2016 13:34:41 +0000 (15:34 +0200)
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 Tang <feng.tang@intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/platform/x86/intel_pmic_gpio.c

index 0e73fd1..63b371d 100644 (file)
@@ -30,7 +30,7 @@
 #include <linux/ioport.h>
 #include <linux/init.h>
 #include <linux/io.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
 #include <asm/intel_scu_ipc.h>
 #include <linux/device.h>
 #include <linux/intel_pmic_gpio.h>
@@ -174,7 +174,7 @@ static int pmic_irq_type(struct irq_data *data, unsigned type)
 
 static int pmic_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
 {
-       struct pmic_gpio *pg = container_of(chip, struct pmic_gpio, chip);
+       struct pmic_gpio *pg = gpiochip_get_data(chip);
 
        return pg->irq_base + offset;
 }
@@ -279,7 +279,7 @@ static int platform_pmic_gpio_probe(struct platform_device *pdev)
        mutex_init(&pg->buslock);
 
        pg->chip.parent = dev;
-       retval = gpiochip_add(&pg->chip);
+       retval = gpiochip_add_data(&pg->chip, pg);
        if (retval) {
                pr_err("Can not add pmic gpio chip\n");
                goto err;