diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2015-02-03 11:08:39 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-02-03 18:28:31 -0500 |
commit | 518ca8d9326e258f4595bfe9bc7fc61f5c3636cb (patch) | |
tree | 751943150dceda03b06bb3af0fdf0222437d48ef | |
parent | b3a54bf9ed76dff9dd26e1fc719431fb14604a8a (diff) |
ehci-pci: disable for Intel MID platforms (update)
This is a follow up to the previously submitted commit cefa9a31a5f0 (ehci-pci:
disable for Intel MID platforms).
It includes the following changes:
- table and function are renamed to reflect this is not only about ChipIdea
- ChipIdea PCI driver (ci_hdrc_pci.c) gets the comment about the table in
ehci-pci.c
- MIPS IDs removed from the list since it was discovered and tested on Intel
MID platforms
Reviewed-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/chipidea/ci_hdrc_pci.c | 3 | ||||
-rw-r--r-- | drivers/usb/host/ehci-pci.c | 16 |
2 files changed, 13 insertions, 6 deletions
diff --git a/drivers/usb/chipidea/ci_hdrc_pci.c b/drivers/usb/chipidea/ci_hdrc_pci.c index 241ae3444fde..4df669437211 100644 --- a/drivers/usb/chipidea/ci_hdrc_pci.c +++ b/drivers/usb/chipidea/ci_hdrc_pci.c | |||
@@ -111,6 +111,9 @@ static void ci_hdrc_pci_remove(struct pci_dev *pdev) | |||
111 | * PCI device structure | 111 | * PCI device structure |
112 | * | 112 | * |
113 | * Check "pci.h" for details | 113 | * Check "pci.h" for details |
114 | * | ||
115 | * Note: ehci-pci driver may try to probe the device first. You have to add an | ||
116 | * ID to the bypass_pci_id_table in ehci-pci driver to prevent this. | ||
114 | */ | 117 | */ |
115 | static const struct pci_device_id ci_hdrc_pci_id_table[] = { | 118 | static const struct pci_device_id ci_hdrc_pci_id_table[] = { |
116 | { | 119 | { |
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 965202138161..2a5d2fd76040 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c | |||
@@ -42,18 +42,22 @@ static inline bool is_intel_quark_x1000(struct pci_dev *pdev) | |||
42 | pdev->device == PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC; | 42 | pdev->device == PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC; |
43 | } | 43 | } |
44 | 44 | ||
45 | static const struct pci_device_id ci_hdrc_pci_id_table[] = { | 45 | /* |
46 | { PCI_DEVICE(0x153F, 0x1004), }, | 46 | * This is the list of PCI IDs for the devices that have EHCI USB class and |
47 | { PCI_DEVICE(0x153F, 0x1006), }, | 47 | * specific drivers for that. One of the example is a ChipIdea device installed |
48 | * on some Intel MID platforms. | ||
49 | */ | ||
50 | static const struct pci_device_id bypass_pci_id_table[] = { | ||
51 | /* ChipIdea on Intel MID platform */ | ||
48 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0811), }, | 52 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0811), }, |
49 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829), }, | 53 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829), }, |
50 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xe006), }, | 54 | { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xe006), }, |
51 | {} | 55 | {} |
52 | }; | 56 | }; |
53 | 57 | ||
54 | static inline bool is_ci_hdrc_pci(struct pci_dev *pdev) | 58 | static inline bool is_bypassed_id(struct pci_dev *pdev) |
55 | { | 59 | { |
56 | return !!pci_match_id(ci_hdrc_pci_id_table, pdev); | 60 | return !!pci_match_id(bypass_pci_id_table, pdev); |
57 | } | 61 | } |
58 | 62 | ||
59 | /* | 63 | /* |
@@ -368,7 +372,7 @@ static const struct ehci_driver_overrides pci_overrides __initconst = { | |||
368 | 372 | ||
369 | static int ehci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) | 373 | static int ehci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) |
370 | { | 374 | { |
371 | if (is_ci_hdrc_pci(pdev)) | 375 | if (is_bypassed_id(pdev)) |
372 | return -ENODEV; | 376 | return -ENODEV; |
373 | return usb_hcd_pci_probe(pdev, id); | 377 | return usb_hcd_pci_probe(pdev, id); |
374 | } | 378 | } |