Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 6129
b: refs/heads/master
c: 72ce9a8
h: refs/heads/master
i:
  6127: f6e2c56
v: v3
  • Loading branch information
Russell King authored and Russell King committed Jul 27, 2005
1 parent f08fa39 commit 3c8b8b6
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1c7c1fe51629d82e1dff22b2c4d409b252fb2b05
refs/heads/master: 72ce9a83331afdd4df944f210a5210bf5acb7d6a
28 changes: 16 additions & 12 deletions trunk/drivers/serial/8250_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,9 @@ setup_port(struct pci_dev *dev, struct uart_port *port,
if (bar >= PCI_NUM_BAR_RESOURCES)
return -EINVAL;

base = pci_resource_start(dev, bar);

if (pci_resource_flags(dev, bar) & IORESOURCE_MEM) {
base = pci_resource_start(dev, bar);
len = pci_resource_len(dev, bar);

if (!priv->remapped_bar[bar])
Expand All @@ -120,13 +121,16 @@ setup_port(struct pci_dev *dev, struct uart_port *port,
return -ENOMEM;

port->iotype = UPIO_MEM;
port->iobase = 0;
port->mapbase = base + offset;
port->membase = priv->remapped_bar[bar] + offset;
port->regshift = regshift;
} else {
base = pci_resource_start(dev, bar) + offset;
port->iotype = UPIO_PORT;
port->iobase = base;
port->iobase = base + offset;
port->mapbase = 0;
port->membase = NULL;
port->regshift = 0;
}
return 0;
}
Expand Down Expand Up @@ -991,7 +995,7 @@ static struct pci_serial_quirk *find_quirk(struct pci_dev *dev)
}

static _INLINE_ int
get_pci_irq(struct pci_dev *dev, struct pciserial_board *board, int idx)
get_pci_irq(struct pci_dev *dev, struct pciserial_board *board)
{
if (board->flags & FL_NOIRQ)
return 0;
Expand Down Expand Up @@ -1649,6 +1653,7 @@ serial_pci_matches(struct pciserial_board *board,
static int __devinit
pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
{
struct uart_port serial_port;
struct serial_private *priv;
struct pciserial_board *board, tmp;
struct pci_serial_quirk *quirk;
Expand Down Expand Up @@ -1731,17 +1736,16 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
priv->quirk = quirk;
pci_set_drvdata(dev, priv);

memset(&serial_port, 0, sizeof(struct uart_port));
serial_port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ;
serial_port.uartclk = board->base_baud * 16;
serial_port.irq = get_pci_irq(dev, board);
serial_port.dev = &dev->dev;

for (i = 0; i < nr_ports; i++) {
struct uart_port serial_port;
memset(&serial_port, 0, sizeof(struct uart_port));

serial_port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF |
UPF_SHARE_IRQ;
serial_port.uartclk = board->base_baud * 16;
serial_port.irq = get_pci_irq(dev, board, i);
serial_port.dev = &dev->dev;
if (quirk->setup(dev, board, &serial_port, i))
break;

#ifdef SERIAL_DEBUG_PCI
printk("Setup PCI port: port %x, irq %d, type %d\n",
serial_port.iobase, serial_port.irq, serial_port.iotype);
Expand Down

0 comments on commit 3c8b8b6

Please sign in to comment.