]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
mfd: twl4030 regulator bug fixes
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 7 Dec 2008 18:10:58 +0000 (19:10 +0100)
committerSamuel Ortiz <samuel@sortiz.org>
Sun, 4 Jan 2009 11:17:40 +0000 (12:17 +0100)
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>
drivers/mfd/twl4030-core.c
include/linux/i2c/twl4030.h

index 8ab9ee8543a63a5bafa0ccf8eb45ab4c8bb5a567..fdfbd313ae0966e63000e132e19025ab732a5beb 100644 (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 */
index e06555d40d35f8a99b697b7c73a461bd80f7f5c9..a8f84c01f82ec03f8419a2bffa95e33daea9424a 100644 (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 */