platform/x86: acer-wmi: Switch to acpi_dev_get_first_match_dev()
The acpi_dev_get_first_match_dev() helper will find and return an ACPI device pointer of the first registered device in the system by its HID. Use it instead of open coded variant. Cc: Chun-Yi Lee <jlee@suse.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
Родитель
bad9da86f9
Коммит
6fe9363b15
|
@ -1881,52 +1881,17 @@ static int __init acer_wmi_enable_rf_button(void)
|
|||
return status;
|
||||
}
|
||||
|
||||
#define ACER_WMID_ACCEL_HID "BST0001"
|
||||
|
||||
static acpi_status __init acer_wmi_get_handle_cb(acpi_handle ah, u32 level,
|
||||
void *ctx, void **retval)
|
||||
{
|
||||
struct acpi_device *dev;
|
||||
|
||||
if (!strcmp(ctx, "SENR")) {
|
||||
if (acpi_bus_get_device(ah, &dev))
|
||||
return AE_OK;
|
||||
if (strcmp(ACER_WMID_ACCEL_HID, acpi_device_hid(dev)))
|
||||
return AE_OK;
|
||||
} else
|
||||
return AE_OK;
|
||||
|
||||
*(acpi_handle *)retval = ah;
|
||||
|
||||
return AE_CTRL_TERMINATE;
|
||||
}
|
||||
|
||||
static int __init acer_wmi_get_handle(const char *name, const char *prop,
|
||||
acpi_handle *ah)
|
||||
{
|
||||
acpi_status status;
|
||||
acpi_handle handle;
|
||||
|
||||
BUG_ON(!name || !ah);
|
||||
|
||||
handle = NULL;
|
||||
status = acpi_get_devices(prop, acer_wmi_get_handle_cb,
|
||||
(void *)name, &handle);
|
||||
if (ACPI_SUCCESS(status) && handle) {
|
||||
*ah = handle;
|
||||
return 0;
|
||||
} else {
|
||||
return -ENODEV;
|
||||
}
|
||||
}
|
||||
|
||||
static int __init acer_wmi_accel_setup(void)
|
||||
{
|
||||
struct acpi_device *adev;
|
||||
int err;
|
||||
|
||||
err = acer_wmi_get_handle("SENR", ACER_WMID_ACCEL_HID, &gsensor_handle);
|
||||
if (err)
|
||||
return err;
|
||||
adev = acpi_dev_get_first_match_dev("BST0001", NULL, -1);
|
||||
if (!adev)
|
||||
return -ENODEV;
|
||||
|
||||
gsensor_handle = acpi_device_handle(adev);
|
||||
acpi_dev_put(adev);
|
||||
|
||||
interface->capability |= ACER_CAP_ACCEL;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче