mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
serial: 8250: allow specifying iomem size in addition to address
This adds a mapsize field to struct uart_port to be used in conjunction with mapbase. If set, it overrides whatever value serial8250_port_size() would otherwise report. Signed-off-by: Mans Rullgard <mans@mansr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5ef86b7420
commit
ee97d0e3f0
@ -2722,6 +2722,8 @@ serial8250_pm(struct uart_port *port, unsigned int state,
|
||||
|
||||
static unsigned int serial8250_port_size(struct uart_8250_port *pt)
|
||||
{
|
||||
if (pt->port.mapsize)
|
||||
return pt->port.mapsize;
|
||||
if (pt->port.iotype == UPIO_AU) {
|
||||
if (pt->port.type == PORT_RT2880)
|
||||
return 0x100;
|
||||
@ -3553,6 +3555,7 @@ int __init early_serial_setup(struct uart_port *port)
|
||||
p->iotype = port->iotype;
|
||||
p->flags = port->flags;
|
||||
p->mapbase = port->mapbase;
|
||||
p->mapsize = port->mapsize;
|
||||
p->private_data = port->private_data;
|
||||
p->type = port->type;
|
||||
p->line = port->line;
|
||||
@ -3807,6 +3810,7 @@ int serial8250_register_8250_port(struct uart_8250_port *up)
|
||||
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
|
||||
uart->bugs = up->bugs;
|
||||
uart->port.mapbase = up->port.mapbase;
|
||||
uart->port.mapsize = up->port.mapsize;
|
||||
uart->port.private_data = up->port.private_data;
|
||||
uart->port.fifosize = up->port.fifosize;
|
||||
uart->tx_loadsz = up->tx_loadsz;
|
||||
|
@ -237,6 +237,7 @@ struct uart_port {
|
||||
unsigned int line; /* port index */
|
||||
unsigned int minor;
|
||||
resource_size_t mapbase; /* for ioremap */
|
||||
resource_size_t mapsize;
|
||||
struct device *dev; /* parent device */
|
||||
unsigned char hub6; /* this should be in the 8250 driver */
|
||||
unsigned char suspended;
|
||||
|
Loading…
Reference in New Issue
Block a user