mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
AMD Promontory 21 (PROM21) xHCI PCI functions use the common xhci-pci core for USB operation, but also expose controller-specific sensor data. Add a small PROM21 PCI glue driver for AMD 1022:43fc and 1022:43fd controllers. The glue delegates USB host operation to the common xhci-pci core and publishes a "hwmon" auxiliary device with parent-provided MMIO data. Auxiliary device creation failure is logged but does not fail the xHCI probe. Make the PROM21 glue a hidden Kconfig tristate driven by the user-visible SENSORS_PROM21_XHCI option. If sensor support is disabled, generic xhci-pci binds PROM21 controllers normally. If sensor support is enabled, the glue follows USB_XHCI_PCI. This keeps the auxiliary device available for a modular sensor driver while avoiding a built-in xhci-pci core handing PROM21 controllers to a glue driver that is only available as a module during initramfs. Assisted-by: Codex:gpt-5.5 Signed-off-by: Jihong Min <hurryman2212@gmail.com> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Tested-by: Yaroslav Isakov <yaroslav.isakov@gmail.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Link: https://patch.msgid.link/20260519000732.2334711-2-hurryman2212@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
23 lines
447 B
C
23 lines
447 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* AMD Promontory 21 xHCI auxiliary device platform data.
|
|
*
|
|
* Copyright (C) 2026 Jihong Min <hurryman2212@gmail.com>
|
|
*/
|
|
|
|
#ifndef _LINUX_PLATFORM_DATA_USB_XHCI_PROM21_H
|
|
#define _LINUX_PLATFORM_DATA_USB_XHCI_PROM21_H
|
|
|
|
#include <linux/compiler_types.h>
|
|
#include <linux/types.h>
|
|
|
|
struct pci_dev;
|
|
|
|
struct prom21_xhci_pdata {
|
|
struct pci_dev *pdev;
|
|
void __iomem *regs;
|
|
resource_size_t rsrc_len;
|
|
};
|
|
|
|
#endif
|