aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl-baytrail.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2014-03-14 13:16:20 -0400
committerLinus Walleij <linus.walleij@linaro.org>2014-03-18 04:28:30 -0400
commit57ef04288abd27a717287a652d324f95cb77c3c6 (patch)
tree2cb5e15f0325e6860b008da5997e5f63d4cf6171 /drivers/pinctrl/pinctrl-baytrail.c
parent1d4a2166f9501fd5b564b33414a2aa9c493fdfb8 (diff)
gpio: switch drivers to use new callback
This switches all GPIO and pin control drivers with irqchips that were using .startup() and .shutdown() callbacks to lock GPIO lines for IRQ usage over to using the .request_resources() and .release_resources() callbacks just introduced into the irqchip vtable. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jean-Jacques Hiblot <jjhiblot@traphandler.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinctrl-baytrail.c')
-rw-r--r--drivers/pinctrl/pinctrl-baytrail.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
index 665b96bc0c3a..9a4abd9cc878 100644
--- a/drivers/pinctrl/pinctrl-baytrail.c
+++ b/drivers/pinctrl/pinctrl-baytrail.c
@@ -371,23 +371,23 @@ static void byt_irq_mask(struct irq_data *d)
371{ 371{
372} 372}
373 373
374static unsigned int byt_irq_startup(struct irq_data *d) 374static int byt_irq_reqres(struct irq_data *d)
375{ 375{
376 struct byt_gpio *vg = irq_data_get_irq_chip_data(d); 376 struct byt_gpio *vg = irq_data_get_irq_chip_data(d);
377 377
378 if (gpio_lock_as_irq(&vg->chip, irqd_to_hwirq(d))) 378 if (gpio_lock_as_irq(&vg->chip, irqd_to_hwirq(d))) {
379 dev_err(vg->chip.dev, 379 dev_err(vg->chip.dev,
380 "unable to lock HW IRQ %lu for IRQ\n", 380 "unable to lock HW IRQ %lu for IRQ\n",
381 irqd_to_hwirq(d)); 381 irqd_to_hwirq(d));
382 byt_irq_unmask(d); 382 return -EINVAL;
383 }
383 return 0; 384 return 0;
384} 385}
385 386
386static void byt_irq_shutdown(struct irq_data *d) 387static void byt_irq_relres(struct irq_data *d)
387{ 388{
388 struct byt_gpio *vg = irq_data_get_irq_chip_data(d); 389 struct byt_gpio *vg = irq_data_get_irq_chip_data(d);
389 390
390 byt_irq_mask(d);
391 gpio_unlock_as_irq(&vg->chip, irqd_to_hwirq(d)); 391 gpio_unlock_as_irq(&vg->chip, irqd_to_hwirq(d));
392} 392}
393 393
@@ -396,8 +396,8 @@ static struct irq_chip byt_irqchip = {
396 .irq_mask = byt_irq_mask, 396 .irq_mask = byt_irq_mask,
397 .irq_unmask = byt_irq_unmask, 397 .irq_unmask = byt_irq_unmask,
398 .irq_set_type = byt_irq_type, 398 .irq_set_type = byt_irq_type,
399 .irq_startup = byt_irq_startup, 399 .irq_request_resources = byt_irq_reqres,
400 .irq_shutdown = byt_irq_shutdown, 400 .irq_release_resources = byt_irq_relres,
401}; 401};
402 402
403static void byt_gpio_irq_init_hw(struct byt_gpio *vg) 403static void byt_gpio_irq_init_hw(struct byt_gpio *vg)