mirror_ubuntu-kernels/drivers/tty/serial
Dmitry Rokosov bcb5645f99 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>
2023-07-25 20:22:07 +02:00
..
8250 8250_men_mcb: Make UART config auto configurable 2023-07-25 20:21:26 +02:00
cpm_uart Merge 6.4-rc5 into tty-next 2023-06-05 07:41:04 +02:00
jsm drivers: serial: jsm: fix some leaks in probe 2022-09-22 16:11:43 +02:00
21285.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
altera_jtaguart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
altera_uart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
amba-pl010.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
amba-pl011.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
apbuart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
apbuart.h
ar933x_uart.c serial: ar933x: Use uart_xmit_advance() 2022-11-03 03:35:41 +01:00
arc_uart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
atmel_serial.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
atmel_serial.h tty: serial: atmel: Use FIELD_PREP/FIELD_GET 2022-09-22 16:32:25 +02:00
bcm63xx_uart.c serial: bcm63xx-uart: add polling support 2023-03-29 10:54:23 +02:00
clps711x.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
digicolor-usart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
dz.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
dz.h
earlycon-riscv-sbi.c serial: make uart_console_write->putchar()'s character an unsigned char 2022-03-03 15:06:31 +01:00
earlycon-semihost.c serial: Rename earlycon semihost driver 2023-01-19 14:58:19 +01:00
earlycon.c earlycon: Let users set the clock frequency 2023-01-19 14:56:44 +01:00
fsl_linflexuart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
fsl_lpuart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
icom.c serial: Make ->set_termios() old ktermios const 2022-08-30 14:22:35 +02:00
imx_earlycon.c serial: make uart_console_write->putchar()'s character an unsigned char 2022-03-03 15:06:31 +01:00
imx.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
ip22zilog.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
ip22zilog.h
Kconfig TTY/Serial driver updates for 6.5-rc1. 2023-07-03 13:14:58 -07:00
kgdb_nmi.c
kgdboc.c tty: serial: kgdboc: fix mutex locking order for configure_kgdboc() 2023-01-16 16:44:53 +01:00
lantiq.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
liteuart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
lpc32xx_hs.c tty: serial: use uart_port_tx() helper 2022-11-03 03:32:40 +01:00
ma35d1_serial.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
Makefile tty: serial: Add Nuvoton ma35d1 serial driver support 2023-06-19 15:42:26 +02:00
max310x.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
max3100.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
mcf.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
men_z135_uart.c serial: men_z135_uart: Use uart_xmit_advance() 2022-11-03 03:35:41 +01:00
meson_uart.c tty: serial: meson: redesign the module to platform_driver 2023-07-25 20:22:07 +02:00
milbeaut_usio.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
mpc52xx_uart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
mps2-uart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
msm_serial.c serial: msm: add lock annotation to msm_set_baud_rate() 2023-01-19 15:53:09 +01:00
mux.c tty: serial: use uart_port_tx_limited() 2022-11-03 03:32:40 +01:00
mvebu-uart.c serial: mvebu-uart: Use uart_xmit_advance() 2022-11-03 03:35:42 +01:00
mxs-auart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
omap-serial.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
owl-uart.c tty: serial: use uart_port_tx() helper 2022-11-03 03:32:40 +01:00
pch_uart.c tty: pcn_uart: fix memory leak with using debugfs_lookup() 2023-02-08 13:09:55 +01:00
pic32_uart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
pmac_zilog.c serial: pmac_zilog: Use uart_xmit_advance() 2022-11-03 03:35:42 +01:00
pmac_zilog.h serial: pmac_zilog: remove unused uart_pmac_port::termios_cache 2022-05-19 18:23:19 +02:00
pxa.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
qcom_geni_serial.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
rda-uart.c serial: rda: Use uart_xmit_advance() 2022-11-03 03:35:42 +01:00
rp2.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sa1100.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
samsung_tty.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sb1250-duart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sc16is7xx.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sccnxp.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
serial_base_bus.c serial: core: fix -EPROBE_DEFER handling in init 2023-06-15 12:20:51 +02:00
serial_base.h serial: core: Start managing serial controllers to enable runtime PM 2023-05-31 10:46:59 +01:00
serial_core.c serial: pass state to __uart_start() directly 2023-07-25 19:21:03 +02:00
serial_ctrl.c serial: core: Start managing serial controllers to enable runtime PM 2023-05-31 10:46:59 +01:00
serial_mctrl_gpio.c Documentation: serial: move GPIO kernel-doc to the functions 2022-07-28 10:37:42 +02:00
serial_mctrl_gpio.h serial: mctrl_gpio: add a new API to enable / disable wake_irq 2022-02-08 11:07:16 +01:00
serial_port.c serial: core: Start managing serial controllers to enable runtime PM 2023-05-31 10:46:59 +01:00
serial_txx9.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
serial-tegra.c serial: tegra: Don't print error on probe deferral 2023-07-25 20:19:39 +02:00
sh-sci.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
sh-sci.h tty: serial: sh-sci: Add support for tx end interrupt handling 2023-04-20 13:47:33 +02:00
sifive.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sprd_serial.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
st-asc.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
stm32-usart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
stm32-usart.h serial: stm32: Remove unused struct stm32_port txdone element 2023-03-09 17:16:11 +01:00
suncore.c
sunhv.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
sunplus-uart.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
sunsab.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
sunsab.h
sunsu.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
sunzilog.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
sunzilog.h
tegra-tcu.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
timbuart.c serial: timbuart: Use uart_xmit_advance() 2022-11-03 03:35:43 +01:00
timbuart.h
uartlite.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
ucc_uart.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
vt8500_serial.c tty: Explicitly include correct DT includes 2023-07-25 20:19:05 +02:00
xilinx_uartps.c serial: Make uart_remove_one_port() return void 2023-05-13 19:48:16 +09:00
zs.c serial: drivers: switch ch and flag to u8 2023-07-25 19:21:04 +02:00
zs.h