Message ID | 20191001142725.30857-7-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ACPI / utils: add new helper for HID/UID match | expand |
On Tue Oct 01 19, Andy Shevchenko wrote: >Since we have a generic helper, drop custom implementation in the driver. > >Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> >Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> >--- > drivers/iommu/amd_iommu.c | 30 +++++------------------------- > 1 file changed, 5 insertions(+), 25 deletions(-) > >diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c >index 2369b8af81f3..40f3cf44aa98 100644 >--- a/drivers/iommu/amd_iommu.c >+++ b/drivers/iommu/amd_iommu.c >@@ -124,30 +124,6 @@ static struct lock_class_key reserved_rbtree_key; > * > ****************************************************************************/ > >-static inline int match_hid_uid(struct device *dev, >- struct acpihid_map_entry *entry) >-{ >- struct acpi_device *adev = ACPI_COMPANION(dev); >- const char *hid, *uid; >- >- if (!adev) >- return -ENODEV; >- >- hid = acpi_device_hid(adev); >- uid = acpi_device_uid(adev); >- >- if (!hid || !(*hid)) >- return -ENODEV; >- >- if (!uid || !(*uid)) >- return strcmp(hid, entry->hid); >- >- if (!(*entry->uid)) >- return strcmp(hid, entry->hid); >- >- return (strcmp(hid, entry->hid) || strcmp(uid, entry->uid)); >-} >- > static inline u16 get_pci_device_id(struct device *dev) > { > struct pci_dev *pdev = to_pci_dev(dev); >@@ -158,10 +134,14 @@ static inline u16 get_pci_device_id(struct device *dev) > static inline int get_acpihid_device_id(struct device *dev, > struct acpihid_map_entry **entry) > { >+ struct acpi_device *adev = ACPI_COMPANION(dev); > struct acpihid_map_entry *p; > >+ if (!adev) >+ return -ENODEV; >+ > list_for_each_entry(p, &acpihid_map, list) { >- if (!match_hid_uid(dev, p)) { >+ if (acpi_dev_hid_uid_match(adev, p->hid, p->uid)) { > if (entry) > *entry = p; > return p->devid; >-- >2.23.0 > >_______________________________________________ >iommu mailing list >iommu@lists.linux-foundation.org >https://lists.linuxfoundation.org/mailman/listinfo/iommu Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 2369b8af81f3..40f3cf44aa98 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -124,30 +124,6 @@ static struct lock_class_key reserved_rbtree_key; * ****************************************************************************/ -static inline int match_hid_uid(struct device *dev, - struct acpihid_map_entry *entry) -{ - struct acpi_device *adev = ACPI_COMPANION(dev); - const char *hid, *uid; - - if (!adev) - return -ENODEV; - - hid = acpi_device_hid(adev); - uid = acpi_device_uid(adev); - - if (!hid || !(*hid)) - return -ENODEV; - - if (!uid || !(*uid)) - return strcmp(hid, entry->hid); - - if (!(*entry->uid)) - return strcmp(hid, entry->hid); - - return (strcmp(hid, entry->hid) || strcmp(uid, entry->uid)); -} - static inline u16 get_pci_device_id(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); @@ -158,10 +134,14 @@ static inline u16 get_pci_device_id(struct device *dev) static inline int get_acpihid_device_id(struct device *dev, struct acpihid_map_entry **entry) { + struct acpi_device *adev = ACPI_COMPANION(dev); struct acpihid_map_entry *p; + if (!adev) + return -ENODEV; + list_for_each_entry(p, &acpihid_map, list) { - if (!match_hid_uid(dev, p)) { + if (acpi_dev_hid_uid_match(adev, p->hid, p->uid)) { if (entry) *entry = p; return p->devid;