Skip to content

Commit f9f5e22

Browse files
committed
ACPI: TAD: Rearrange runtime PM operations in acpi_tad_remove()
It is not necessary to resume the device upfront in acpi_tad_remove() because both acpi_tad_disable_timer() and acpi_tad_clear_status() attempt to resume it, but it is better to prevent it from suspending between these calls by incrementing its runtime PM usage counter. Accordingly, replace the pm_runtime_get_sync() call in acpi_tad_remove() with a pm_runtime_get_noresume() one and put the latter right before the first invocation of acpi_tad_disable_timer(). In addition, use pm_runtime_put_noidle() to drop the device's runtime PM usage counter after using pm_runtime_get_noresume() to bump it up to follow a common pattern and use pm_runtime_suspend() for suspending the device afterward. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/5031965.GXAFRqVoOG@rafael.j.wysocki
1 parent dcb6fa3 commit f9f5e22

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

drivers/acpi/acpi_tad.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -563,8 +563,6 @@ static void acpi_tad_remove(struct platform_device *pdev)
563563

564564
device_init_wakeup(dev, false);
565565

566-
pm_runtime_get_sync(dev);
567-
568566
if (dd->capabilities & ACPI_TAD_RT)
569567
sysfs_remove_group(&dev->kobj, &acpi_tad_time_attr_group);
570568

@@ -573,14 +571,17 @@ static void acpi_tad_remove(struct platform_device *pdev)
573571

574572
sysfs_remove_group(&dev->kobj, &acpi_tad_attr_group);
575573

574+
pm_runtime_get_noresume(dev);
575+
576576
acpi_tad_disable_timer(dev, ACPI_TAD_AC_TIMER);
577577
acpi_tad_clear_status(dev, ACPI_TAD_AC_TIMER);
578578
if (dd->capabilities & ACPI_TAD_DC_WAKE) {
579579
acpi_tad_disable_timer(dev, ACPI_TAD_DC_TIMER);
580580
acpi_tad_clear_status(dev, ACPI_TAD_DC_TIMER);
581581
}
582582

583-
pm_runtime_put_sync(dev);
583+
pm_runtime_put_noidle(dev);
584+
pm_runtime_suspend(dev);
584585
pm_runtime_disable(dev);
585586
acpi_remove_cmos_rtc_space_handler(handle);
586587
}

0 commit comments

Comments
 (0)