diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 14:53:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 14:53:11 -0400 |
commit | 4b781474682434e7881f20e9dfbe6687ea619795 (patch) | |
tree | bdd976645ead7f04900e60017502e6a41b03e601 /drivers/regulator/wm831x-dcdc.c | |
parent | 53f2c4a8fd882009a2a75c5b72d6898c0808616e (diff) | |
parent | 29f772d41c01ad6b72c3de705e79779857badcde (diff) |
Merge tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFD changes from Samuel Ortiz:
"Besides the usual cleanups, this one brings:
* Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton,
ST-E's STAX211, Samsung's MAX77693 and TI's LM3533.
* Device tree support for the twl6040, tps65910, da9502 and ab8500
drivers.
* Fairly big tps56910, ab8500 and db8500 updates.
* i2c support for mc13xxx.
* Our regular update for the wm8xxx driver from Mark."
Fix up various conflicts with other trees, largely due to ab5500 removal
etc.
* tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)
mfd: Fix build break of max77693 by adding REGMAP_I2C option
mfd: Fix twl6040 build failure
mfd: Fix max77693 build failure
mfd: ab8500-core should depend on MFD_DB8500_PRCMU
gpio: tps65910: dt: process gpio specific device node info
mfd: Remove the parsing of dt info for tps65910 gpio
mfd: Save device node parsed platform data for tps65910 sub devices
mfd: Add r_select to lm3533 platform data
gpio: Add Intel Centerton support to gpio-sch
mfd: Emulate active low IRQs as well as active high IRQs for wm831x
mfd: Mark two lm3533 zone registers as volatile
mfd: Fix return type of lm533 attribute is_visible
mfd: Enable Device Tree support in the ab8500-pwm driver
mfd: Enable Device Tree support in the ab8500-sysctrl driver
mfd: Add support for Device Tree to twl6040
mfd: Register the twl6040 child for the ASoC codec unconditionally
mfd: Allocate twl6040 IRQ numbers dynamically
mfd: twl6040 code cleanup in interrupt initialization part
mfd: Enable ab8500-gpadc driver for Device Tree
mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
...
Diffstat (limited to 'drivers/regulator/wm831x-dcdc.c')
-rw-r--r-- | drivers/regulator/wm831x-dcdc.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c index a885911bb5fc..099da11e989f 100644 --- a/drivers/regulator/wm831x-dcdc.c +++ b/drivers/regulator/wm831x-dcdc.c | |||
@@ -535,7 +535,7 @@ static __devinit int wm831x_buckv_probe(struct platform_device *pdev) | |||
535 | goto err; | 535 | goto err; |
536 | } | 536 | } |
537 | 537 | ||
538 | irq = platform_get_irq_byname(pdev, "UV"); | 538 | irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); |
539 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, | 539 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, |
540 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); | 540 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); |
541 | if (ret != 0) { | 541 | if (ret != 0) { |
@@ -544,7 +544,7 @@ static __devinit int wm831x_buckv_probe(struct platform_device *pdev) | |||
544 | goto err_regulator; | 544 | goto err_regulator; |
545 | } | 545 | } |
546 | 546 | ||
547 | irq = platform_get_irq_byname(pdev, "HC"); | 547 | irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC")); |
548 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_oc_irq, | 548 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_oc_irq, |
549 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); | 549 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); |
550 | if (ret != 0) { | 550 | if (ret != 0) { |
@@ -558,7 +558,8 @@ static __devinit int wm831x_buckv_probe(struct platform_device *pdev) | |||
558 | return 0; | 558 | return 0; |
559 | 559 | ||
560 | err_uv: | 560 | err_uv: |
561 | free_irq(platform_get_irq_byname(pdev, "UV"), dcdc); | 561 | free_irq(wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")), |
562 | dcdc); | ||
562 | err_regulator: | 563 | err_regulator: |
563 | regulator_unregister(dcdc->regulator); | 564 | regulator_unregister(dcdc->regulator); |
564 | err: | 565 | err: |
@@ -570,11 +571,14 @@ err: | |||
570 | static __devexit int wm831x_buckv_remove(struct platform_device *pdev) | 571 | static __devexit int wm831x_buckv_remove(struct platform_device *pdev) |
571 | { | 572 | { |
572 | struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev); | 573 | struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev); |
574 | struct wm831x *wm831x = dcdc->wm831x; | ||
573 | 575 | ||
574 | platform_set_drvdata(pdev, NULL); | 576 | platform_set_drvdata(pdev, NULL); |
575 | 577 | ||
576 | free_irq(platform_get_irq_byname(pdev, "HC"), dcdc); | 578 | free_irq(wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC")), |
577 | free_irq(platform_get_irq_byname(pdev, "UV"), dcdc); | 579 | dcdc); |
580 | free_irq(wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")), | ||
581 | dcdc); | ||
578 | regulator_unregister(dcdc->regulator); | 582 | regulator_unregister(dcdc->regulator); |
579 | if (dcdc->dvs_gpio) | 583 | if (dcdc->dvs_gpio) |
580 | gpio_free(dcdc->dvs_gpio); | 584 | gpio_free(dcdc->dvs_gpio); |
@@ -726,7 +730,7 @@ static __devinit int wm831x_buckp_probe(struct platform_device *pdev) | |||
726 | goto err; | 730 | goto err; |
727 | } | 731 | } |
728 | 732 | ||
729 | irq = platform_get_irq_byname(pdev, "UV"); | 733 | irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); |
730 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, | 734 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, |
731 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); | 735 | IRQF_TRIGGER_RISING, dcdc->name, dcdc); |
732 | if (ret != 0) { | 736 | if (ret != 0) { |
@@ -751,7 +755,8 @@ static __devexit int wm831x_buckp_remove(struct platform_device *pdev) | |||
751 | 755 | ||
752 | platform_set_drvdata(pdev, NULL); | 756 | platform_set_drvdata(pdev, NULL); |
753 | 757 | ||
754 | free_irq(platform_get_irq_byname(pdev, "UV"), dcdc); | 758 | free_irq(wm831x_irq(dcdc->wm831x, platform_get_irq_byname(pdev, "UV")), |
759 | dcdc); | ||
755 | regulator_unregister(dcdc->regulator); | 760 | regulator_unregister(dcdc->regulator); |
756 | 761 | ||
757 | return 0; | 762 | return 0; |
@@ -859,7 +864,7 @@ static __devinit int wm831x_boostp_probe(struct platform_device *pdev) | |||
859 | goto err; | 864 | goto err; |
860 | } | 865 | } |
861 | 866 | ||
862 | irq = platform_get_irq_byname(pdev, "UV"); | 867 | irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV")); |
863 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, | 868 | ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq, |
864 | IRQF_TRIGGER_RISING, dcdc->name, | 869 | IRQF_TRIGGER_RISING, dcdc->name, |
865 | dcdc); | 870 | dcdc); |
@@ -885,7 +890,8 @@ static __devexit int wm831x_boostp_remove(struct platform_device *pdev) | |||
885 | 890 | ||
886 | platform_set_drvdata(pdev, NULL); | 891 | platform_set_drvdata(pdev, NULL); |
887 | 892 | ||
888 | free_irq(platform_get_irq_byname(pdev, "UV"), dcdc); | 893 | free_irq(wm831x_irq(dcdc->wm831x, platform_get_irq_byname(pdev, "UV")), |
894 | dcdc); | ||
889 | regulator_unregister(dcdc->regulator); | 895 | regulator_unregister(dcdc->regulator); |
890 | 896 | ||
891 | return 0; | 897 | return 0; |