summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2008-12-07 19:10:58 +0100
committerSamuel Ortiz <samuel@sortiz.org>2009-01-04 12:17:40 +0100
commitb73eac7871d002835be17d4602cced2c15c0db4b (patch)
tree0d664f8baf38f20eb8557ad6148377a1eef21899
parentdad759ff8ba79927766e3f0159bfc5fb6de0f982 (diff)
downloadlwn-b73eac7871d002835be17d4602cced2c15c0db4b.tar.gz
lwn-b73eac7871d002835be17d4602cced2c15c0db4b.zip
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>
-rw-r--r--drivers/mfd/twl4030-core.c11
-rw-r--r--include/linux/i2c/twl4030.h1
2 files changed, 1 insertions, 11 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,
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 */
diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h
index e06555d40d35..a8f84c01f82e 100644
--- a/include/linux/i2c/twl4030.h
+++ b/include/linux/i2c/twl4030.h
@@ -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 */