linux/drivers/tty/serial
Jonathan Bakker 942a6ff214 tty: serial: samsung: Correct clock selection logic
[ Upstream commit 7d31676a8d ]

Some variants of the samsung tty driver can pick which clock
to use for their baud rate generation.  In the DT conversion,
a default clock was selected to be used if a specific one wasn't
assigned and then a comparison of which clock rate worked better
was done.  Unfortunately, the comparison was implemented in such
a way that only the default clock was ever actually compared.
Fix this by iterating through all possible clocks, except when a
specific clock has already been picked via clk_sel (which is
only possible via board files).

Signed-off-by: Jonathan Bakker <xc-racer2@live.ca>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/BN6PR04MB06604E63833EA41837EBF77BA3A30@BN6PR04MB0660.namprd04.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-01 13:18:00 +02:00
..
8250 serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout 2020-10-01 13:17:46 +02:00
cpm_uart tty: cpm_uart: drop unused iflag macro 2019-05-24 10:09:16 +02:00
jsm tty: add SPDX identifiers to Kconfig and Makefiles 2019-04-04 18:48:43 +02:00
21285.c
Kconfig serial/sifive: select SERIAL_EARLYCON 2019-10-04 15:01:15 +02:00
Makefile TTY/Serial driver changes for 5.4-rc1 2019-09-18 10:50:47 -07:00
altera_jtaguart.c
altera_uart.c
amba-pl010.c
amba-pl011.c serial: pl011: Don't leak amba_ports entry on driver register error 2020-09-03 11:27:03 +02:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE 2020-03-12 13:00:10 +01:00
arc_uart.c
atmel_serial.c tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode 2020-02-28 17:22:19 +01:00
atmel_serial.h
bcm63xx_uart.c
clps711x.c
digicolor-usart.c tty/serial: digicolor: Fix digicolor-usart already registered warning 2019-06-10 19:08:31 +02:00
dz.c
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c
earlycon.c
efm32-uart.c
fsl_linflexuart.c tty: serial: linflexuart: Fix magic SysRq handling 2019-10-04 15:02:28 +02:00
fsl_lpuart.c tty: serial: fsl_lpuart: free IDs allocated by IDA 2020-03-12 13:00:20 +01:00
icom.c tty: serial: Remove call to memset after pci_alloc_consistent 2019-09-04 12:43:44 +02:00
icom.h
ifx6x60.c serial: ifx6x60: add missed pm_runtime_disable 2019-12-13 08:42:25 +01:00
ifx6x60.h
imx.c tty: serial: imx: setup the correct sg entry for tx dma 2020-02-28 17:22:19 +01:00
ip22zilog.c
ip22zilog.h
kgdb_nmi.c
kgdboc.c kgdboc: Use a platform device to handle tty drivers showing up late 2020-06-22 09:31:06 +02:00
lantiq.c serial: lantiq: Add support for Lightning Mountain SoC 2019-09-04 12:43:53 +02:00
lpc32xx_hs.c TTY/Serial driver changes for 5.4-rc1 2019-09-18 10:50:47 -07:00
max310x.c serial: max310x: turn off transmitter before activating AutoCTS or auto transmitter flow control 2019-09-05 09:57:44 +02:00
max3100.c
mcf.c
men_z135_uart.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
meson_uart.c
milbeaut_usio.c serial: milbeaut_usio: Fix error handling in probe and remove 2019-04-29 16:20:24 +02:00
mpc52xx_uart.c
mps2-uart.c
msm_serial.c tty: serial: msm_serial: Fix lockup for sysrq and oops 2020-01-09 10:20:05 +01:00
mux.c
mvebu-uart.c tty:serial:mvebu-uart:fix a wrong return 2020-03-12 13:00:20 +01:00
mxs-auart.c serial: mxs-auart: add missed iounmap() in probe failure and remove 2020-07-22 09:33:11 +02:00
omap-serial.c
owl-uart.c tty: serial: owl: add "much needed" clk_prepare_enable() 2020-04-29 16:33:14 +02:00
pch_uart.c tty: serial: pch_uart: correct usage of dma_unmap_sg 2020-01-17 19:48:55 +01:00
pic32_uart.c
pic32_uart.h
pmac_zilog.c
pmac_zilog.h
pnx8xxx_uart.c
pxa.c
qcom_geni_serial.c tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup 2020-09-09 19:12:20 +02:00
rda-uart.c tty: serial: rda: Fix the link time qualifier of 'rda_uart_exit()' 2019-10-04 15:01:15 +02:00
rp2.c
sa1100.c serial: sa1100: add note about modem control signals 2019-06-04 12:56:33 +01:00
samsung.c tty: serial: samsung: Correct clock selection logic 2020-10-01 13:18:00 +02:00
samsung.h
sb1250-duart.c
sc16is7xx.c Merge 5.1-rc6 into tty-next 2019-04-21 23:20:08 +02:00
sccnxp.c tty: Remove dev_err() usage after platform_get_irq() 2019-09-04 12:43:49 +02:00
serial-tegra.c serial: tegra: fix CREAD handling for PIO 2020-07-29 10:18:42 +02:00
serial_core.c tty: link tty and port before configuring it as console 2020-01-14 20:08:33 +01:00
serial_mctrl_gpio.c serial: mctrl_gpio: Check for NULL pointer 2019-10-07 13:21:54 +02:00
serial_mctrl_gpio.h serial: mctrl_gpio: Avoid probe failures in case of missing gpiolib 2019-09-04 12:43:50 +02:00
serial_txx9.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
sh-sci.c serial: sh-sci: Make sure status register SCxSR is read in correct sequence 2020-04-29 16:33:24 +02:00
sh-sci.h
sifive.c tty: sifive: Finish transmission before changing the clock 2020-10-01 13:17:42 +02:00
sirfsoc_uart.c
sirfsoc_uart.h
sprd_serial.c serial: sprd: Fix a dereference warning 2020-04-02 15:10:59 +02:00
st-asc.c
stm32-usart.c serial: stm32: avoid kernel warning on absence of optional IRQ 2020-09-03 11:27:03 +02:00
stm32-usart.h serial: stm32: add support of RX FIFO threshold 2019-06-21 11:17:36 +02:00
suncore.c
sunhv.c sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg 2019-06-13 14:04:37 -07:00
sunsab.c
sunsab.h
sunsu.c
sunzilog.c
sunzilog.h
tegra-tcu.c
timbuart.c
timbuart.h
uartlite.c serial: uartlite: fix exit path null pointer 2019-10-04 15:02:46 +02:00
ucc_uart.c docs: serial: move it to the driver-api 2019-07-15 11:03:03 -03:00
vr41xx_siu.c
vt8500_serial.c
xilinx_uartps.c serial: uartps: Wait for tx_empty in console setup 2020-10-01 13:17:55 +02:00
zs.c
zs.h