Commit 600655cd authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Dmitry Torokhov

Input: icn8505 - utilize acpi_get_subsystem_id()

Replace open coded variant of recently introduced
acpi_get_subsystem_id().
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220928110548.43955-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 67706524
...@@ -364,32 +364,20 @@ static irqreturn_t icn8505_irq(int irq, void *dev_id) ...@@ -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) static int icn8505_probe_acpi(struct icn8505_data *icn8505, struct device *dev)
{ {
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; const char *subsys;
const char *subsys = "unknown"; int error;
struct acpi_device *adev;
union acpi_object *obj;
acpi_status status;
adev = ACPI_COMPANION(dev);
if (!adev)
return -ENODEV;
status = acpi_evaluate_object(adev->handle, "_SUB", NULL, &buffer); subsys = acpi_get_subsystem_id(ACPI_HANDLE(dev));
if (ACPI_SUCCESS(status)) { error = PTR_ERR_OR_ZERO(subsys);
obj = buffer.pointer; if (error == -ENODATA)
if (obj->type == ACPI_TYPE_STRING) subsys = "unknown";
subsys = obj->string.pointer; else if (error)
else return error;
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;
}
snprintf(icn8505->firmware_name, sizeof(icn8505->firmware_name), snprintf(icn8505->firmware_name, sizeof(icn8505->firmware_name),
"chipone/icn8505-%s.fw", subsys); "chipone/icn8505-%s.fw", subsys);
kfree(buffer.pointer); kfree_const(subsys);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment