tty: serial: meson: redesign the module to platform_driver
authorDmitry Rokosov <ddrokosov@sberdevices.ru>
Wed, 5 Jul 2023 18:18:28 +0000 (21:18 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Jul 2023 18:22:07 +0000 (20:22 +0200)
commitbcb5645f99ef93b3cad3cdb7937eb4b2cecfd560
tree7f29017cb5b30a29b29d6a2cdbeddfb1dbbde015
parentb6092f36a56866e81afcea0530cc84963ebb9bf6
tty: serial: meson: redesign the module to platform_driver

Actually, the meson_uart module is already a platform_driver, but it is
currently registered manually and the uart core registration is run
outside the probe() scope, which results in some restrictions. For
instance, it is not possible to communicate with the OF subsystem
because it requires an initialized device object.

To address this issue, apply module_platform_driver() instead of direct
module init/exit routines. Additionally, move uart_register_driver() to
the driver probe(), and destroy manual console registration because it's
already run in the uart_register_driver() flow.

Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230705181833.16137-3-ddrokosov@sberdevices.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/meson_uart.c