Red de conocimiento informático - Conocimiento informático - Cómo ajustar la secuencia de inicialización del controlador durante el inicio del kernel de Linux

Cómo ajustar la secuencia de inicialización del controlador durante el inicio del kernel de Linux

Lo más fácil de pensar es cambiar los dispositivos en el orden

arch\arm\mach-as352x\core.c

del kernel.

enc28j60_init corresponde a ssp_device, porque la inicialización de la tarjeta de red utiliza el controlador SPI para la comunicación.

as352x_afe_init corresponde a afe_device.

Originalmente:

estructura estática platform_device *devices[] =

{

amp; amp;nand_device,

amp;afe_device,

amp;audio_device,

amp;usb_device,

amp;as352xkbd_device,

amp;afe_device,

amp;as352xkbd_device,

p>

amp; ssp_device,

};

Cambiar afe al frente:

estructura estática platform_device *devices[] =

p>

{

amp;afe_device,

amp;uart_device,

amp;nand_device,

amp ;dispositivo de audio,

amp; dispositivo_usb,

amp; as352xkbd_device,

amp; p>Pero, el resultado real es que no hay ningún impacto, incluso la secuencia de inicialización del módulo generada por systemp.map no tiene cambios.

Esto significa que si desea cambiar el orden de carga de los controladores, es inútil cambiar el orden de la lista de dispositivos en core.c.