usb: phy: introduce usb_phy_set_event interface
authorKiran Raparthy <kiran.kumar@linaro.org>
Fri, 21 Nov 2014 06:01:20 +0000 (11:31 +0530)
committerFelipe Balbi <balbi@ti.com>
Fri, 21 Nov 2014 15:05:45 +0000 (09:05 -0600)
PHY drivers require a generic interface to handle per-PHY events.

usb_phy_set_event interface sets event to phy event.
PHY drivers call this interface for each phy event.

Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: Android Kernel Team <kernel-team@android.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Arve Hj�nnev�g <arve@android.com>
Cc: Benoit Goby <benoit@android.com>
[Original patch in Android from Todd]
Cc: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Kiran Raparthy <kiran.kumar@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/phy/phy.c
include/linux/usb/phy.h

index e6bf801a339a477c7d0abc0841ffd170d95ae60a..b4066a001ba01573f9546749b7d4978180c48dc5 100644 (file)
@@ -446,3 +446,15 @@ int usb_bind_phy(const char *dev_name, u8 index,
        return 0;
 }
 EXPORT_SYMBOL_GPL(usb_bind_phy);
+
+/**
+ * usb_phy_set_event - set event to phy event
+ * @x: the phy returned by usb_get_phy();
+ *
+ * This sets event to phy event
+ */
+void usb_phy_set_event(struct usb_phy *x, unsigned long event)
+{
+       x->last_event = event;
+}
+EXPORT_SYMBOL_GPL(usb_phy_set_event);
index ac7d7913694fa75a5ed74c692d52422bc738e8e4..f499c23e6342204d9cb5671917593efc8e3ec39c 100644 (file)
@@ -209,6 +209,7 @@ extern void usb_put_phy(struct usb_phy *);
 extern void devm_usb_put_phy(struct device *dev, struct usb_phy *x);
 extern int usb_bind_phy(const char *dev_name, u8 index,
                                const char *phy_dev_name);
+extern void usb_phy_set_event(struct usb_phy *x, unsigned long event);
 #else
 static inline struct usb_phy *usb_get_phy(enum usb_phy_type type)
 {
@@ -250,6 +251,10 @@ static inline int usb_bind_phy(const char *dev_name, u8 index,
 {
        return -EOPNOTSUPP;
 }
+
+static inline void usb_phy_set_event(struct usb_phy *x, unsigned long event)
+{
+}
 #endif
 
 static inline int