Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __LINUX_USB_PCI_QUIRKS_H
3#define __LINUX_USB_PCI_QUIRKS_H
4
5#ifdef CONFIG_USB_PCI_AMD
6int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
7bool usb_amd_hang_symptom_quirk(void);
8bool usb_amd_prefetch_quirk(void);
9void usb_amd_dev_put(void);
10bool usb_amd_quirk_pll_check(void);
11void usb_amd_quirk_pll_disable(void);
12void usb_amd_quirk_pll_enable(void);
13void sb800_prefetch(struct device *dev, int on);
14bool usb_amd_pt_check_port(struct device *device, int port);
15#else
16static inline bool usb_amd_hang_symptom_quirk(void)
17{
18 return false;
19};
20static inline bool usb_amd_prefetch_quirk(void)
21{
22 return false;
23}
24static inline void usb_amd_quirk_pll_disable(void) {}
25static inline void usb_amd_quirk_pll_enable(void) {}
26static inline void usb_amd_dev_put(void) {}
27static inline bool usb_amd_quirk_pll_check(void)
28{
29 return false;
30}
31static inline void sb800_prefetch(struct device *dev, int on) {}
32static inline bool usb_amd_pt_check_port(struct device *device, int port)
33{
34 return false;
35}
36#endif /* CONFIG_USB_PCI_AMD */
37
38#ifdef CONFIG_USB_PCI
39void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
40int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
41void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev);
42void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
43void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
44#else
45struct pci_dev;
46static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
47static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
48#endif /* CONFIG_USB_PCI */
49
50#endif /* __LINUX_USB_PCI_QUIRKS_H */
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __LINUX_USB_PCI_QUIRKS_H
3#define __LINUX_USB_PCI_QUIRKS_H
4
5#ifdef CONFIG_USB_PCI
6void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
7int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
8int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
9bool usb_amd_hang_symptom_quirk(void);
10bool usb_amd_prefetch_quirk(void);
11void usb_amd_dev_put(void);
12bool usb_amd_quirk_pll_check(void);
13void usb_amd_quirk_pll_disable(void);
14void usb_amd_quirk_pll_enable(void);
15void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev);
16void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev);
17void usb_disable_xhci_ports(struct pci_dev *xhci_pdev);
18void sb800_prefetch(struct device *dev, int on);
19bool usb_amd_pt_check_port(struct device *device, int port);
20#else
21struct pci_dev;
22static inline void usb_amd_quirk_pll_disable(void) {}
23static inline void usb_amd_quirk_pll_enable(void) {}
24static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
25static inline void usb_amd_dev_put(void) {}
26static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
27static inline void sb800_prefetch(struct device *dev, int on) {}
28static inline bool usb_amd_pt_check_port(struct device *device, int port)
29{
30 return false;
31}
32#endif /* CONFIG_USB_PCI */
33
34#endif /* __LINUX_USB_PCI_QUIRKS_H */