usb: otg: add notify_connect/notify_disconnect callback
authorRichard Zhao <richard.zhao@freescale.com>
Sat, 7 Jul 2012 14:56:44 +0000 (22:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Jul 2012 16:55:09 +0000 (09:55 -0700)
This let usb phy driver has a chance to change hw settings when connect
status change.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Subodh Nijsure <snijsure@grid-net.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/usb/otg.h

index 0cb2ec2..45824be 100644 (file)
@@ -128,6 +128,9 @@ struct usb_phy {
        int     (*set_suspend)(struct usb_phy *x,
                                int suspend);
 
+       /* notify phy connect status change */
+       int     (*notify_connect)(struct usb_phy *x, int port);
+       int     (*notify_disconnect)(struct usb_phy *x, int port);
 };
 
 
@@ -277,6 +280,24 @@ usb_phy_set_suspend(struct usb_phy *x, int suspend)
 }
 
 static inline int
+usb_phy_notify_connect(struct usb_phy *x, int port)
+{
+       if (x->notify_connect)
+               return x->notify_connect(x, port);
+       else
+               return 0;
+}
+
+static inline int
+usb_phy_notify_disconnect(struct usb_phy *x, int port)
+{
+       if (x->notify_disconnect)
+               return x->notify_disconnect(x, port);
+       else
+               return 0;
+}
+
+static inline int
 otg_start_srp(struct usb_otg *otg)
 {
        if (otg && otg->start_srp)