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>
This commit is contained in:
David Brownell 2008-12-07 19:10:58 +01:00 committed by Samuel Ortiz
parent dad759ff8b
commit b73eac7871
2 changed files with 1 additions and 11 deletions

View File

@ -433,7 +433,7 @@ add_regulator_linked(int num, struct regulator_init_data *pdata,
if (!pdata)
return NULL;
if (consumers && !pdata->consumer_supplies) {
if (consumers) {
pdata->consumer_supplies = consumers;
pdata->num_consumer_supplies = num_consumers;
}
@ -556,9 +556,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
static struct regulator_consumer_supply usb3v1 = {
.supply = "usb3v1",
};
static struct regulator_consumer_supply usbcp = {
.supply = "usbcp",
};
/* this is a template that gets copied */
struct regulator_init_data usb_fixed = {
@ -573,7 +570,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
usb1v5.dev = usb_transceiver;
usb1v8.dev = usb_transceiver;
usb3v1.dev = usb_transceiver;
usbcp.dev = usb_transceiver;
child = add_regulator_linked(TWL4030_REG_VUSB1V5, &usb_fixed,
&usb1v5, 1);
@ -589,11 +585,6 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
&usb3v1, 1);
if (IS_ERR(child))
return PTR_ERR(child);
child = add_regulator_linked(TWL4030_REG_VUSBCP, &usb_fixed,
&usbcp, 1);
if (IS_ERR(child))
return PTR_ERR(child);
}
/* maybe add LDOs that are omitted on cost-reduced parts */

View File

@ -354,6 +354,5 @@ int twl4030_set_gpio_debounce(int gpio, int enable);
#define TWL4030_REG_VUSB1V5 17
#define TWL4030_REG_VUSB1V8 18
#define TWL4030_REG_VUSB3V1 19
#define TWL4030_REG_VUSBCP 20
#endif /* End of __TWL4030_H */