The patch titled serial: copy UART properties of UPF_FIXED_TYPE ports provisioned using early_serial_setup has been added to the -mm tree. Its filename is serial-copy-uart-properties-of-upf_fixed_type-ports-provisioned-using-early_serial_setup.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: serial: copy UART properties of UPF_FIXED_TYPE ports provisioned using early_serial_setup From: Shmulik Ladkani <shmulik@xxxxxxxxx> Augment the UPF_FIXED_TYPE logic, which currently applies to UART ports provisioned using platform_device_register. The suggested patch applies same logic into 'serial8250_register_ports', making UART ports provisioned using early_serial_setup inherit their properties from the uart_config entry. Signed-off-by: Shmulik Ladkani <shmulik@xxxxxxxxx> Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- diff -puN drivers/serial/8250.c~serial-copy-uart-properties-of-upf_fixed_type-ports-provisioned-using-early_serial_setup drivers/serial/8250.c --- a/drivers/serial/8250.c~serial-copy-uart-properties-of-upf_fixed_type-ports-provisioned-using-early_serial_setup +++ a/drivers/serial/8250.c @@ -2690,6 +2690,15 @@ static void __init serial8250_isa_init_p } } +static void +serial8250_init_fixed_type_port(struct uart_8250_port *up, unsigned int type) +{ + up->port.type = type; + up->port.fifosize = uart_config[type].fifo_size; + up->capabilities = uart_config[type].flags; + up->tx_loadsz = uart_config[type].tx_loadsz; +} + static void __init serial8250_register_ports(struct uart_driver *drv, struct device *dev) { @@ -2706,6 +2715,10 @@ serial8250_register_ports(struct uart_dr struct uart_8250_port *up = &serial8250_ports[i]; up->port.dev = dev; + + if (up->port.flags & UPF_FIXED_TYPE) + serial8250_init_fixed_type_port(up, up->port.type); + uart_add_one_port(drv, &up->port); } } @@ -3118,12 +3131,8 @@ int serial8250_register_port(struct uart if (port->dev) uart->port.dev = port->dev; - if (port->flags & UPF_FIXED_TYPE) { - uart->port.type = port->type; - uart->port.fifosize = uart_config[port->type].fifo_size; - uart->capabilities = uart_config[port->type].flags; - uart->tx_loadsz = uart_config[port->type].tx_loadsz; - } + if (port->flags & UPF_FIXED_TYPE) + serial8250_init_fixed_type_port(uart, port->type); set_io_from_upio(&uart->port); /* Possibly override default I/O functions. */ _ Patches currently in -mm which might be from shmulik@xxxxxxxxx are serial-copy-uart-properties-of-upf_fixed_type-ports-provisioned-using-early_serial_setup.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html