diff options
author | Peter Chen <peter.chen@freescale.com> | 2011-01-12 11:02:00 +0800 |
---|---|---|
committer | Alan Tull <alan.tull@freescale.com> | 2011-02-03 16:37:22 -0600 |
commit | 47938ea445fc0b849ca3b1faf7e45fd54a5fb04c (patch) | |
tree | 82f3ff473d7ce517c5a3bfb93e805ba7f3ee2853 /include | |
parent | 07a6eff7295b18eec72494e564c6de61aaeab2aa (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.h | 11 |
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 { |