[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220928110548.43955-1-andriy.shevchenko@linux.intel.com>
Date: Wed, 28 Sep 2022 14:05:48 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Hans de Goede <hdegoede@...hat.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>
Subject: [PATCH v2 1/1] Input: icn8505 - Utilize acpi_get_subsystem_id()
Replace open coded variant of recently introduced acpi_get_subsystem_id().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
---
v2: used PTR_ERR_OR_ZERO() amd twek the code accordingly (Dmitry)
drivers/input/touchscreen/chipone_icn8505.c | 30 +++++++--------------
1 file changed, 9 insertions(+), 21 deletions(-)
diff --git a/drivers/input/touchscreen/chipone_icn8505.c b/drivers/input/touchscreen/chipone_icn8505.c
index f9ca5502ac8c..c421f4be2700 100644
--- a/drivers/input/touchscreen/chipone_icn8505.c
+++ b/drivers/input/touchscreen/chipone_icn8505.c
@@ -364,32 +364,20 @@ static irqreturn_t icn8505_irq(int irq, void *dev_id)
static int icn8505_probe_acpi(struct icn8505_data *icn8505, struct device *dev)
{
- struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
- const char *subsys = "unknown";
- struct acpi_device *adev;
- union acpi_object *obj;
- acpi_status status;
-
- adev = ACPI_COMPANION(dev);
- if (!adev)
- return -ENODEV;
+ const char *subsys;
+ int error;
- status = acpi_evaluate_object(adev->handle, "_SUB", NULL, &buffer);
- if (ACPI_SUCCESS(status)) {
- obj = buffer.pointer;
- if (obj->type == ACPI_TYPE_STRING)
- subsys = obj->string.pointer;
- else
- dev_warn(dev, "Warning ACPI _SUB did not return a string\n");
- } else {
- dev_warn(dev, "Warning ACPI _SUB failed: %#x\n", status);
- buffer.pointer = NULL;
- }
+ subsys = acpi_get_subsystem_id(ACPI_HANDLE(dev));
+ error = PTR_ERR_OR_ZERO(subsys);
+ if (error == -ENODATA)
+ subsys = "unknown";
+ else if (error)
+ return error;
snprintf(icn8505->firmware_name, sizeof(icn8505->firmware_name),
"chipone/icn8505-%s.fw", subsys);
- kfree(buffer.pointer);
+ kfree_const(subsys);
return 0;
}
--
2.35.1
Powered by blists - more mailing lists