diff options
Diffstat (limited to 'drivers/base/power/wakeup.c')
| -rw-r--r-- | drivers/base/power/wakeup.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index a917219feea6..752b417e8129 100644 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c @@ -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); | 
