Commit 54b2f300 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Greg Kroah-Hartman
Browse files

serial: 8250_pci: Replace custom code with pci_match_id()



serial_pci_is_blacklisted() is very similar to pci_match_id() implementation.
Replace it with the latter.

Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c744ca39
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -3375,6 +3375,9 @@ static const struct pci_device_id blacklist[] = {
	/* Exar devices */
	{ PCI_VDEVICE(EXAR, PCI_ANY_ID), },
	{ PCI_VDEVICE(COMMTECH, PCI_ANY_ID), },

	/* End of the black list */
	{ }
};

static int serial_pci_is_class_communication(struct pci_dev *dev)
@@ -3392,25 +3395,6 @@ static int serial_pci_is_class_communication(struct pci_dev *dev)
	return 0;
}

static int serial_pci_is_blacklisted(struct pci_dev *dev)
{
	const struct pci_device_id *bldev;

	/*
	 * Do not access blacklisted devices that are known not to
	 * feature serial ports or are handled by other modules.
	 */
	for (bldev = blacklist;
	     bldev < blacklist + ARRAY_SIZE(blacklist);
	     bldev++) {
		if (dev->vendor == bldev->vendor &&
		    dev->device == bldev->device)
			return -ENODEV;
	}

	return 0;
}

/*
 * Given a complete unknown PCI device, try to use some heuristics to
 * guess what the configuration might be, based on the pitiful PCI
@@ -3634,6 +3618,7 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
	struct pci_serial_quirk *quirk;
	struct serial_private *priv;
	const struct pciserial_board *board;
	const struct pci_device_id *exclude;
	struct pciserial_board tmp;
	int rc;

@@ -3652,9 +3637,9 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)

	board = &pci_boards[ent->driver_data];

	rc = serial_pci_is_blacklisted(dev);
	if (rc)
		return rc;
	exclude = pci_match_id(blacklist, dev);
	if (exclude)
		return -ENODEV;

	rc = pcim_enable_device(dev);
	pci_save_state(dev);