Hello Chris, Sorry for the late reply.
On Thu, Jul 29, 2021 at 5:37 AM Chris Johns <chr...@rtems.org> wrote: > On 29/7/21 1:10 am, Ahamed Husni wrote: > > > > > > On Wed, 28 Jul 2021, 17:27 Husni Faiz, <ahamedhusn...@gmail.com > > <mailto:ahamedhusn...@gmail.com>> wrote: > > > > 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 <ahamedhusn...@gmail.com > > <mailto:ahamedhusn...@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) > > Is doing this supported by the freebsd-to-rtems.py script? > > Like Christian pointed out, similar definitions are used in the libbsd. I'm not exactly sure how the script works under the hood. I'm thinking the script uses only the __rtems__ to find differences. When I run the script in the reverse mode the new changes get applied to the freebsd-org. So I assume that works. Isn't it? > Why is the RTEMS_BSD_MODULE_DEV_USB_TEMPLATE needed? > The functions inside the guard seem to be only used by the USB Template driver. Since I added that. > 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 */ > > > > Ah, a typo here (rtmes). Should I send a new set of patches? > > Yes it needs to be correct for the script to work but I would check the > freebsd-to-rtems.py script works with these guard comments. > > Does the script use the comments? The script works with this guard (and with the typo). Best regards, Husni. Chris >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel