Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8178a89e authored by Jan Beulich's avatar Jan Beulich Committed by Greg Kroah-Hartman
Browse files

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: default avatarJan Beulich <jbeulich@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 30c6c352
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
@@ -1334,29 +1334,6 @@ static int pci_default_setup(struct serial_private *priv,
	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
ce4100_serial_setup(struct serial_private *priv,
		  const struct pciserial_board *board,
@@ -2243,16 +2220,6 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
		.setup		= pci_default_setup,
		.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
	 */