Pull tty / serial driver updates from Greg KH: "Here is the big set of TTY/Serial driver updates and cleanups for 6.9-rc1. Included in here are: - more tty cleanups from Jiri - loads of 8250 driver cleanups from Andy - max310x driver updates - samsung serial driver updates - uart_prepare_sysrq_char() updates for many drivers - platform driver remove callback void cleanups - stm32 driver updates - other small tty/serial driver updates All of these have been in linux-next for a long time with no reported issues" * tag 'tty-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (199 commits) dt-bindings: serial: stm32: add power-domains property serial: 8250_dw: Replace ACPI device check by a quirk serial: Lock console when calling into driver before registration serial: 8250_uniphier: Switch to use uart_read_port_properties() serial: 8250_tegra: Switch to use uart_read_port_properties() serial: 8250_pxa: Switch to use uart_read_port_properties() serial: 8250_omap: Switch to use uart_read_port_properties() serial: 8250_of: Switch to use uart_read_port_properties() serial: 8250_lpc18xx: Switch to use uart_read_port_properties() serial: 8250_ingenic: Switch to use uart_read_port_properties() serial: 8250_dw: Switch to use uart_read_port_properties() serial: 8250_bcm7271: Switch to use uart_read_port_properties() serial: 8250_bcm2835aux: Switch to use uart_read_port_properties() serial: 8250_aspeed_vuart: Switch to use uart_read_port_properties() serial: port: Introduce a common helper to read properties serial: core: Add UPIO_UNKNOWN constant for unknown port type serial: core: Move struct uart_port::quirks closer to possible values serial: sh-sci: Call sci_serial_{in,out}() directly serial: core: only stop transmit when HW fifo is empty serial: pch: Use uart_prepare_sysrq_char(). ...
Showing the changes to kernel (1 of 122 files). Show all
Unified · Split
| @@ -3269,6 +3269,21 @@ static int __init keep_bootcon_setup(char *str) · 3268 unmodified lines | |||
| 3269 | 3269 | ||
| 3270 | early_param("keep_bootcon", keep_bootcon_setup); | 3270 | early_param("keep_bootcon", keep_bootcon_setup); |
| 3271 | 3271 | ||
| 3272 | static int console_call_setup(struct console *newcon, char *options) | ||
| 3273 | { | ||
| 3274 | int err; | ||
| 3275 | |||
| 3276 | if (!newcon->setup) | ||
| 3277 | return 0; | ||
| 3278 | |||
| 3279 | /* Synchronize with possible boot console. */ | ||
| 3280 | console_lock(); | ||
| 3281 | err = newcon->setup(newcon, options); | ||
| 3282 | console_unlock(); | ||
| 3283 | |||
| 3284 | return err; | ||
| 3285 | } | ||
| 3286 | |||
| 3272 | /* | 3287 | /* |
| 3273 | * This is called by register_console() to try to match | 3288 | * This is called by register_console() to try to match |
| 3274 | * the newly registered console with any of the ones selected | 3289 | * the newly registered console with any of the ones selected |
| @@ -3304,8 +3319,8 @@ static int try_enable_preferred_console(struct console *newcon, · 29 unmodified lines | |||
| 3304 | if (_braille_register_console(newcon, c)) | 3319 | if (_braille_register_console(newcon, c)) |
| 3305 | return 0; | 3320 | return 0; |
| 3306 | 3321 | ||
| 3307 | if (newcon->setup && | 3322 | err = console_call_setup(newcon, c->options); |
| 3308 | (err = newcon->setup(newcon, c->options)) != 0) | 3323 | if (err) |
| 3309 | return err; | 3324 | return err; |
| 3310 | } | 3325 | } |
| 3311 | newcon->flags |= CON_ENABLED; | 3326 | newcon->flags |= CON_ENABLED; |
| @@ -3331,7 +3346,7 @@ static void try_enable_default_console(struct console *newcon) · 19 unmodified lines | |||
| 3331 | if (newcon->index < 0) | 3346 | if (newcon->index < 0) |
| 3332 | newcon->index = 0; | 3347 | newcon->index = 0; |
| 3333 | 3348 | ||
| 3334 | if (newcon->setup && newcon->setup(newcon, NULL) != 0) | 3349 | if (console_call_setup(newcon, NULL) != 0) |
| 3335 | return; | 3350 | return; |
| 3336 | 3351 | ||
| 3337 | newcon->flags |= CON_ENABLED; | 3352 | newcon->flags |= CON_ENABLED; |