Commit 826de2ea authored by David Brownell's avatar David Brownell Committed by Tony Lindgren

twl4030 usb regulator support tweaks

This contains two bugfixes to the initial twl4030 regulator
support patch related to USB:

 (a) always overwrite the old list of consumers ... else
     the regulators all share 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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent b0e5d475
......@@ -441,7 +441,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;
}
......@@ -564,9 +564,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 = {
......@@ -581,7 +578,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);
......@@ -597,11 +593,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 */
......
......@@ -391,7 +391,7 @@ static struct twlreg_info twl4030_regs[] = {
TWL_FIXED_LDO(VUSB1V5, 0x71, 1500, 17),
TWL_FIXED_LDO(VUSB1V8, 0x74, 1800, 18),
TWL_FIXED_LDO(VUSB3V1, 0x77, 3100, 19),
TWL_FIXED_LDO(VUSBCP, 0x7a, 4800, 21),
/* VUSBCP is managed *only* by the USB subchip */
};
static int twl4030reg_probe(struct platform_device *pdev)
......
......@@ -417,6 +417,5 @@ int twl4030_sih_setup(int module);
#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 */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment