[v3,6/6] iommu/amd: Switch to use acpi_dev_hid_uid_match()
diff mbox series

Message ID 20191001142725.30857-7-andriy.shevchenko@linux.intel.com
State Awaiting Upstream
Delegated to: Rafael Wysocki
Headers show
Series
  • ACPI / utils: add new helper for HID/UID match
Related show

Commit Message

Andy Shevchenko Oct. 1, 2019, 2:27 p.m. UTC
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(-)

Comments

Jerry Snitselaar Oct. 8, 2019, 9:46 p.m. UTC | #1
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>

Patch
diff mbox series

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;