From f4b6bd8d0b8ef711d36616d4f1969cddc3a1a8f0 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sat, 8 Feb 2014 16:32:37 +0000
Subject: [PATCH] kernel: XHCI PCI quirks for kernel 3.12 and 3.13

This adds empty definitions for the PCI quirks functions when they
should not be included in the kernel.
This is based on a patch by Daniel <daniel@makrotopia.org>

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 39534
---
 .../811-pci_disable_usb_common_quirks.patch   | 14 ++++-------
 .../811-pci_disable_usb_common_quirks.patch   | 23 ++++++++++---------
 2 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/target/linux/generic/patches-3.12/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.12/811-pci_disable_usb_common_quirks.patch
index ca0cc469e2..d06ad49227 100644
--- a/target/linux/generic/patches-3.12/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/patches-3.12/811-pci_disable_usb_common_quirks.patch
@@ -46,24 +46,17 @@
 +#endif
 --- a/drivers/usb/host/pci-quirks.h
 +++ b/drivers/usb/host/pci-quirks.h
-@@ -4,20 +4,29 @@
+@@ -4,6 +4,9 @@
  #ifdef CONFIG_PCI
  void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
  int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
-+bool usb_is_intel_switchable_xhci(struct pci_dev *pdev);
-+void usb_enable_xhci_ports(struct pci_dev *xhci_pdev);
-+void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
-+#else
-+static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
 +#endif  /* CONFIG_PCI */
 +
 +#if defined(CONFIG_PCI) && !defined(CONFIG_PCI_DISABLE_COMMON_QUIRKS)
  int usb_amd_find_chipset_info(void);
  void usb_amd_dev_put(void);
  void usb_amd_quirk_pll_disable(void);
- void usb_amd_quirk_pll_enable(void);
--void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
--void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
+@@ -13,11 +16,16 @@ void usb_disable_xhci_ports(struct pci_d
  void sb800_prefetch(struct device *dev, int on);
  #else
  struct pci_dev;
@@ -74,9 +67,10 @@
  static inline void usb_amd_quirk_pll_disable(void) {}
  static inline void usb_amd_quirk_pll_enable(void) {}
  static inline void usb_amd_dev_put(void) {}
--static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
+ static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
  static inline void sb800_prefetch(struct device *dev, int on) {}
 -#endif  /* CONFIG_PCI */
++static inline void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) {}
 +#endif
  
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
diff --git a/target/linux/generic/patches-3.13/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.13/811-pci_disable_usb_common_quirks.patch
index 1ec3a991b2..359c631342 100644
--- a/target/linux/generic/patches-3.13/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/patches-3.13/811-pci_disable_usb_common_quirks.patch
@@ -46,38 +46,39 @@
 +#endif
 --- a/drivers/usb/host/pci-quirks.h
 +++ b/drivers/usb/host/pci-quirks.h
-@@ -4,22 +4,30 @@
+@@ -4,6 +4,9 @@
  #ifdef CONFIG_PCI
  void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
  int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
-+void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
-+void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
-+#else
-+static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
 +#endif  /* CONFIG_PCI */
 +
 +#if defined(CONFIG_PCI) && !defined(CONFIG_PCI_DISABLE_COMMON_QUIRKS)
  int usb_amd_find_chipset_info(void);
  bool usb_amd_hang_symptom_quirk(void);
  bool usb_amd_prefetch_quirk(void);
- void usb_amd_dev_put(void);
- void usb_amd_quirk_pll_disable(void);
- void usb_amd_quirk_pll_enable(void);
--void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
--void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
+@@ -15,11 +18,24 @@ void usb_disable_xhci_ports(struct pci_d
  void sb800_prefetch(struct device *dev, int on);
  #else
  struct pci_dev;
 +static inline int usb_amd_find_chipset_info(void)
 +{
 +	return 0;
++}
++static inline bool usb_amd_hang_symptom_quirk(void)
++{
++	return false;
++}
++static inline bool usb_amd_prefetch_quirk(void)
++{
++	return false;
 +}
  static inline void usb_amd_quirk_pll_disable(void) {}
  static inline void usb_amd_quirk_pll_enable(void) {}
  static inline void usb_amd_dev_put(void) {}
--static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
+ static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
  static inline void sb800_prefetch(struct device *dev, int on) {}
 -#endif  /* CONFIG_PCI */
++static inline void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) {}
 +#endif
  
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
-- 
2.25.1