iommu/amd: Switch to use acpi_dev_hid_uid_match()
[sfrench/cifs-2.6.git] / drivers / iommu / amd_iommu.c
index 2369b8af81f3b7e4d829a75ef979fb1858f0682f..40f3cf44aa98cdfc0e411aa2866835c8e3358ab8 100644 (file)
@@ -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;