On 30/06/2019 21:38, Vijay Kumar Banerjee wrote: > > > > On Mon, Jul 1, 2019 at 12:46 AM Christian Mauderer <l...@c-mauderer.de > <mailto:l...@c-mauderer.de>> wrote: > > On 30/06/2019 19:57, Vijay Kumar Banerjee wrote: > > > > On Sun, Jun 30, 2019 at 10:17 PM Christian Mauderer > <l...@c-mauderer.de <mailto:l...@c-mauderer.de> > > <mailto:l...@c-mauderer.de <mailto:l...@c-mauderer.de>>> wrote: > > > > On 30/06/2019 18:29, Vijay Kumar Banerjee wrote: > > > > @@ -366,6 +374,9 @@ driver_t fbd_driver = { > > > > devclass_t fbd_devclass; > > > > > > > > DRIVER_MODULE(fbd, fb, fbd_driver, fbd_devclass, 0, 0); > > > > +#ifdef __rtems__ > > > > +DRIVER_MODULE(fbd, am335x_lcd, fbd_driver, > fbd_devclass, 0, 0); > > > > > > Why is this necessary in this case? I don't see a similar > > connection in > > > FreeBSD. > > > > > > the fbd needs to be linked to the am335x_lcd which provides the > > fb0 device > > > and the fbd needs to attach to fb0. > > > > It seems that this connection (or a similar one) hasn't been > there on > > FreeBSD. So I wonder why it should be necessary on RTEMS. > > > > Note that the situation is a bit different from the one of the > i2c bus. > > There your driver implemented a base for a bus system. > Therefore the > > generic bus had been connected to a device specific driver. > I'm not sure > > that's the case here. > > > > It's quite possible that you just have to link the fbd with a > line like > > the following in nexus-devices.h: > > > > SYSINIT_MODULE_REFERENCE(fbd); > > > > This is not working : > > ``` > > fb0: failed to attach fbd device > > ``` > > > > Best regards > > > > Christian > > > > OK. I had a more detailed look: In FreeBSD it's the following > connection: > > fbd->fb->fb_mod > > For some devices (like freescale/imx/imx51_ipuv3_fbd.c) a specialized fb > is connected to simplebus. So one of the following should work and > should be most likely more correct: > > Either > > SYSINIT_DRIVER_REFERENCE(fbd, fb); > SYSINIT_DRIVER_REFERENCE(fb, fb_mod); > SYSINIT_MODULE_REFERENCE(fb_mod); > > This worked!
OK. Then I would suggest to use this one. It's the one most similar to FreeBSD. > > or > > SYSINIT_DRIVER_REFERENCE(fbd, fb); > SYSINIT_DRIVER_REFERENCE(fb, simplebus); > > For the second one the following line will be necessary in fbd.c > > DRIVER_MODULE(fbd, simplebus, fbd_driver, fbd_devclass, 0, 0); > > Can you try whether one of these two works? It's just odd to connect the > frame buffer device driver to a specialized device instead of the > general frame buffer where it is connected in FreeBSD. I would expect > problems later with the current construction. > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel