Commit 633aae23 authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: serio - switch to using dev_pm_ops

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent ebd7768d
...@@ -931,16 +931,12 @@ static int serio_uevent(struct device *dev, struct kobj_uevent_env *env) ...@@ -931,16 +931,12 @@ static int serio_uevent(struct device *dev, struct kobj_uevent_env *env)
#endif /* CONFIG_HOTPLUG */ #endif /* CONFIG_HOTPLUG */
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int serio_suspend(struct device *dev, pm_message_t state) static int serio_suspend(struct device *dev)
{ {
struct serio *serio = to_serio_port(dev); struct serio *serio = to_serio_port(dev);
if (!serio->suspended && state.event == PM_EVENT_SUSPEND)
serio_cleanup(serio); serio_cleanup(serio);
serio->suspended = state.event == PM_EVENT_SUSPEND ||
state.event == PM_EVENT_FREEZE;
return 0; return 0;
} }
...@@ -952,13 +948,17 @@ static int serio_resume(struct device *dev) ...@@ -952,13 +948,17 @@ static int serio_resume(struct device *dev)
* Driver reconnect can take a while, so better let kseriod * Driver reconnect can take a while, so better let kseriod
* deal with it. * deal with it.
*/ */
if (serio->suspended) {
serio->suspended = false;
serio_queue_event(serio, NULL, SERIO_RECONNECT_PORT); serio_queue_event(serio, NULL, SERIO_RECONNECT_PORT);
}
return 0; return 0;
} }
static const struct dev_pm_ops serio_pm_ops = {
.suspend = serio_suspend,
.resume = serio_resume,
.poweroff = serio_suspend,
.restore = serio_resume,
};
#endif /* CONFIG_PM */ #endif /* CONFIG_PM */
/* called from serio_driver->connect/disconnect methods under serio_mutex */ /* called from serio_driver->connect/disconnect methods under serio_mutex */
...@@ -1015,8 +1015,7 @@ static struct bus_type serio_bus = { ...@@ -1015,8 +1015,7 @@ static struct bus_type serio_bus = {
.remove = serio_driver_remove, .remove = serio_driver_remove,
.shutdown = serio_shutdown, .shutdown = serio_shutdown,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = serio_suspend, .pm = &serio_pm_ops,
.resume = serio_resume,
#endif #endif
}; };
......
...@@ -31,8 +31,6 @@ struct serio { ...@@ -31,8 +31,6 @@ struct serio {
bool manual_bind; bool manual_bind;
bool registered; /* port has been fully registered with driver core */ bool registered; /* port has been fully registered with driver core */
bool suspended; /* port is suspended */
struct serio_device_id id; struct serio_device_id id;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment