Messages in this thread Patch in this message | | | From | Alexander Usyskin <> | Subject | [PATCH 3/5] mei: pxp: match without driver name | Date | Tue, 7 Nov 2023 15:46:04 +0200 |
| |
Remove dependency on i915 driver name in component_match function. Use PCI header information to match Intel graphics device.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> --- drivers/misc/mei/pxp/mei_pxp.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/mei/pxp/mei_pxp.c b/drivers/misc/mei/pxp/mei_pxp.c index 2dcb9169e404..e74b2facfdf9 100644 --- a/drivers/misc/mei/pxp/mei_pxp.c +++ b/drivers/misc/mei/pxp/mei_pxp.c @@ -12,6 +12,7 @@ */ #include <linux/module.h> +#include <linux/pci.h> #include <linux/slab.h> #include <linux/mei.h> #include <linux/mei_cl_bus.h> @@ -154,12 +155,21 @@ static int mei_pxp_component_match(struct device *dev, int subcomponent, void *data) { struct device *base = data; + struct pci_dev *pdev; if (!dev) return 0; - if (!dev->driver || strcmp(dev->driver->name, "i915") || - subcomponent != I915_COMPONENT_PXP) + if (!dev_is_pci(dev)) + return 0; + + pdev = to_pci_dev(dev); + + if (pdev->class != (PCI_CLASS_DISPLAY_VGA << 8) || + pdev->vendor != PCI_VENDOR_ID_INTEL) + return 0; + + if (subcomponent != I915_COMPONENT_PXP) return 0; base = base->parent; -- 2.34.1
| |