summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-10-26 10:57:00 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-10-29 11:26:35 +0100
commit28b38c1804d761257397f41ae2bbc071cd009935 (patch)
treede0d9053eb521b2cadbf0450d73f396b8dad20ca /include
parent7da5b5cd93050ce264ba36556f2f2720a0a39acd (diff)
downloadbarebox-28b38c1804d761257397f41ae2bbc071cd009935.tar.gz
barebox-28b38c1804d761257397f41ae2bbc071cd009935.tar.xz
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 <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/usb/fsl_usb2.h6
1 files changed, 4 insertions, 2 deletions
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 */