Commit 197a5aea authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Rafael J. Wysocki
Browse files

ACPI: x86: Refactor _UID handling to use acpi_dev_uid_to_integer()



ACPI utils provide acpi_dev_uid_to_integer() helper to extract _UID as
an integer. Use it instead of custom approach.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 2a036e48
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -351,11 +351,17 @@ int acpi_quirk_skip_serdev_enumeration(struct device *controller_parent, bool *s
	struct acpi_device *adev = ACPI_COMPANION(controller_parent);
	const struct dmi_system_id *dmi_id;
	long quirks = 0;
	u64 uid;
	int ret;

	*skip = false;

	/* !dev_is_platform() to not match on PNP enumerated debug UARTs */
	if (!adev || !adev->pnp.unique_id || !dev_is_platform(controller_parent))
	ret = acpi_dev_uid_to_integer(adev, &uid);
	if (ret)
		return 0;

	/* to not match on PNP enumerated debug UARTs */
	if (!dev_is_platform(controller_parent))
		return 0;

	dmi_id = dmi_first_match(acpi_quirk_skip_dmi_ids);
@@ -363,10 +369,10 @@ int acpi_quirk_skip_serdev_enumeration(struct device *controller_parent, bool *s
		quirks = (unsigned long)dmi_id->driver_data;

	if (quirks & ACPI_QUIRK_UART1_TTY_UART2_SKIP) {
		if (!strcmp(adev->pnp.unique_id, "1"))
		if (uid == 1)
			return -ENODEV; /* Create tty cdev instead of serdev */

		if (!strcmp(adev->pnp.unique_id, "2"))
		if (uid == 2)
			*skip = true;
	}