From: Jan Kiszka <[email protected]>

Properly fail if the core is not available. This also obsoletes the
check on exit.

Signed-off-by: Jan Kiszka <[email protected]>
---
 kernel/drivers/serial/16550A.c       | 7 ++-----
 kernel/drivers/serial/mpc52xx_uart.c | 7 +++----
 kernel/drivers/serial/rt_imx_uart.c  | 7 +++----
 3 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/kernel/drivers/serial/16550A.c b/kernel/drivers/serial/16550A.c
index 81acc6344e..c9274fb191 100644
--- a/kernel/drivers/serial/16550A.c
+++ b/kernel/drivers/serial/16550A.c
@@ -1103,8 +1103,8 @@ int __init rt_16550_init(void)
        int err;
        int i;
 
-       if (!realtime_core_enabled())
-               return 0;
+       if (!rtdm_available())
+               return -ENODEV;
 
        rt_16550_pnp_init();
        rt_16550_pci_init();
@@ -1173,9 +1173,6 @@ void rt_16550_exit(void)
 {
        int i;
 
-       if (!realtime_core_enabled())
-               return;
-
        for (i = 0; i < MAX_DEVICES; i++)
                if (device[i]) {
                        rtdm_dev_unregister(device[i]);
diff --git a/kernel/drivers/serial/mpc52xx_uart.c 
b/kernel/drivers/serial/mpc52xx_uart.c
index a7b357959b..fe469d5987 100644
--- a/kernel/drivers/serial/mpc52xx_uart.c
+++ b/kernel/drivers/serial/mpc52xx_uart.c
@@ -1411,8 +1411,8 @@ static int __init rt_mpc52xx_uart_init(void)
 {
        int ret;
 
-       if (!realtime_core_enabled())
-               return 0;
+       if (!rtdm_available())
+               return -ENODEV;
 
        printk(KERN_INFO "RTserial: MPC52xx PSC UART driver\n");
 
@@ -1431,8 +1431,7 @@ static int __init rt_mpc52xx_uart_init(void)
 
 static void __exit rt_mpc52xx_uart_exit(void)
 {
-       if (realtime_core_enabled())
-               platform_driver_unregister(&rt_mpc52xx_uart_of_driver);
+       platform_driver_unregister(&rt_mpc52xx_uart_of_driver);
 }
 
 module_init(rt_mpc52xx_uart_init);
diff --git a/kernel/drivers/serial/rt_imx_uart.c 
b/kernel/drivers/serial/rt_imx_uart.c
index 6d95cbcab1..2b27b7debb 100644
--- a/kernel/drivers/serial/rt_imx_uart.c
+++ b/kernel/drivers/serial/rt_imx_uart.c
@@ -1656,8 +1656,8 @@ static int __init rt_imx_uart_init(void)
 {
        int ret;
 
-       if (!realtime_core_enabled())
-               return 0;
+       if (!rtdm_available())
+               return -ENODEV;
 
        ret = platform_driver_register(&rt_imx_uart_driver);
        if (ret) {
@@ -1670,8 +1670,7 @@ static int __init rt_imx_uart_init(void)
 
 static void __exit rt_imx_uart_exit(void)
 {
-       if (realtime_core_enabled())
-               platform_driver_unregister(&rt_imx_uart_driver);
+       platform_driver_unregister(&rt_imx_uart_driver);
 }
 
 module_init(rt_imx_uart_init);
-- 
2.16.4


Reply via email to