config, _IO_Initialize_all_drivers
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Feb 24 07:11:02 UTC 2022
Hello Heinz,
On 18/02/2022 17:18, Heinz Junkes wrote:
> I'm still trying to get the booting and registering and initialising of the i2c devices on the MVME3100 to work properly.
>
> In confdefs/iodrivers.h the driver address table is built up and then
> _IO_Initialize_all_drivers() is called without registering the individual devices first.
the device drivers are already registered which means they are contained
in _IO_Driver_address_table.
>
> If I now enter in already before in bspstart.c
>
> RTEMS_SYSINIT_ITEM(
> mvme3100_i2c_initialize,
> RTEMS_SYSINIT_BSP_PRE_DRIVERS,
> RTEMS_SYSINIT_ORDER_MIDDLE
> );
>
> a device (register it and e.g. got the major number 0) this is ignored by the IO_Initialize_all_drivers().
>
> Shouldn't initialisation be preceded by registration ( rtems_io_register_driver() )?
There are two ways to register a legacy device driver:
1. Through application configuration options which populate
_IO_Driver_address_table.
2. Via calls to rtems_io_register_driver().
Device drivers registered when _IO_Initialize_all_drivers() is called
are initialized. Adding a file system node is the job of the
initialization entry (done using mknod()).
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list