diff --git a/arch/arm/platforms/fsl_frdm_k64f/platform_config.c b/arch/arm/platforms/fsl_frdm_k64f/platform_config.c index cac65be9d98..534bac26ce6 100644 --- a/arch/arm/platforms/fsl_frdm_k64f/platform_config.c +++ b/arch/arm/platforms/fsl_frdm_k64f/platform_config.c @@ -188,7 +188,7 @@ DECLARE_DEVICE_INIT_CONFIG(k20_uart0, &uart_platform_init, &k20_uart_dev_cfg[0]); -pure_late_init(k20_uart0, &k20_uart_dev_data[0]); +pre_kernel_late_init(k20_uart0, &k20_uart_dev_data[0]); /* UART 1 */ @@ -197,7 +197,7 @@ DECLARE_DEVICE_INIT_CONFIG(k20_uart1, &uart_platform_init, &k20_uart_dev_cfg[1]); -pure_late_init(k20_uart1, &k20_uart_dev_data[1]); +pre_kernel_late_init(k20_uart1, &k20_uart_dev_data[1]); /* UART 2 */ @@ -206,7 +206,7 @@ DECLARE_DEVICE_INIT_CONFIG(k20_uart2, &uart_platform_init, &k20_uart_dev_cfg[2]); -pure_late_init(k20_uart2, &k20_uart_dev_data[2]); +pre_kernel_late_init(k20_uart2, &k20_uart_dev_data[2]); /* UART 3 */ @@ -215,7 +215,7 @@ DECLARE_DEVICE_INIT_CONFIG(k20_uart3, &uart_platform_init, &k20_uart_dev_cfg[3]); -pure_late_init(k20_uart3, &k20_uart_dev_data[3]); +pre_kernel_late_init(k20_uart3, &k20_uart_dev_data[3]); /* UART 4 */ @@ -224,7 +224,7 @@ DECLARE_DEVICE_INIT_CONFIG(k20_uart4, &uart_platform_init, &k20_uart_dev_cfg[4]); -pure_late_init(k20_uart4, &k20_uart_dev_data[4]); +pre_kernel_late_init(k20_uart4, &k20_uart_dev_data[4]); /**< UART Devices */ diff --git a/arch/arm/platforms/ti_lm3s6965/platform_config.c b/arch/arm/platforms/ti_lm3s6965/platform_config.c index 9d444fedada..e3234afe234 100644 --- a/arch/arm/platforms/ti_lm3s6965/platform_config.c +++ b/arch/arm/platforms/ti_lm3s6965/platform_config.c @@ -194,7 +194,7 @@ DECLARE_DEVICE_INIT_CONFIG(stellaris_uart0, &uart_platform_init, &stellaris_uart_dev_cfg[0]); -pure_late_init(stellaris_uart0, NULL); +pre_kernel_late_init(stellaris_uart0, NULL); /* UART 1 */ @@ -203,7 +203,7 @@ DECLARE_DEVICE_INIT_CONFIG(stellaris_uart1, &uart_platform_init, &stellaris_uart_dev_cfg[1]); -pure_late_init(stellaris_uart1, NULL); +pre_kernel_late_init(stellaris_uart1, NULL); /* UART 2 */ @@ -212,7 +212,7 @@ DECLARE_DEVICE_INIT_CONFIG(stellaris_uart2, &uart_platform_init, &stellaris_uart_dev_cfg[2]); -pure_late_init(stellaris_uart2, NULL); +pre_kernel_late_init(stellaris_uart2, NULL); /**< UART Devices */ diff --git a/arch/x86/platforms/galileo/galileo.c b/arch/x86/platforms/galileo/galileo.c index a4f9ed216d8..2f971027b39 100644 --- a/arch/x86/platforms/galileo/galileo.c +++ b/arch/x86/platforms/galileo/galileo.c @@ -66,7 +66,7 @@ static int dw_i2c0_irq_set(struct device *unused) } DECLARE_DEVICE_INIT_CONFIG(i2cirq_0, "", dw_i2c0_irq_set, NULL); -pure_late_init(i2cirq_0, NULL); +pre_kernel_late_init(i2cirq_0, NULL); #endif /* CONFIG_I2C_DW_0 */ @@ -133,7 +133,7 @@ static int console_irq_set(struct device *unsued) } DECLARE_DEVICE_INIT_CONFIG(consoleirq, "", console_irq_set, NULL); -pure_late_init(consoleirq, NULL); +pre_kernel_late_init(consoleirq, NULL); #endif /* CONFIG_CONSOLE_HANDLER */ diff --git a/arch/x86/platforms/galileo/galileo_config.c b/arch/x86/platforms/galileo/galileo_config.c index a47b9633594..7571a18d0c8 100644 --- a/arch/x86/platforms/galileo/galileo_config.c +++ b/arch/x86/platforms/galileo/galileo_config.c @@ -137,7 +137,7 @@ DECLARE_DEVICE_INIT_CONFIG(ns16550_uart0, (CONFIG_UART_CONSOLE_INDEX == 0)) pure_early_init(ns16550_uart0, &ns16550_uart_dev_data[0]); #else -pure_late_init(ns16550_uart0, &ns16550_uart_dev_data[0]); +pre_kernel_late_init(ns16550_uart0, &ns16550_uart_dev_data[0]); #endif /* CONFIG_EARLY_CONSOLE */ @@ -152,7 +152,7 @@ DECLARE_DEVICE_INIT_CONFIG(ns16550_uart1, (CONFIG_UART_CONSOLE_INDEX == 1)) pure_early_init(ns16550_uart1, &ns16550_uart_dev_data[1]); #else -pure_late_init(ns16550_uart1, &ns16550_uart_dev_data[1]); +pre_kernel_late_init(ns16550_uart1, &ns16550_uart_dev_data[1]); #endif /* CONFIG_EARLY_CONSOLE */ diff --git a/arch/x86/platforms/ia32/ia32.c b/arch/x86/platforms/ia32/ia32.c index 98fb495fdcf..d82e0cd84e3 100644 --- a/arch/x86/platforms/ia32/ia32.c +++ b/arch/x86/platforms/ia32/ia32.c @@ -77,7 +77,7 @@ static int console_irq_set(struct device *unsued) } DECLARE_DEVICE_INIT_CONFIG(consoleirq, "", console_irq_set, NULL); -pure_late_init(consoleirq, NULL); +pre_kernel_late_init(consoleirq, NULL); #endif /* CONFIG_CONSOLE_HANDLER */ @@ -93,7 +93,7 @@ static int hpet_irq_set(struct device *unused) } DECLARE_DEVICE_INIT_CONFIG(hpetirq, "", hpet_irq_set, NULL); -pure_late_init(hpetirq, NULL); +pre_kernel_late_init(hpetirq, NULL); #endif /* CONFIG_HPET_TIMER */ diff --git a/arch/x86/platforms/ia32_pci/ia32_pci.c b/arch/x86/platforms/ia32_pci/ia32_pci.c index 7137bc45e2f..ba1d7f37443 100644 --- a/arch/x86/platforms/ia32_pci/ia32_pci.c +++ b/arch/x86/platforms/ia32_pci/ia32_pci.c @@ -66,7 +66,7 @@ static int dw_i2c0_irq_set(struct device *unused) } DECLARE_DEVICE_INIT_CONFIG(i2cirq_0, "", dw_i2c0_irq_set, NULL); -pure_late_init(i2cirq_0, NULL); +pre_kernel_late_init(i2cirq_0, NULL); #endif /* CONFIG_I2C_DW_0 */ @@ -133,7 +133,7 @@ static int console_irq_set(struct device *unsued) } DECLARE_DEVICE_INIT_CONFIG(consoleirq, "", console_irq_set, NULL); -pure_late_init(consoleirq, NULL); +pre_kernel_late_init(consoleirq, NULL); #endif /* CONFIG_CONSOLE_HANDLER */ @@ -149,7 +149,7 @@ static int hpet_irq_set(struct device *unused) } DECLARE_DEVICE_INIT_CONFIG(hpetirq, "", hpet_irq_set, NULL); -pure_late_init(hpetirq, NULL); +pre_kernel_late_init(hpetirq, NULL); #endif /* CONFIG_HPET_TIMER */ diff --git a/arch/x86/platforms/ia32_pci/ia32_pci_config.c b/arch/x86/platforms/ia32_pci/ia32_pci_config.c index e7b2ccb83d0..249734e775a 100644 --- a/arch/x86/platforms/ia32_pci/ia32_pci_config.c +++ b/arch/x86/platforms/ia32_pci/ia32_pci_config.c @@ -137,7 +137,7 @@ DECLARE_DEVICE_INIT_CONFIG(ns16550_uart0, (CONFIG_UART_CONSOLE_INDEX == 0)) pure_early_init(ns16550_uart0, &ns16550_uart_dev_data[0]); #else -pure_late_init(ns16550_uart0, &ns16550_uart_dev_data[0]); +pre_kernel_late_init(ns16550_uart0, &ns16550_uart_dev_data[0]); #endif /* CONFIG_EARLY_CONSOLE */ @@ -152,7 +152,7 @@ DECLARE_DEVICE_INIT_CONFIG(ns16550_uart1, (CONFIG_UART_CONSOLE_INDEX == 1)) pure_early_init(ns16550_uart1, &ns16550_uart_dev_data[1]); #else -pure_late_init(ns16550_uart1, &ns16550_uart_dev_data[1]); +pre_kernel_late_init(ns16550_uart1, &ns16550_uart_dev_data[1]); #endif /* CONFIG_EARLY_CONSOLE */ diff --git a/drivers/console/uart_console.c b/drivers/console/uart_console.c index fc9e67621a1..d2986f8c6ed 100644 --- a/drivers/console/uart_console.c +++ b/drivers/console/uart_console.c @@ -245,4 +245,4 @@ static int uart_console_init(struct device *arg) return DEV_OK; } DECLARE_DEVICE_INIT_CONFIG(uart_console, "", uart_console_init, NULL); -pure_late_init(uart_console, NULL); +pre_kernel_late_init(uart_console, NULL); diff --git a/drivers/gpio/gpio-dw.c b/drivers/gpio/gpio-dw.c index 70f81ee36fc..cd468e72c3d 100644 --- a/drivers/gpio/gpio-dw.c +++ b/drivers/gpio/gpio-dw.c @@ -357,7 +357,7 @@ struct gpio_runtime_dw gpio_0_runtime; DECLARE_DEVICE_INIT_CONFIG(gpio_0, CONFIG_GPIO_DW_0_NAME, gpio_initialize_dw, &gpio_config_dw_0); -pure_late_init(gpio_0, &gpio_0_runtime); +pre_kernel_late_init(gpio_0, &gpio_0_runtime); IRQ_CONNECT_STATIC(gpio_dw_0, CONFIG_GPIO_DW_0_IRQ, CONFIG_GPIO_DW_0_PRI, gpio_dw_isr_0, 0); @@ -399,7 +399,7 @@ struct gpio_runtime_dw gpio_1_runtime; DECLARE_DEVICE_INIT_CONFIG(gpio_1, CONFIG_GPIO_DW_1_NAME, gpio_initialize_dw, &gpio_config_dw_1); -pure_late_init(gpio_1, &gpio_1_runtime); +pre_kernel_late_init(gpio_1, &gpio_1_runtime); IRQ_CONNECT_STATIC(gpio_dw_1, CONFIG_GPIO_DW_1_IRQ, CONFIG_GPIO_DW_1_PRI, gpio_dw_isr_1, 0); diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c index a121e13f7a5..14addcbd2fd 100644 --- a/drivers/gpio/gpio-mmio.c +++ b/drivers/gpio/gpio-mmio.c @@ -290,7 +290,7 @@ DECLARE_DEVICE_INIT_CONFIG(gpio_mmio_0, CONFIG_GPIO_MMIO_0_DEV_NAME, gpio_mmio_init, &gpio_mmio_0_cfg); -pure_late_init(gpio_mmio_0, (void *)0); +pre_kernel_late_init(gpio_mmio_0, (void *)0); #endif /* CONFIG_GPIO_MMIO_0 */ @@ -312,6 +312,6 @@ DECLARE_DEVICE_INIT_CONFIG(gpio_mmio_1, CONFIG_GPIO_MMIO_1_DEV_NAME, gpio_mmio_init, &gpio_mmio_1_cfg); -pure_late_init(gpio_mmio_1, (void *)0); +pre_kernel_late_init(gpio_mmio_1, (void *)0); #endif /* CONFIG_GPIO_MMIO_1 */ diff --git a/drivers/i2c/i2c-dw.c b/drivers/i2c/i2c-dw.c index 902ae355b4e..9a6f162acb0 100644 --- a/drivers/i2c/i2c-dw.c +++ b/drivers/i2c/i2c-dw.c @@ -636,7 +636,7 @@ DECLARE_DEVICE_INIT_CONFIG(i2c_0, &i2c_dw_initialize, &i2c_config_dw_0); -pure_late_init(i2c_0, &i2c_0_runtime); +pre_kernel_late_init(i2c_0, &i2c_0_runtime); IRQ_CONNECT_STATIC(i2c_dw_0, CONFIG_I2C_DW_0_IRQ, diff --git a/drivers/spi/intel_spi.c b/drivers/spi/intel_spi.c index 24f09a0a698..b1f2b5221b4 100644 --- a/drivers/spi/intel_spi.c +++ b/drivers/spi/intel_spi.c @@ -406,7 +406,7 @@ struct spi_intel_config spi_intel_config_0 = { DECLARE_DEVICE_INIT_CONFIG(spi_intel_port_0, CONFIG_SPI_INTEL_PORT_0_DRV_NAME, spi_intel_init, &spi_intel_config_0); -pure_late_init(spi_intel_port_0, &spi_intel_data_port_0); +pre_kernel_late_init(spi_intel_port_0, &spi_intel_data_port_0); void spi_intel_isr_0(void *unused) { @@ -446,7 +446,7 @@ struct spi_intel_config spi_intel_config_1 = { DECLARE_DEVICE_INIT_CONFIG(spi_intel_port_1, CONFIG_SPI_INTEL_PORT_1_DRV_NAME, spi_intel_init, &spi_intel_config_1); -pure_late_init(spi_intel_port_1, &spi_intel_data_port_1); +pre_kernel_late_init(spi_intel_port_1, &spi_intel_data_port_1); void spi_intel_isr_1(void *unused) { diff --git a/include/init.h b/include/init.h index a6e11699a7a..502e30f93ad 100644 --- a/include/init.h +++ b/include/init.h @@ -36,7 +36,7 @@ #define PURE_CORE 0 #define PURE_EARLY 1 -#define PURE_LATE 2 +#define PRE_KERNEL_LATE 2 #define NANO_EARLY 3 #define NANO_LATE 4 #define MICRO_EARLY 5 @@ -71,7 +71,7 @@ /* Run on interrupt stack; no {micro,nano} kernel objects available */ #define pure_core_init(cfg, data) __define_initconfig(cfg, 0, data) #define pure_early_init(cfg, data) __define_initconfig(cfg, 1, data) -#define pure_late_init(cfg, data) __define_initconfig(cfg, 2, data) +#define pre_kernel_late_init(cfg, data) __define_initconfig(cfg, 2, data) /* Run from nano kernel idle task; no micro kernel objects available */ #define nano_early_init(cfg, data) __define_initconfig(cfg, 3, data) diff --git a/kernel/nanokernel/nano_init.c b/kernel/nanokernel/nano_init.c index adc62922c48..0dbbfec618d 100644 --- a/kernel/nanokernel/nano_init.c +++ b/kernel/nanokernel/nano_init.c @@ -283,7 +283,7 @@ FUNC_NORETURN void _Cstart(void) _sys_device_do_config_level(PURE_CORE); _sys_device_do_config_level(PURE_EARLY); - _sys_device_do_config_level(PURE_LATE); + _sys_device_do_config_level(PRE_KERNEL_LATE); /* * Initialize random number generator diff --git a/samples/nanokernel/test/test_ipi/src/test_ipi.c b/samples/nanokernel/test/test_ipi/src/test_ipi.c index de8bc7179ec..5acf4da0044 100644 --- a/samples/nanokernel/test/test_ipi/src/test_ipi.c +++ b/samples/nanokernel/test/test_ipi/src/test_ipi.c @@ -57,7 +57,7 @@ struct ipi_dummy_config_info ipi_dummy0_config_info = { struct ipi_dummy_driver_data ipi_dummy0_driver_data; DECLARE_DEVICE_INIT_CONFIG(ipi_dummy0, "ipi_dummy0", ipi_dummy_init, &ipi_dummy0_config_info); -pure_late_init(ipi_dummy0, &ipi_dummy0_driver_data); +pre_kernel_late_init(ipi_dummy0, &ipi_dummy0_driver_data); /* Sending side of the console IPI driver, will forward anything sent * to printf() since we selected IPI_CONSOLE_STDOUT */