diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2024-07-31 22:32:29 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-07 12:51:38 +0200 |
commit | 25f51b76f90f10f9bf2fbc05fc51cf685da7ccad (patch) | |
tree | f86cccc1838c1f41d04f775513d183cdffb54e4c /drivers/parisc | |
parent | f358602425486fce2eac1a9592444c9840557754 (diff) | |
download | linux-stable-25f51b76f90f10f9bf2fbc05fc51cf685da7ccad.tar.gz linux-stable-25f51b76f90f10f9bf2fbc05fc51cf685da7ccad.tar.bz2 linux-stable-25f51b76f90f10f9bf2fbc05fc51cf685da7ccad.zip |
xhci-pci: Make xhci-pci-renesas a proper modular driver
If CONFIG_USB_XHCI_PCI_RENESAS is enabled, xhci-pci conditionally
calls into the xhci-pci-renesas module, which means both modules must
be loaded to use any xHCI PCI controller.
The MODULE_FIRMWARE declaration in the base xhci-pci module causes
initramfs-tools to check for and warn about missing firmware for the
Renesas xHCI controllers, when any xHCI PCI controller is present.
And because of the previous oddity, simply moving this declaration to
xhci-pci-renesas wouldn't help.
To fix this, reverse the relationship between the modules:
- Remove the quirk for the Renesas xHCIs, and the driver_data
structure used only for them
- In xhci-pci:
- Rename xhci_pci_probe() to xhci_pci_common_probe()
- Export xhci_pci_common_probe() and xhci_pci_remove()
- Use a new probe function that rejects the Renesas xHCIs and then
calls the common probe function
- In xhci-pci-renesas:
- Stop exporting renesas_xhci_check_request_fw()
- Add a probe function that calls renesas_xhci_check_request_fw()
followed by xhci_pci_common_probe()
- Add and register a new pci_driver matching only the Renesas xHCIs
and using its own probe function, but with other operations the
same as in xhci-pci
- Make CONFIG_USB_XHCI_PCI_RENESAS depend on CONFIG_USB_XHCI_PCI,
not the other way around
Finally, move the MODULE_FIRMWARE declaration to xhci-pci-renesas.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Tested-by: Cyril Brulebois <cyril@debamax.com>
Link: https://lore.kernel.org/r/ZqqfXYRJf7kGaqus@decadent.org.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/parisc')
0 files changed, 0 insertions, 0 deletions