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.hu...@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/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to