[PATCH rtems-libbsd v2 2/5] usb_template: Configure template driver only for CDC Ethernet

Husni Faiz ahamedhusni73 at gmail.com
Wed Jul 28 11:56:32 UTC 2021


Add the conditional macro to prevent the driver from referencing
the templates which are not imported yet.

Include functions which adds the hw.usb.template sysctl variable.

Signed-off-by: Husni Faiz <ahamedhusni73 at gmail.com>
---
 freebsd/sys/dev/usb/template/usb_template.c | 4 ++++
 freebsd/sys/dev/usb/usb_device.c            | 8 ++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/freebsd/sys/dev/usb/template/usb_template.c b/freebsd/sys/dev/usb/template/usb_template.c
index 0650da15..76567e85 100644
--- a/freebsd/sys/dev/usb/template/usb_template.c
+++ b/freebsd/sys/dev/usb/template/usb_template.c
@@ -1433,12 +1433,15 @@ usb_temp_setup_by_index(struct usb_device *udev, uint16_t index)
 	usb_error_t err;
 
 	switch (index) {
+#ifndef __rtems__
 	case USB_TEMP_MSC:
 		err = usb_temp_setup(udev, &usb_template_msc);
 		break;
+#endif /* __rtems__ */
 	case USB_TEMP_CDCE:
 		err = usb_temp_setup(udev, &usb_template_cdce);
 		break;
+#ifndef __rtems__
 	case USB_TEMP_MTP:
 		err = usb_temp_setup(udev, &usb_template_mtp);
 		break;
@@ -1469,6 +1472,7 @@ usb_temp_setup_by_index(struct usb_device *udev, uint16_t index)
 	case USB_TEMP_CDCEEM:
 		err = usb_temp_setup(udev, &usb_template_cdceem);
 		break;
+#endif /* __rtems__ */
 	default:
 		return (USB_ERR_INVAL);
 	}
diff --git a/freebsd/sys/dev/usb/usb_device.c b/freebsd/sys/dev/usb/usb_device.c
index ee240949..619cae5a 100644
--- a/freebsd/sys/dev/usb/usb_device.c
+++ b/freebsd/sys/dev/usb/usb_device.c
@@ -28,6 +28,10 @@
  * SUCH DAMAGE.
  */
 
+#ifdef __rtems__
+#include <rtems/bsd/modules.h>
+#endif
+
 #ifdef USB_GLOBAL_INCLUDE_FILE
 #include USB_GLOBAL_INCLUDE_FILE
 #else
@@ -123,7 +127,7 @@ int	usb_template = USB_TEMPLATE;
 int	usb_template = -1;
 #endif
 
-#ifndef __rtems__
+#if !defined(__rtems__) || defined(RTEMS_BSD_MODULE_DEV_USB_TEMPLATE)
 SYSCTL_PROC(_hw_usb, OID_AUTO, template,
     CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
     NULL, 0, sysctl_hw_usb_template,
@@ -255,7 +259,7 @@ sysctl_hw_usb_template(SYSCTL_HANDLER_ARGS)
 
 	return (0);
 }
-#endif /* __rtems__ */
+#endif /* !__rtmes__ || RTEMS_BSD_MODULE_DEV_USB_TEMPLATE */
 
 /* English is default language */
 
-- 
2.25.1



More information about the devel mailing list