summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2016-09-13 12:09:18 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-05-23 16:01:59 +0100
commit02d19e542dc804f4bd3abc700556ddbc6d6639a7 (patch)
tree061cadad6c7bf63cdfc9ac19986b7f628fd4b2cb /include/linux
parente27a96b5c1792e44763eedb238dab57df37bd6e2 (diff)
tty: serial: sa1100: fix iPAQ serial port wakeup
The iPAQ H3xxx platforms used to wake up on DCD or DSR transitions. However, at some point this got broken and fails to work today. Fix this by using the newly added modem control gpio layer's wakeup controls. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/platform_data/sa11x0-serial.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/platform_data/sa11x0-serial.h b/include/linux/platform_data/sa11x0-serial.h
index 8b79ab08af45..319fcc566626 100644
--- a/include/linux/platform_data/sa11x0-serial.h
+++ b/include/linux/platform_data/sa11x0-serial.h
@@ -12,6 +12,13 @@
struct uart_port;
struct uart_info;
+enum {
+ SA11X0_WAKE_CTS = BIT(0),
+ SA11X0_WAKE_DCD = BIT(1),
+ SA11X0_WAKE_DSR = BIT(2),
+ SA11X0_WAKE_RI = BIT(3),
+};
+
/*
* This is a temporary structure for registering these
* functions; it is intended to be discarded after boot.
@@ -20,7 +27,7 @@ struct sa1100_port_fns {
void (*set_mctrl)(struct uart_port *, u_int);
u_int (*get_mctrl)(struct uart_port *);
void (*pm)(struct uart_port *, u_int, u_int);
- int (*set_wake)(struct uart_port *, u_int);
+ unsigned wake[3];
};
#ifdef CONFIG_SERIAL_SA1100