This comes handy on the i.MX28 CPU, where the host IRQ also signalises that the disconnection detector shall be enabled/disabled on the PHY. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Linux USB <linux-usb@xxxxxxxxxxxxxxx> --- drivers/usb/chipidea/host.c | 4 ++++ include/linux/usb/chipidea.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 9eacd21..97bb167 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -94,6 +94,10 @@ static const struct hc_driver ci_ehci_hc_driver = { static irqreturn_t host_irq(struct ci13xxx *ci) { + if (ci->udc_driver->notify_event) + ci->udc_driver->notify_event(ci, + CI13XXX_CONTROLLER_HOST_IRQ_EVENT); + return usb_hcd_irq(ci->irq, ci->hcd); } diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h index edb90d6..231aad9 100644 --- a/include/linux/usb/chipidea.h +++ b/include/linux/usb/chipidea.h @@ -19,6 +19,7 @@ struct ci13xxx_udc_driver { #define CI13XXX_CONTROLLER_RESET_EVENT 0 #define CI13XXX_CONTROLLER_STOPPED_EVENT 1 +#define CI13XXX_CONTROLLER_HOST_IRQ_EVENT 2 void (*notify_event) (struct ci13xxx *udc, unsigned event); }; -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html