From 28b38c1804d761257397f41ae2bbc071cd009935 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 26 Oct 2018 10:57:00 +0200 Subject: usb: gadget: fsl_udc: pass controller instance to unregister ci_udc_unregister() used to unregister "the controller". Since we may register multiple chipidea devices we called ci_udc_unregister() for each of them. This led to messages like: ERROR: imx-usb 53f80000.usb: gadget not registered. Fix this by returning the registered controller. This allows us to call ci_udc_unregister() only when we actually registered one before. Signed-off-by: Sascha Hauer --- include/usb/fsl_usb2.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/usb/fsl_usb2.h b/include/usb/fsl_usb2.h index 881a5d4fdf..39757f71ad 100644 --- a/include/usb/fsl_usb2.h +++ b/include/usb/fsl_usb2.h @@ -23,7 +23,9 @@ struct fsl_usb2_platform_data { unsigned int port_enables; }; -int ci_udc_register(struct device_d *dev, void __iomem *regs); -void ci_udc_unregister(void); +struct fsl_udc; + +struct fsl_udc *ci_udc_register(struct device_d *dev, void __iomem *regs); +void ci_udc_unregister(struct fsl_udc *); #endif /* __USB_FSL_USB2_H */ -- cgit v1.2.3