summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2011-01-12 11:02:00 +0800
committerAndy Voltz <andy.voltz@timesys.com>2011-06-01 13:20:33 -0400
commit911b1569e87923f998c293ab430fd16ebaf90ad4 (patch)
tree82f3ff473d7ce517c5a3bfb93e805ba7f3ee2853 /include
parentcc8ba2f77f0451f7ffc6ef7d0f32d696be7cc97e (diff)
ENGR00137872-3 usb: move wakeup handle from driver to MSL
Move the wakeup interrupt handler from the driver to MSL. Add clk disable if the register gadget driver is failed. The clk operation function should not be called at irq_disabled context. Signed-off-by: Peter Chen <peter.chen@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fsl_devices.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
index 34304fdac7fa..91d4d427d727 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -67,6 +67,13 @@ enum fsl_usb2_phy_modes {
FSL_USB2_PHY_SERIAL,
};
+enum usb_wakeup_event {
+ WAKEUP_EVENT_INVALID,
+ WAKEUP_EVENT_VBUS,
+ WAKEUP_EVENT_ID,
+ WAKEUP_EVENT_DPDM, /* for remote wakeup */
+};
+
struct fsl_usb2_wakeup_platform_data;
struct platform_device;
struct fsl_usb2_platform_data {
@@ -93,7 +100,8 @@ struct fsl_usb2_platform_data {
void (*wake_up_enable)(struct fsl_usb2_platform_data *pdata, bool on);
void (*phy_lowpower_suspend)(struct fsl_usb2_platform_data *pdata, bool on);
void (*platform_driver_vbus)(bool on); /* platform special function for vbus shutdown/open */
- bool (*is_wakeup_event)(struct fsl_usb2_platform_data *pdata);
+ enum usb_wakeup_event (*is_wakeup_event)(struct fsl_usb2_platform_data *pdata);
+ void (*wakeup_handler)(struct fsl_usb2_platform_data *pdata);
unsigned big_endian_mmio:1;
unsigned big_endian_desc:1;
unsigned es:1; /* need USBMODE:ES */
@@ -141,7 +149,6 @@ struct fsl_usb2_wakeup_platform_data {
bool usb_wakeup_is_pending;
};
-
struct spi_device;
struct fsl_spi_platform_data {