mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-01 00:02:19 -04:00
platform/x86: wmi: Simplify get_subobj_info()
All callers who call get_subobj_info() with **info being NULL should better use acpi_has_method() instead. Convert the only caller who does this to acpi_has_method() to drop the dummy info handling. Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Armin Wolf <W_Armin@gmx.de> Link: https://lore.kernel.org/r/20231218192420.305411-7-W_Armin@gmx.de Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
committed by
Hans de Goede
parent
2c933755ea
commit
bd142914f8
@@ -132,23 +132,19 @@ static const void *find_guid_context(struct wmi_block *wblock,
|
||||
static int get_subobj_info(acpi_handle handle, const char *pathname,
|
||||
struct acpi_device_info **info)
|
||||
{
|
||||
struct acpi_device_info *dummy_info, **info_ptr;
|
||||
acpi_handle subobj_handle;
|
||||
acpi_status status;
|
||||
|
||||
status = acpi_get_handle(handle, (char *)pathname, &subobj_handle);
|
||||
status = acpi_get_handle(handle, pathname, &subobj_handle);
|
||||
if (status == AE_NOT_FOUND)
|
||||
return -ENOENT;
|
||||
else if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
|
||||
info_ptr = info ? info : &dummy_info;
|
||||
status = acpi_get_object_info(subobj_handle, info_ptr);
|
||||
if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
|
||||
if (!info)
|
||||
kfree(dummy_info);
|
||||
status = acpi_get_object_info(subobj_handle, info);
|
||||
if (ACPI_FAILURE(status))
|
||||
return -EIO;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -998,9 +994,7 @@ static int wmi_create_device(struct device *wmi_bus_dev,
|
||||
kfree(info);
|
||||
|
||||
get_acpi_method_name(wblock, 'S', method);
|
||||
result = get_subobj_info(device->handle, method, NULL);
|
||||
|
||||
if (result == 0)
|
||||
if (acpi_has_method(device->handle, method))
|
||||
wblock->dev.setable = true;
|
||||
|
||||
out_init:
|
||||
|
||||
Reference in New Issue
Block a user