mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
TTY/Serial patches for 4.6-rc1
Here's the big tty/serial driver pull request for 4.6-rc1. Lots of changes in here, Peter has been on a tear again, with lots of refactoring and bugs fixes, many thanks to the great work he has been doing. Lots of driver updates and fixes as well, full details in the shortlog. All have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlbp8z8ACgkQMUfUDdst+ym1vwCgnOOCORaZyeQ4QrcxPAK5pHFn VrMAoNHvDgNYtG+Hmzv25Lgp3HnysPin =MLRG -----END PGP SIGNATURE----- Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial updates from Greg KH: "Here's the big tty/serial driver pull request for 4.6-rc1. Lots of changes in here, Peter has been on a tear again, with lots of refactoring and bugs fixes, many thanks to the great work he has been doing. Lots of driver updates and fixes as well, full details in the shortlog. All have been in linux-next for a while with no reported issues" * tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (220 commits) serial: 8250: describe CONFIG_SERIAL_8250_RSA serial: samsung: optimize UART rx fifo access routine serial: pl011: add mark/space parity support serial: sa1100: make sa1100_register_uart_fns a function tty: serial: 8250: add MOXA Smartio MUE boards support serial: 8250: convert drivers to use up_to_u8250p() serial: 8250/mediatek: fix building with SERIAL_8250=m serial: 8250/ingenic: fix building with SERIAL_8250=m serial: 8250/uniphier: fix modular build Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular" Revert "drivers/tty/serial: make 8250/8250_mtk.c explicitly non-modular" serial: mvebu-uart: initial support for Armada-3700 serial port serial: mctrl_gpio: Add missing module license serial: ifx6x60: avoid uninitialized variable use tty/serial: at91: fix bad offset for UART timeout register tty/serial: at91: restore dynamic driver binding serial: 8250: Add hardware dependency to RT288X option TTY, devpts: document pty count limiting tty: goldfish: support platform_device with id -1 drivers: tty: goldfish: Add device tree bindings ...
This commit is contained in:
commit
96b9b1c956
139 changed files with 3447 additions and 3701 deletions
|
|
@ -796,14 +796,13 @@ static inline void early_init_dt_check_for_initrd(unsigned long node)
|
|||
#endif /* CONFIG_BLK_DEV_INITRD */
|
||||
|
||||
#ifdef CONFIG_SERIAL_EARLYCON
|
||||
extern struct of_device_id __earlycon_of_table[];
|
||||
|
||||
static int __init early_init_dt_scan_chosen_serial(void)
|
||||
{
|
||||
int offset;
|
||||
const char *p;
|
||||
const char *p, *q, *options = NULL;
|
||||
int l;
|
||||
const struct of_device_id *match = __earlycon_of_table;
|
||||
const struct earlycon_id *match;
|
||||
const void *fdt = initial_boot_params;
|
||||
|
||||
offset = fdt_path_offset(fdt, "/chosen");
|
||||
|
|
@ -818,27 +817,26 @@ static int __init early_init_dt_scan_chosen_serial(void)
|
|||
if (!p || !l)
|
||||
return -ENOENT;
|
||||
|
||||
/* Remove console options if present */
|
||||
l = strchrnul(p, ':') - p;
|
||||
q = strchrnul(p, ':');
|
||||
if (*q != '\0')
|
||||
options = q + 1;
|
||||
l = q - p;
|
||||
|
||||
/* Get the node specified by stdout-path */
|
||||
offset = fdt_path_offset_namelen(fdt, p, l);
|
||||
if (offset < 0)
|
||||
return -ENODEV;
|
||||
if (offset < 0) {
|
||||
pr_warn("earlycon: stdout-path %.*s not found\n", l, p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (match->compatible[0]) {
|
||||
u64 addr;
|
||||
|
||||
if (fdt_node_check_compatible(fdt, offset, match->compatible)) {
|
||||
match++;
|
||||
for (match = __earlycon_table; match < __earlycon_table_end; match++) {
|
||||
if (!match->compatible[0])
|
||||
continue;
|
||||
}
|
||||
|
||||
addr = fdt_translate_address(fdt, offset);
|
||||
if (addr == OF_BAD_ADDR)
|
||||
return -ENXIO;
|
||||
if (fdt_node_check_compatible(fdt, offset, match->compatible))
|
||||
continue;
|
||||
|
||||
of_setup_earlycon(addr, match->data);
|
||||
of_setup_earlycon(match, offset, options);
|
||||
return 0;
|
||||
}
|
||||
return -ENODEV;
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ static int __init fdt_translate_one(const void *blob, int parent,
|
|||
* that can be mapped to a cpu physical address). This is not really specified
|
||||
* that way, but this is traditionally the way IBM at least do things
|
||||
*/
|
||||
u64 __init fdt_translate_address(const void *blob, int node_offset)
|
||||
static u64 __init fdt_translate_address(const void *blob, int node_offset)
|
||||
{
|
||||
int parent, len;
|
||||
const struct of_bus *bus, *pbus;
|
||||
|
|
@ -239,3 +239,12 @@ u64 __init fdt_translate_address(const void *blob, int node_offset)
|
|||
bail:
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* of_flat_dt_translate_address - translate DT addr into CPU phys addr
|
||||
* @node: node in the flat blob
|
||||
*/
|
||||
u64 __init of_flat_dt_translate_address(unsigned long node)
|
||||
{
|
||||
return fdt_translate_address(initial_boot_params, node);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue