wakeup.c (ae367b7936408444afc76a8a3e141abede9ccbe4) | wakeup.c (2ca3d1ecb8c432ee212d80fa7615cdd5d1df62e3) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * drivers/base/power/wakeup.c - System wakeup events framework 4 * 5 * Copyright (c) 2010 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 6 */ 7#define pr_fmt(fmt) "PM: " fmt 8 --- 206 unchanged lines hidden (view full) --- 215struct wakeup_source *wakeup_source_register(struct device *dev, 216 const char *name) 217{ 218 struct wakeup_source *ws; 219 int ret; 220 221 ws = wakeup_source_create(name); 222 if (ws) { | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * drivers/base/power/wakeup.c - System wakeup events framework 4 * 5 * Copyright (c) 2010 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 6 */ 7#define pr_fmt(fmt) "PM: " fmt 8 --- 206 unchanged lines hidden (view full) --- 215struct wakeup_source *wakeup_source_register(struct device *dev, 216 const char *name) 217{ 218 struct wakeup_source *ws; 219 int ret; 220 221 ws = wakeup_source_create(name); 222 if (ws) { |
223 ret = wakeup_source_sysfs_add(dev, ws); 224 if (ret) { 225 wakeup_source_free(ws); 226 return NULL; | 223 if (!dev || device_is_registered(dev)) { 224 ret = wakeup_source_sysfs_add(dev, ws); 225 if (ret) { 226 wakeup_source_free(ws); 227 return NULL; 228 } |
227 } 228 wakeup_source_add(ws); 229 } 230 return ws; 231} 232EXPORT_SYMBOL_GPL(wakeup_source_register); 233 234/** --- 889 unchanged lines hidden --- | 229 } 230 wakeup_source_add(ws); 231 } 232 return ws; 233} 234EXPORT_SYMBOL_GPL(wakeup_source_register); 235 236/** --- 889 unchanged lines hidden --- |