Deleted (upstreamed): generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch [01] generic/backport-5.15/420-v5.19-01-mtd-spinand-gigadevice-fix-Quad-IO-for-GD5F1GQ5UExxG.patch [02] bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch [03] bcm27xx/patches-5.15/950-0417-bcm2711_thermal-Don-t-clamp-temperature-at-zero.patch [04] bcm27xx/patches-5.15/950-0740-drm-vc4-hvs-Fix-frame-count-register-readout.patch [05] bcm27xx/patches-5.15/950-0755-drm-vc4-hvs-Reset-muxes-at-probe-time.patch [06] bcm27xx/patches-5.15/950-0759-drm-vc4-txp-Don-t-set-TXP_VSTART_AT_EOF.patch [07] bcm27xx/patches-5.15/950-0760-drm-vc4-txp-Force-alpha-to-be-0xff-if-it-s-disabled.patch [08] bcm53xx/patches-5.15/031-v5.17-0005-ARM-dts-BCM5301X-update-CRU-block-description.patch [09] mediatek/patches-5.15/102-mt7629-enable-arch-timer.patch [10] Manually rebased: bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch [01] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=f41c9418c5898c01634675150696da290fb86796 [02] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d5b66645305c6f3a1b2cf75cee4157b07f293309 [03] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=119f99209d8531359bcb935f252ec435f9d21b13 [04] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=c4e1280abead1552e1764684079a43e222ccd163 [05] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=08465a1889cb48ec64431e9db745b5be15399251 [06] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=0e26a6da02e63b75b629573d13966c36aa6264f0 [07] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=01c9020b2e7c85e394879f34851805179ac3d1d8 [08] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d47f85cc0171a5d3c5bd8cbb8a98983ca3357cbd [09] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=5151f24ac937ff7eb1f078257c66e3c0f0296010 [10] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=ffea838686b82fbb2801cdfad6ba5309d15c032d Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
116 lines
3.2 KiB
Diff
116 lines
3.2 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Subject: debloat: disable common USB quirks
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
|
|
drivers/usb/host/pci-quirks.h | 18 +++++++++++++++++-
|
|
include/linux/usb/hcd.h | 7 +++++++
|
|
3 files changed, 40 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/usb/host/pci-quirks.c
|
|
+++ b/drivers/usb/host/pci-quirks.c
|
|
@@ -128,6 +128,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;
|
|
@@ -633,6 +635,10 @@ bool usb_amd_pt_check_port(struct device
|
|
}
|
|
EXPORT_SYMBOL_GPL(usb_amd_pt_check_port);
|
|
|
|
+#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.
|
|
@@ -712,8 +718,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;
|
|
@@ -1285,3 +1300,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
|
|
@@ -5,6 +5,9 @@
|
|
#ifdef CONFIG_USB_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_USB_PCI */
|
|
+
|
|
+#if defined(CONFIG_USB_PCI) && !defined(CONFIG_PCI_DISABLE_COMMON_QUIRKS)
|
|
int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
|
|
bool usb_amd_hang_symptom_quirk(void);
|
|
bool usb_amd_prefetch_quirk(void);
|
|
@@ -19,6 +22,18 @@ void sb800_prefetch(struct device *dev,
|
|
bool usb_amd_pt_check_port(struct device *device, int port);
|
|
#else
|
|
struct pci_dev;
|
|
+static inline int usb_amd_quirk_pll_check(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_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
|
|
@@ -29,6 +44,11 @@ static inline bool usb_amd_pt_check_port
|
|
{
|
|
return false;
|
|
}
|
|
+static inline void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) {}
|
|
+static inline bool usb_xhci_needs_pci_reset(struct pci_dev *pdev)
|
|
+{
|
|
+ return false;
|
|
+}
|
|
#endif /* CONFIG_USB_PCI */
|
|
|
|
#endif /* __LINUX_USB_PCI_QUIRKS_H */
|
|
--- a/include/linux/usb/hcd.h
|
|
+++ b/include/linux/usb/hcd.h
|
|
@@ -497,7 +497,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;
|