It works in the ALL static drivers case. But when used to size the array to include empty slots for dynamic registration, it doesn't actually do that.
Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: Hello Joel, I still don't see the problem with #define CONFIGURE_NUMBER_OF_DRIVERS \ RTEMS_ARRAY_SIZE(Device_drivers) On 2013-10-29 19:43, Joel Sherrill wrote: > Hi > > I haven't updated in a while on this. Attached is the current > patch. In trying to make a user distinction between static drivers > which are configured by name and the "maximum drivers" which > was supposed to include the static and dynamic, I uncovered > a bug in which you ended up with only 1 extra slot maximum > no matter what. > > This attempts to: > > + make the number of dynamic drivers explicit > + fix the bug > + add any error checks I could think of > > Eventually we may want a different scheme but we have to > fix what we have. > > Please help review this so I can commit it. > > -- Joel Sherrill, Ph.D. Director of Research & Development > joel.sherr...@oarcorp.com On-Line Applications Research Ask me about RTEMS: a > free RTOS Huntsville AL 35805 Support Available (256) 722-9985 > > > 0001-configuration-Separate-static-from-dynamic-drivers.patch > > >>From 81cb8b1a1caf9dca38e066f3cfea9efbf6810c67 Mon Sep 17 00:00:00 2001 > From: Joel Sherrill<joel.sherr...@oarcorp.com> > Date: Mon, 9 Sep 2013 14:00:26 -0500 > Subject: [PATCH] configuration: Separate static from dynamic drivers > > Prior to this patch, when the user dynamically registered device > drivers, they had to account for the number of statically installed > drivers and add their dynamic ones on top of that. > > With this patch, the number of static drivers is calculated and not > modifiable by the user. They configure the number of dynamically > registered ones. > > Adds: CONFIGURE_MAXIMUM_DYNAMIC_DRIVERS > Obsoletes: CONFIGURE_MAXIMUM_DRIVERS > > The user will get a compile time error for using CONFIGURE_MAXIMUM_DRIVERS. I don't think we should obsolete CONFIGURE_MAXIMUM_DRIVERS and break existing application configurations. Instead we should add an optional CONFIGURE_MAXIMUM_DYNAMIC_DRIVERS so that CONFIGURE_MAXIMUM_DRIVERS == RTEMS_ARRAY_SIZE(Device_drivers) + CONFIGURE_MAXIMUM_DYNAMIC_DRIVERS The Device_drivers table is only used to register drivers during system start. You can later unregister them if you like. -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel