diff options
Diffstat (limited to 'drivers/gpio/timbgpio.c')
| -rw-r--r-- | drivers/gpio/timbgpio.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpio/timbgpio.c b/drivers/gpio/timbgpio.c index edbe1eae531..0265872e57d 100644 --- a/drivers/gpio/timbgpio.c +++ b/drivers/gpio/timbgpio.c @@ -23,7 +23,6 @@  #include <linux/module.h>  #include <linux/gpio.h>  #include <linux/platform_device.h> -#include <linux/mfd/core.h>  #include <linux/irq.h>  #include <linux/io.h>  #include <linux/timb_gpio.h> @@ -229,7 +228,7 @@ static int __devinit timbgpio_probe(struct platform_device *pdev)  	struct gpio_chip *gc;  	struct timbgpio *tgpio;  	struct resource *iomem; -	struct timbgpio_platform_data *pdata = mfd_get_data(pdev); +	struct timbgpio_platform_data *pdata = pdev->dev.platform_data;  	int irq = platform_get_irq(pdev, 0);  	if (!pdata || pdata->nr_pins > 32) { @@ -320,13 +319,14 @@ err_mem:  static int __devexit timbgpio_remove(struct platform_device *pdev)  {  	int err; +	struct timbgpio_platform_data *pdata = pdev->dev.platform_data;  	struct timbgpio *tgpio = platform_get_drvdata(pdev);  	struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);  	int irq = platform_get_irq(pdev, 0);  	if (irq >= 0 && tgpio->irq_base > 0) {  		int i; -		for (i = 0; i < tgpio->gpio.ngpio; i++) { +		for (i = 0; i < pdata->nr_pins; i++) {  			irq_set_chip(tgpio->irq_base + i, NULL);  			irq_set_chip_data(tgpio->irq_base + i, NULL);  		}  |