|
@@ -2903,6 +2903,7 @@ static int __devinit serial8250_probe(struct platform_device *dev)
|
|
|
port.mapbase = p->mapbase;
|
|
|
port.hub6 = p->hub6;
|
|
|
port.private_data = p->private_data;
|
|
|
+ port.type = p->type;
|
|
|
port.serial_in = p->serial_in;
|
|
|
port.serial_out = p->serial_out;
|
|
|
port.dev = &dev->dev;
|
|
@@ -3058,6 +3059,14 @@ int serial8250_register_port(struct uart_port *port)
|
|
|
uart->port.private_data = port->private_data;
|
|
|
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;
|
|
|
+ }
|
|
|
+
|
|
|
set_io_from_upio(&uart->port);
|
|
|
/* Possibly override default I/O functions. */
|
|
|
if (port->serial_in)
|