diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c index c8275c79e38a5a22f2226cde17b1c9157d183b0c..46af1091411a9771819198498162a3e91dcaae2c 100644 --- a/drivers/usb/dwc3/dwc3-omap.c +++ b/drivers/usb/dwc3/dwc3-omap.c @@ -415,6 +415,26 @@ void dwc3_omap_uboot_exit(int index) } } +/** + * dwc3_omap_uboot_interrupt_status - check the status of interrupt + * @index: index of this controller + * + * Checks the status of interrupts and returns true if an interrupt + * is detected or false otherwise. + * + * Generally called from board file. + */ +int dwc3_omap_uboot_interrupt_status(int index) +{ + struct dwc3_omap *omap = NULL; + + list_for_each_entry(omap, &dwc3_omap_list, list) + if (omap->index == index) + return dwc3_omap_interrupt(-1, omap); + + return 0; +} + MODULE_ALIAS("platform:omap-dwc3"); MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>"); MODULE_LICENSE("GPL v2"); diff --git a/include/dwc3-omap-uboot.h b/include/dwc3-omap-uboot.h index 29f02f85ded913843ec871c8a680657ebc13646a..db002b9b6a996977b206350bd2938a73c5272526 100644 --- a/include/dwc3-omap-uboot.h +++ b/include/dwc3-omap-uboot.h @@ -28,4 +28,5 @@ struct dwc3_omap_device { int dwc3_omap_uboot_init(struct dwc3_omap_device *dev); void dwc3_omap_uboot_exit(int index); +int dwc3_omap_uboot_interrupt_status(int index); #endif /* __DWC3_OMAP_UBOOT_H_ */