Commit 12bbabd3 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

usb: cdns3: Synchronise PCI IDs via common data base



There are a few places in the kernel where PCI IDs for different Cadence
USB controllers are being used. Besides different naming, they duplicate
each other. Make this all in order by providing common definitions via
PCI IDs database and use in all users. While doing that, rename
definitions as Roger suggested.

Suggested-by: default avatarRoger Quadros <rogerq@kernel.org>
Suggested-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/r/20241112160125.2340972-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ce25e2a8
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@ struct cdns3_wrap {
#define PCI_DRIVER_NAME		"cdns3-pci-usbss"
#define PLAT_DRIVER_NAME	"cdns-usb3"

#define PCI_DEVICE_ID_CDNS_USB3	0x0100

static struct pci_dev *cdns3_get_second_fun(struct pci_dev *pdev)
{
	struct pci_dev *func;
@@ -189,7 +187,7 @@ static void cdns3_pci_remove(struct pci_dev *pdev)
}

static const struct pci_device_id cdns3_pci_ids[] = {
	{ PCI_VDEVICE(CDNS, PCI_DEVICE_ID_CDNS_USB3) },
	{ PCI_VDEVICE(CDNS, PCI_DEVICE_ID_CDNS_USBSS) },
	{ 0, }
};

+10 −16
Original line number Diff line number Diff line
@@ -28,12 +28,6 @@
#define PCI_DRIVER_NAME		"cdns-pci-usbssp"
#define PLAT_DRIVER_NAME	"cdns-usbssp"

#define PCI_DEVICE_ID_CDNS_USB3		0x0100
#define PCI_DEVICE_ID_CDNS_UDC		0x0200

#define PCI_CLASS_SERIAL_USB_CDNS_USB3	(PCI_CLASS_SERIAL_USB << 8 | 0x80)
#define PCI_CLASS_SERIAL_USB_CDNS_UDC	PCI_CLASS_SERIAL_USB_DEVICE

static struct pci_dev *cdnsp_get_second_fun(struct pci_dev *pdev)
{
	/*
@@ -41,10 +35,10 @@ static struct pci_dev *cdnsp_get_second_fun(struct pci_dev *pdev)
	 * Platform has two function. The fist keeps resources for
	 * Host/Device while the secon keeps resources for DRD/OTG.
	 */
	if (pdev->device == PCI_DEVICE_ID_CDNS_UDC)
		return pci_get_device(pdev->vendor, PCI_DEVICE_ID_CDNS_USB3, NULL);
	if (pdev->device == PCI_DEVICE_ID_CDNS_USB3)
		return pci_get_device(pdev->vendor, PCI_DEVICE_ID_CDNS_UDC, NULL);
	if (pdev->device == PCI_DEVICE_ID_CDNS_USBSSP)
		return pci_get_device(pdev->vendor, PCI_DEVICE_ID_CDNS_USBSS, NULL);
	if (pdev->device == PCI_DEVICE_ID_CDNS_USBSS)
		return pci_get_device(pdev->vendor, PCI_DEVICE_ID_CDNS_USBSSP, NULL);

	return NULL;
}
@@ -221,12 +215,12 @@ static const struct dev_pm_ops cdnsp_pci_pm_ops = {
};

static const struct pci_device_id cdnsp_pci_ids[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_UDC),
	  .class = PCI_CLASS_SERIAL_USB_CDNS_UDC },
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_UDC),
	  .class = PCI_CLASS_SERIAL_USB_CDNS_USB3 },
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USB3),
	  .class = PCI_CLASS_SERIAL_USB_CDNS_USB3 },
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USBSSP),
	  .class = PCI_CLASS_SERIAL_USB_DEVICE },
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USBSSP),
	  .class = PCI_CLASS_SERIAL_USB_CDNS },
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USBSS),
	  .class = PCI_CLASS_SERIAL_USB_CDNS },
	{ 0, }
};

+1 −2
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
#include "cdns2-gadget.h"

#define PCI_DRIVER_NAME		"cdns-pci-usbhs"
#define PCI_DEVICE_ID_CDNS_USB2	0x0120
#define PCI_BAR_DEV		0
#define PCI_DEV_FN_DEVICE	0

@@ -113,7 +112,7 @@ static const struct dev_pm_ops cdns2_pci_pm_ops = {
};

static const struct pci_device_id cdns2_pci_ids[] = {
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USB2),
	{ PCI_DEVICE(PCI_VENDOR_ID_CDNS, PCI_DEVICE_ID_CDNS_USB),
	  .class = PCI_CLASS_SERIAL_USB_DEVICE },
	{ 0, }
};
+2 −3
Original line number Diff line number Diff line
@@ -82,8 +82,6 @@
#define PCI_DEVICE_ID_ASMEDIA_3042_XHCI			0x3042
#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI			0x3242

#define PCI_DEVICE_ID_CDNS_SSP				0x0200

static const char hcd_name[] = "xhci_hcd";

static struct hc_driver __read_mostly xhci_pci_hc_driver;
@@ -475,8 +473,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
		if (pdev->device == 0x9203)
			xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
	}

	if (pdev->vendor == PCI_VENDOR_ID_CDNS &&
	    pdev->device == PCI_DEVICE_ID_CDNS_SSP)
	    pdev->device == PCI_DEVICE_ID_CDNS_USBSSP)
		xhci->quirks |= XHCI_CDNS_SCTX_QUIRK;

	/* xHC spec requires PCI devices to support D3hot and D3cold */
+4 −0
Original line number Diff line number Diff line
@@ -121,6 +121,7 @@
#define PCI_CLASS_SERIAL_USB_OHCI	0x0c0310
#define PCI_CLASS_SERIAL_USB_EHCI	0x0c0320
#define PCI_CLASS_SERIAL_USB_XHCI	0x0c0330
#define PCI_CLASS_SERIAL_USB_CDNS	0x0c0380
#define PCI_CLASS_SERIAL_USB_DEVICE	0x0c03fe
#define PCI_CLASS_SERIAL_FIBER		0x0c04
#define PCI_CLASS_SERIAL_SMBUS		0x0c05
@@ -2421,6 +2422,9 @@
#define PCI_VENDOR_ID_QCOM		0x17cb

#define PCI_VENDOR_ID_CDNS		0x17cd
#define PCI_DEVICE_ID_CDNS_USBSS	0x0100
#define PCI_DEVICE_ID_CDNS_USB		0x0120
#define PCI_DEVICE_ID_CDNS_USBSSP	0x0200

#define PCI_VENDOR_ID_ARECA		0x17d3
#define PCI_DEVICE_ID_ARECA_1110	0x1110