Dynamic Device Configuration v2

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Oct 30 08:53:03 UTC 2013


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.sherrill at 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.sherrill at 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.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list