PM: wakeup: make device_wakeup_disable() return void
authorDhruva Gole <d-gole@ti.com>
Mon, 18 Mar 2024 15:16:32 +0000 (20:46 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 3 Apr 2024 14:51:37 +0000 (16:51 +0200)
The device_wakeup_disable() call only returns an error if no dev exists,
but there's not much a user can do at that point.

Rather, make this function return void.

Signed-off-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/wakeup.c
drivers/mmc/host/sdhci-pci-core.c
include/linux/pm_wakeup.h

index a917219feea62d256a80166879bc01098eee54a3..752b417e81290eb97d578de7f388b83201e52421 100644 (file)
@@ -451,16 +451,15 @@ static struct wakeup_source *device_wakeup_detach(struct device *dev)
  * Detach the @dev's wakeup source object from it, unregister this wakeup source
  * object and destroy it.
  */
-int device_wakeup_disable(struct device *dev)
+void device_wakeup_disable(struct device *dev)
 {
        struct wakeup_source *ws;
 
        if (!dev || !dev->power.can_wakeup)
-               return -EINVAL;
+               return;
 
        ws = device_wakeup_detach(dev);
        wakeup_source_unregister(ws);
-       return 0;
 }
 EXPORT_SYMBOL_GPL(device_wakeup_disable);
 
@@ -502,7 +501,11 @@ EXPORT_SYMBOL_GPL(device_set_wakeup_capable);
  */
 int device_set_wakeup_enable(struct device *dev, bool enable)
 {
-       return enable ? device_wakeup_enable(dev) : device_wakeup_disable(dev);
+       if (enable)
+               return device_wakeup_enable(dev);
+
+       device_wakeup_disable(dev);
+       return 0;
 }
 EXPORT_SYMBOL_GPL(device_set_wakeup_enable);
 
index 025b31aa712caa13fb16c7038fbe92122d3d2912..ef89ec382bfef9768a476006e70e95b15f65e099 100644 (file)
@@ -63,7 +63,7 @@ static int sdhci_pci_init_wakeup(struct sdhci_pci_chip *chip)
        if ((pm_flags & MMC_PM_KEEP_POWER) && (pm_flags & MMC_PM_WAKE_SDIO_IRQ))
                return device_wakeup_enable(&chip->pdev->dev);
        else if (!cap_cd_wake)
-               return device_wakeup_disable(&chip->pdev->dev);
+               device_wakeup_disable(&chip->pdev->dev);
 
        return 0;
 }
index 6eb9adaef52beb72442a06c7cd77ed6182f7a14a..428803eed79868d48a5895d17ec1898a68229f79 100644 (file)
@@ -107,7 +107,7 @@ extern void wakeup_sources_read_unlock(int idx);
 extern struct wakeup_source *wakeup_sources_walk_start(void);
 extern struct wakeup_source *wakeup_sources_walk_next(struct wakeup_source *ws);
 extern int device_wakeup_enable(struct device *dev);
-extern int device_wakeup_disable(struct device *dev);
+extern void device_wakeup_disable(struct device *dev);
 extern void device_set_wakeup_capable(struct device *dev, bool capable);
 extern int device_set_wakeup_enable(struct device *dev, bool enable);
 extern void __pm_stay_awake(struct wakeup_source *ws);
@@ -154,10 +154,9 @@ static inline int device_wakeup_enable(struct device *dev)
        return 0;
 }
 
-static inline int device_wakeup_disable(struct device *dev)
+static inline void device_wakeup_disable(struct device *dev)
 {
        dev->power.should_wakeup = false;
-       return 0;
 }
 
 static inline int device_set_wakeup_enable(struct device *dev, bool enable)