aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-10 13:27:40 -0500
committerAnton Vorontsov <cbouatmailru@gmail.com>2010-04-06 12:51:09 -0400
commitb5874f33bbaf00586d05de37706491ee37057e11 (patch)
treec2859541a3821f523c030fa510d6b10ab14b5e29 /drivers
parente3e8d1c93f9e6b766424b05f23f2416f22a0329d (diff)
wm831x_power: Use genirq
Since the WM831x core has been converted to use genirq for the interrupt controller there is no longer any need for chip specific wrappers for IRQ operations. Convert to use genirq directly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/power/wm831x_power.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/drivers/power/wm831x_power.c b/drivers/power/wm831x_power.c
index f85e80b1b400..bf2ff4132478 100644
--- a/drivers/power/wm831x_power.c
+++ b/drivers/power/wm831x_power.c
@@ -536,9 +536,9 @@ static __devinit int wm831x_power_probe(struct platform_device *pdev)
536 goto err_battery; 536 goto err_battery;
537 537
538 irq = platform_get_irq_byname(pdev, "SYSLO"); 538 irq = platform_get_irq_byname(pdev, "SYSLO");
539 ret = wm831x_request_irq(wm831x, irq, wm831x_syslo_irq, 539 ret = request_threaded_irq(irq, NULL, wm831x_syslo_irq,
540 IRQF_TRIGGER_RISING, "SYSLO", 540 IRQF_TRIGGER_RISING, "System power low",
541 power); 541 power);
542 if (ret != 0) { 542 if (ret != 0) {
543 dev_err(&pdev->dev, "Failed to request SYSLO IRQ %d: %d\n", 543 dev_err(&pdev->dev, "Failed to request SYSLO IRQ %d: %d\n",
544 irq, ret); 544 irq, ret);
@@ -546,9 +546,9 @@ static __devinit int wm831x_power_probe(struct platform_device *pdev)
546 } 546 }
547 547
548 irq = platform_get_irq_byname(pdev, "PWR SRC"); 548 irq = platform_get_irq_byname(pdev, "PWR SRC");
549 ret = wm831x_request_irq(wm831x, irq, wm831x_pwr_src_irq, 549 ret = request_threaded_irq(irq, NULL, wm831x_pwr_src_irq,
550 IRQF_TRIGGER_RISING, "Power source", 550 IRQF_TRIGGER_RISING, "Power source",
551 power); 551 power);
552 if (ret != 0) { 552 if (ret != 0) {
553 dev_err(&pdev->dev, "Failed to request PWR SRC IRQ %d: %d\n", 553 dev_err(&pdev->dev, "Failed to request PWR SRC IRQ %d: %d\n",
554 irq, ret); 554 irq, ret);
@@ -557,10 +557,10 @@ static __devinit int wm831x_power_probe(struct platform_device *pdev)
557 557
558 for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) { 558 for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) {
559 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]); 559 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
560 ret = wm831x_request_irq(wm831x, irq, wm831x_bat_irq, 560 ret = request_threaded_irq(irq, NULL, wm831x_bat_irq,
561 IRQF_TRIGGER_RISING, 561 IRQF_TRIGGER_RISING,
562 wm831x_bat_irqs[i], 562 wm831x_bat_irqs[i],
563 power); 563 power);
564 if (ret != 0) { 564 if (ret != 0) {
565 dev_err(&pdev->dev, 565 dev_err(&pdev->dev,
566 "Failed to request %s IRQ %d: %d\n", 566 "Failed to request %s IRQ %d: %d\n",
@@ -574,13 +574,13 @@ static __devinit int wm831x_power_probe(struct platform_device *pdev)
574err_bat_irq: 574err_bat_irq:
575 for (; i >= 0; i--) { 575 for (; i >= 0; i--) {
576 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]); 576 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
577 wm831x_free_irq(wm831x, irq, power); 577 free_irq(irq, power);
578 } 578 }
579 irq = platform_get_irq_byname(pdev, "PWR SRC"); 579 irq = platform_get_irq_byname(pdev, "PWR SRC");
580 wm831x_free_irq(wm831x, irq, power); 580 free_irq(irq, power);
581err_syslo: 581err_syslo:
582 irq = platform_get_irq_byname(pdev, "SYSLO"); 582 irq = platform_get_irq_byname(pdev, "SYSLO");
583 wm831x_free_irq(wm831x, irq, power); 583 free_irq(irq, power);
584err_usb: 584err_usb:
585 power_supply_unregister(usb); 585 power_supply_unregister(usb);
586err_battery: 586err_battery:
@@ -595,19 +595,18 @@ err_kmalloc:
595static __devexit int wm831x_power_remove(struct platform_device *pdev) 595static __devexit int wm831x_power_remove(struct platform_device *pdev)
596{ 596{
597 struct wm831x_power *wm831x_power = platform_get_drvdata(pdev); 597 struct wm831x_power *wm831x_power = platform_get_drvdata(pdev);
598 struct wm831x *wm831x = wm831x_power->wm831x;
599 int irq, i; 598 int irq, i;
600 599
601 for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) { 600 for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) {
602 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]); 601 irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
603 wm831x_free_irq(wm831x, irq, wm831x_power); 602 free_irq(irq, wm831x_power);
604 } 603 }
605 604
606 irq = platform_get_irq_byname(pdev, "PWR SRC"); 605 irq = platform_get_irq_byname(pdev, "PWR SRC");
607 wm831x_free_irq(wm831x, irq, wm831x_power); 606 free_irq(irq, wm831x_power);
608 607
609 irq = platform_get_irq_byname(pdev, "SYSLO"); 608 irq = platform_get_irq_byname(pdev, "SYSLO");
610 wm831x_free_irq(wm831x, irq, wm831x_power); 609 free_irq(irq, wm831x_power);
611 610
612 power_supply_unregister(&wm831x_power->battery); 611 power_supply_unregister(&wm831x_power->battery);
613 power_supply_unregister(&wm831x_power->wall); 612 power_supply_unregister(&wm831x_power->wall);