(attached)
commit 49de6e57136a1c288bbd25a1320001e0529c52cd
Author: Mike Westerhof <[email protected]>
Date:   Wed May 13 20:15:54 2009 -0500

    Add a vbus polling function for use by the udc driver.
    Signed-off-by: Mike Westerhof <[email protected]>

diff --git a/arch/arm/mach-s3c2442/mach-gta02.c 
b/arch/arm/mach-s3c2442/mach-gta02.c
index c24c919..780bd53 100644
--- a/arch/arm/mach-s3c2442/mach-gta02.c
+++ b/arch/arm/mach-s3c2442/mach-gta02.c
@@ -477,11 +477,22 @@ static void gta02_udc_vbus_draw(unsigned int ma)
        schedule_delayed_work(&gta02_charger_work,
                                GTA02_CHARGER_CONFIGURE_TIMEOUT);
 }
+
+static int gta02_udc_vbus_status(void)
+{
+       struct pcf50633 *pcf = gta02_pcf;
+
+        if (!gta02_pcf)
+               return -ENODEV;
+
+       return !!(pcf50633_mbc_get_status(pcf) & PCF50633_MBC_USB_ONLINE);
+}
 #else /* !CONFIG_CHARGER_PCF50633 */
 #define gta02_get_charger_online_status NULL
 #define gta02_get_charger_active_status NULL
 #define gta02_pmu_event_callback        NULL
 #define gta02_udc_vbus_draw             NULL
+#define gta02_udc_vbus_status           NULL
 #endif
 
 static struct platform_device gta01_pm_gps_dev = {
@@ -955,6 +966,7 @@ static void gta02_udc_command(enum s3c2410_udc_cmd_e cmd)
 static struct s3c2410_udc_mach_info gta02_udc_cfg = {
        .vbus_draw      = gta02_udc_vbus_draw,
        .udc_command    = gta02_udc_command,
+       .get_vbus_status= gta02_udc_vbus_status,
 
 };
 

Reply via email to