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

ACPI / sleep: Switch to use acpi_dev_get_first_match_dev()



Switch the acpi_pm_finish() to use acpi_dev_get_first_match_dev() instead of
custom approach.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 32865e3e
Loading
Loading
Loading
Loading
+6 −14
Original line number Original line Diff line number Diff line
@@ -454,14 +454,6 @@ static int acpi_pm_prepare(void)
	return error;
	return error;
}
}


static int find_powerf_dev(struct device *dev, void *data)
{
	struct acpi_device *device = to_acpi_device(dev);
	const char *hid = acpi_device_hid(device);

	return !strcmp(hid, ACPI_BUTTON_HID_POWERF);
}

/**
/**
 *	acpi_pm_finish - Instruct the platform to leave a sleep state.
 *	acpi_pm_finish - Instruct the platform to leave a sleep state.
 *
 *
@@ -470,7 +462,7 @@ static int find_powerf_dev(struct device *dev, void *data)
 */
 */
static void acpi_pm_finish(void)
static void acpi_pm_finish(void)
{
{
	struct device *pwr_btn_dev;
	struct acpi_device *pwr_btn_adev;
	u32 acpi_state = acpi_target_sleep_state;
	u32 acpi_state = acpi_target_sleep_state;


	acpi_ec_unblock_transactions();
	acpi_ec_unblock_transactions();
@@ -501,11 +493,11 @@ static void acpi_pm_finish(void)
		return;
		return;


	pwr_btn_event_pending = false;
	pwr_btn_event_pending = false;
	pwr_btn_dev = bus_find_device(&acpi_bus_type, NULL, NULL,
	pwr_btn_adev = acpi_dev_get_first_match_dev(ACPI_BUTTON_HID_POWERF,
				      find_powerf_dev);
						    NULL, -1);
	if (pwr_btn_dev) {
	if (pwr_btn_adev) {
		pm_wakeup_event(pwr_btn_dev, 0);
		pm_wakeup_event(&pwr_btn_adev->dev, 0);
		put_device(pwr_btn_dev);
		acpi_dev_put(pwr_btn_adev);
	}
	}
}
}