diff mbox series

[v1] ACPI / sleep: Switch to use acpi_dev_get_first_match_dev()

Message ID 20190612100702.53736-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted, archived
Delegated to: Rafael Wysocki
Headers show
Series [v1] ACPI / sleep: Switch to use acpi_dev_get_first_match_dev() | expand

Commit Message

Andy Shevchenko June 12, 2019, 10:07 a.m. UTC
Switch the acpi_pm_finish() to use acpi_dev_get_first_match_dev() instead of
custom approach.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/acpi/sleep.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

Comments

Rafael J. Wysocki June 27, 2019, 9:47 p.m. UTC | #1
On Wednesday, June 12, 2019 12:07:02 PM CEST Andy Shevchenko wrote:
> Switch the acpi_pm_finish() to use acpi_dev_get_first_match_dev() instead of
> custom approach.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/acpi/sleep.c | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index 8ff08e531443..a94519207dc8 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -452,14 +452,6 @@ static int acpi_pm_prepare(void)
>  	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.
>   *
> @@ -468,7 +460,7 @@ static int find_powerf_dev(struct device *dev, void *data)
>   */
>  static void acpi_pm_finish(void)
>  {
> -	struct device *pwr_btn_dev;
> +	struct acpi_device *pwr_btn_adev;
>  	u32 acpi_state = acpi_target_sleep_state;
>  
>  	acpi_ec_unblock_transactions();
> @@ -499,11 +491,11 @@ static void acpi_pm_finish(void)
>  		return;
>  
>  	pwr_btn_event_pending = false;
> -	pwr_btn_dev = bus_find_device(&acpi_bus_type, NULL, NULL,
> -				      find_powerf_dev);
> -	if (pwr_btn_dev) {
> -		pm_wakeup_event(pwr_btn_dev, 0);
> -		put_device(pwr_btn_dev);
> +	pwr_btn_adev = acpi_dev_get_first_match_dev(ACPI_BUTTON_HID_POWERF,
> +						    NULL, -1);
> +	if (pwr_btn_adev) {
> +		pm_wakeup_event(&pwr_btn_adev->dev, 0);
> +		acpi_dev_put(pwr_btn_adev);
>  	}
>  }
>  
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index 8ff08e531443..a94519207dc8 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -452,14 +452,6 @@  static int acpi_pm_prepare(void)
 	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.
  *
@@ -468,7 +460,7 @@  static int find_powerf_dev(struct device *dev, void *data)
  */
 static void acpi_pm_finish(void)
 {
-	struct device *pwr_btn_dev;
+	struct acpi_device *pwr_btn_adev;
 	u32 acpi_state = acpi_target_sleep_state;
 
 	acpi_ec_unblock_transactions();
@@ -499,11 +491,11 @@  static void acpi_pm_finish(void)
 		return;
 
 	pwr_btn_event_pending = false;
-	pwr_btn_dev = bus_find_device(&acpi_bus_type, NULL, NULL,
-				      find_powerf_dev);
-	if (pwr_btn_dev) {
-		pm_wakeup_event(pwr_btn_dev, 0);
-		put_device(pwr_btn_dev);
+	pwr_btn_adev = acpi_dev_get_first_match_dev(ACPI_BUTTON_HID_POWERF,
+						    NULL, -1);
+	if (pwr_btn_adev) {
+		pm_wakeup_event(&pwr_btn_adev->dev, 0);
+		acpi_dev_put(pwr_btn_adev);
 	}
 }