diff options
Diffstat (limited to 'drivers/gpio/gpio-da9052.c')
| -rw-r--r-- | drivers/gpio/gpio-da9052.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/gpio/gpio-da9052.c b/drivers/gpio/gpio-da9052.c index 24b8c297404..416cdf786b0 100644 --- a/drivers/gpio/gpio-da9052.c +++ b/drivers/gpio/gpio-da9052.c @@ -185,10 +185,14 @@ static int da9052_gpio_to_irq(struct gpio_chip *gc, u32 offset) struct da9052_gpio *gpio = to_da9052_gpio(gc); struct da9052 *da9052 = gpio->da9052; - return da9052->irq_base + DA9052_IRQ_GPI0 + offset; + int irq; + + irq = regmap_irq_get_virq(da9052->irq_data, DA9052_IRQ_GPI0 + offset); + + return irq; } -static struct gpio_chip reference_gp __devinitdata = { +static struct gpio_chip reference_gp = { .label = "da9052-gpio", .owner = THIS_MODULE, .get = da9052_gpio_get, @@ -196,12 +200,12 @@ static struct gpio_chip reference_gp __devinitdata = { .direction_input = da9052_gpio_direction_input, .direction_output = da9052_gpio_direction_output, .to_irq = da9052_gpio_to_irq, - .can_sleep = 1, + .can_sleep = true, .ngpio = 16, .base = -1, }; -static int __devinit da9052_gpio_probe(struct platform_device *pdev) +static int da9052_gpio_probe(struct platform_device *pdev) { struct da9052_gpio *gpio; struct da9052_pdata *pdata; @@ -212,7 +216,7 @@ static int __devinit da9052_gpio_probe(struct platform_device *pdev) return -ENOMEM; gpio->da9052 = dev_get_drvdata(pdev->dev.parent); - pdata = gpio->da9052->dev->platform_data; + pdata = dev_get_platdata(gpio->da9052->dev); gpio->gp = reference_gp; if (pdata && pdata->gpio_base) @@ -229,7 +233,7 @@ static int __devinit da9052_gpio_probe(struct platform_device *pdev) return 0; } -static int __devexit da9052_gpio_remove(struct platform_device *pdev) +static int da9052_gpio_remove(struct platform_device *pdev) { struct da9052_gpio *gpio = platform_get_drvdata(pdev); @@ -238,7 +242,7 @@ static int __devexit da9052_gpio_remove(struct platform_device *pdev) static struct platform_driver da9052_gpio_driver = { .probe = da9052_gpio_probe, - .remove = __devexit_p(da9052_gpio_remove), + .remove = da9052_gpio_remove, .driver = { .name = "da9052-gpio", .owner = THIS_MODULE, |
