Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: core: delete .set_wake() callback

This deletes the .set_wake() callback in the struct uart_ops.
Apparently this has been unused since pre-git times. In the
old-2.6-bkcvs it is deleted as part of a changeset removing
the PM_SET_WAKEUP from pm_request_t which is since also deleted
from the kernel.

The apropriate way to set wakeups in the kernel is to have a
code snippet like this in .suspend() or .runtime_suspend()
callbacks:

static int foo_suspend(struct device *dev)
{
if (device_may_wakeup(dev)) {
/* Enable wakeups, set internal states */
}
}

This specific callback is not coming back.

Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Len Brown <len.brown@intel.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Linus Walleij and committed by
Greg Kroah-Hartman
fa2b5ea0 35925010

-5
-4
Documentation/serial/driver
··· 264 264 Locking: none. 265 265 Interrupts: caller dependent. 266 266 267 - set_wake(port,state) 268 - Enable/disable power management wakeup on serial activity. Not 269 - currently implemented. 270 - 271 267 type(port) 272 268 Return a pointer to a string constant describing the specified 273 269 port, or return NULL, in which case the string 'unknown' is
-1
include/linux/serial_core.h
··· 66 66 void (*set_ldisc)(struct uart_port *, int new); 67 67 void (*pm)(struct uart_port *, unsigned int state, 68 68 unsigned int oldstate); 69 - int (*set_wake)(struct uart_port *, unsigned int state); 70 69 71 70 /* 72 71 * Return a string describing the type of the port