aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2008-12-07 13:10:58 -0500
committerSamuel Ortiz <samuel@sortiz.org>2009-01-04 06:17:40 -0500
commitb73eac7871d002835be17d4602cced2c15c0db4b (patch)
tree0d664f8baf38f20eb8557ad6148377a1eef21899 /drivers/mfd
parentdad759ff8ba79927766e3f0159bfc5fb6de0f982 (diff)
mfd: twl4030 regulator bug fixes
This contains two bugfixes to the initial twl4030 regulator support patch related to USB: (a) always overwrite the old list of consumers ... else the regulator handles all use the same "usb1v5" name; (b) don't set up the "usbcp" regulator, which turns out to be managed through separate controls, usually ULPI directly from the OTG controller. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/twl4030-core.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
index 8ab9ee8543a6..fdfbd313ae09 100644
--- a/drivers/mfd/twl4030-core.c
+++ b/drivers/mfd/twl4030-core.c
@@ -433,7 +433,7 @@ add_regulator_linked(int num, struct regulator_init_data *pdata,
433 if (!pdata) 433 if (!pdata)
434 return NULL; 434 return NULL;
435 435
436 if (consumers && !pdata->consumer_supplies) { 436 if (consumers) {
437 pdata->consumer_supplies = consumers; 437 pdata->consumer_supplies = consumers;
438 pdata->num_consumer_supplies = num_consumers; 438 pdata->num_consumer_supplies = num_consumers;
439 } 439 }
@@ -556,9 +556,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
556 static struct regulator_consumer_supply usb3v1 = { 556 static struct regulator_consumer_supply usb3v1 = {
557 .supply = "usb3v1", 557 .supply = "usb3v1",
558 }; 558 };
559 static struct regulator_consumer_supply usbcp = {
560 .supply = "usbcp",
561 };
562 559
563 /* this is a template that gets copied */ 560 /* this is a template that gets copied */
564 struct regulator_init_data usb_fixed = { 561 struct regulator_init_data usb_fixed = {
@@ -573,7 +570,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
573 usb1v5.dev = usb_transceiver; 570 usb1v5.dev = usb_transceiver;
574 usb1v8.dev = usb_transceiver; 571 usb1v8.dev = usb_transceiver;
575 usb3v1.dev = usb_transceiver; 572 usb3v1.dev = usb_transceiver;
576 usbcp.dev = usb_transceiver;
577 573
578 child = add_regulator_linked(TWL4030_REG_VUSB1V5, &usb_fixed, 574 child = add_regulator_linked(TWL4030_REG_VUSB1V5, &usb_fixed,
579 &usb1v5, 1); 575 &usb1v5, 1);
@@ -589,11 +585,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
589 &usb3v1, 1); 585 &usb3v1, 1);
590 if (IS_ERR(child)) 586 if (IS_ERR(child))
591 return PTR_ERR(child); 587 return PTR_ERR(child);
592
593 child = add_regulator_linked(TWL4030_REG_VUSBCP, &usb_fixed,
594 &usbcp, 1);
595 if (IS_ERR(child))
596 return PTR_ERR(child);
597 } 588 }
598 589
599 /* maybe add LDOs that are omitted on cost-reduced parts */ 590 /* maybe add LDOs that are omitted on cost-reduced parts */