123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- --- a/drivers/usb/host/pci-quirks.c
- +++ b/drivers/usb/host/pci-quirks.c
- @@ -98,6 +98,8 @@ struct amd_chipset_type {
- u8 rev;
- };
-
- +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
- +
- static struct amd_chipset_info {
- struct pci_dev *nb_dev;
- struct pci_dev *smbus_dev;
- @@ -465,6 +467,10 @@ void usb_amd_dev_put(void)
- }
- EXPORT_SYMBOL_GPL(usb_amd_dev_put);
-
- +#endif /* CONFIG_PCI_DISABLE_COMMON_QUIRKS */
- +
- +#if IS_ENABLED(CONFIG_USB_UHCI_HCD)
- +
- /*
- * Make sure the controller is completely inactive, unable to
- * generate interrupts or do DMA.
- @@ -544,8 +550,17 @@ reset_needed:
- uhci_reset_hc(pdev, base);
- return 1;
- }
- +#else
- +int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base)
- +{
- + return 0;
- +}
- +
- +#endif
- EXPORT_SYMBOL_GPL(uhci_check_and_reset_hc);
-
- +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
- +
- static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
- {
- u16 cmd;
- @@ -1110,3 +1125,4 @@ static void quirk_usb_early_handoff(stru
- }
- DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
- PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
- +#endif
- --- a/drivers/usb/host/pci-quirks.h
- +++ b/drivers/usb/host/pci-quirks.h
- @@ -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);
- +#endif /* CONFIG_PCI */
- +
- +#if defined(CONFIG_PCI) && !defined(CONFIG_PCI_DISABLE_COMMON_QUIRKS)
- int usb_amd_find_chipset_info(void);
- int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
- bool usb_amd_hang_symptom_quirk(void);
- @@ -16,11 +19,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 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 */
- --- a/include/linux/usb/hcd.h
- +++ b/include/linux/usb/hcd.h
- @@ -460,7 +460,14 @@ extern int usb_hcd_pci_probe(struct pci_
- extern void usb_hcd_pci_remove(struct pci_dev *dev);
- extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
-
- +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS
- extern int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *dev);
- +#else
- +static inline int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *dev)
- +{
- + return 0;
- +}
- +#endif
-
- #ifdef CONFIG_PM
- extern const struct dev_pm_ops usb_hcd_pci_pm_ops;
|