serial/8250_pci: simplify Pericom handling
Considering that pci_pericom_setup(()'s only difference to pci_default_setup() is the setting of the uartclk field, and taking into account that this field already gets taken care of by having the base_baud field filled in the pci_boards[] entries, there's no need for both the function and the quirks table entry. Signed-off-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
30c6c352ce
commit
8178a89eb8
|
@ -1334,29 +1334,6 @@ static int pci_default_setup(struct serial_private *priv,
|
||||||
return setup_port(priv, port, bar, offset, board->reg_shift);
|
return setup_port(priv, port, bar, offset, board->reg_shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pci_pericom_setup(struct serial_private *priv,
|
|
||||||
const struct pciserial_board *board,
|
|
||||||
struct uart_8250_port *port, int idx)
|
|
||||||
{
|
|
||||||
unsigned int bar, offset = board->first_offset, maxnr;
|
|
||||||
|
|
||||||
bar = FL_GET_BASE(board->flags);
|
|
||||||
if (board->flags & FL_BASE_BARS)
|
|
||||||
bar += idx;
|
|
||||||
else
|
|
||||||
offset += idx * board->uart_offset;
|
|
||||||
|
|
||||||
maxnr = (pci_resource_len(priv->dev, bar) - board->first_offset) >>
|
|
||||||
(board->reg_shift + 3);
|
|
||||||
|
|
||||||
if (board->flags & FL_REGION_SZ_CAP && idx >= maxnr)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
port->port.uartclk = 14745600;
|
|
||||||
|
|
||||||
return setup_port(priv, port, bar, offset, board->reg_shift);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ce4100_serial_setup(struct serial_private *priv,
|
ce4100_serial_setup(struct serial_private *priv,
|
||||||
const struct pciserial_board *board,
|
const struct pciserial_board *board,
|
||||||
|
@ -2243,16 +2220,6 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
|
||||||
.setup = pci_default_setup,
|
.setup = pci_default_setup,
|
||||||
.exit = pci_plx9050_exit,
|
.exit = pci_plx9050_exit,
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
* Pericom
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
.vendor = PCI_VENDOR_ID_PERICOM,
|
|
||||||
.device = PCI_ANY_ID,
|
|
||||||
.subvendor = PCI_ANY_ID,
|
|
||||||
.subdevice = PCI_ANY_ID,
|
|
||||||
.setup = pci_pericom_setup,
|
|
||||||
},
|
|
||||||
/*
|
/*
|
||||||
* PLX
|
* PLX
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue