summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2011-01-12 11:02:00 +0800
committerAlan Tull <alan.tull@freescale.com>2011-02-03 16:37:22 -0600
commit47938ea445fc0b849ca3b1faf7e45fd54a5fb04c (patch)
tree82f3ff473d7ce517c5a3bfb93e805ba7f3ee2853 /include
parent07a6eff7295b18eec72494e564c6de61aaeab2aa (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 {