1*6920b5a7SRussell King /*
2*6920b5a7SRussell King  *  Author: Nicolas Pitre
3*6920b5a7SRussell King  *
4*6920b5a7SRussell King  * Moved and changed lots, Russell King
5*6920b5a7SRussell King  *
6*6920b5a7SRussell King  * Low level machine dependent UART functions.
7*6920b5a7SRussell King  */
8*6920b5a7SRussell King #ifndef SA11X0_SERIAL_H
9*6920b5a7SRussell King #define SA11X0_SERIAL_H
10*6920b5a7SRussell King 
11*6920b5a7SRussell King struct uart_port;
12*6920b5a7SRussell King struct uart_info;
13*6920b5a7SRussell King 
14*6920b5a7SRussell King /*
15*6920b5a7SRussell King  * This is a temporary structure for registering these
16*6920b5a7SRussell King  * functions; it is intended to be discarded after boot.
17*6920b5a7SRussell King  */
18*6920b5a7SRussell King struct sa1100_port_fns {
19*6920b5a7SRussell King 	void	(*set_mctrl)(struct uart_port *, u_int);
20*6920b5a7SRussell King 	u_int	(*get_mctrl)(struct uart_port *);
21*6920b5a7SRussell King 	void	(*pm)(struct uart_port *, u_int, u_int);
22*6920b5a7SRussell King 	int	(*set_wake)(struct uart_port *, u_int);
23*6920b5a7SRussell King };
24*6920b5a7SRussell King 
25*6920b5a7SRussell King #ifdef CONFIG_SERIAL_SA1100
26*6920b5a7SRussell King void sa1100_register_uart_fns(struct sa1100_port_fns *fns);
27*6920b5a7SRussell King void sa1100_register_uart(int idx, int port);
28*6920b5a7SRussell King #else
29*6920b5a7SRussell King #define sa1100_register_uart_fns(fns) do { } while (0)
30*6920b5a7SRussell King #define sa1100_register_uart(idx,port) do { } while (0)
31*6920b5a7SRussell King #endif
32*6920b5a7SRussell King 
33*6920b5a7SRussell King #endif
34