1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
26920b5a7SRussell King /*
36920b5a7SRussell King  *  Author: Nicolas Pitre
46920b5a7SRussell King  *
56920b5a7SRussell King  * Moved and changed lots, Russell King
66920b5a7SRussell King  *
76920b5a7SRussell King  * Low level machine dependent UART functions.
86920b5a7SRussell King  */
96920b5a7SRussell King #ifndef SA11X0_SERIAL_H
106920b5a7SRussell King #define SA11X0_SERIAL_H
116920b5a7SRussell King 
126920b5a7SRussell King struct uart_port;
136920b5a7SRussell King struct uart_info;
146920b5a7SRussell King 
156920b5a7SRussell King /*
166920b5a7SRussell King  * This is a temporary structure for registering these
176920b5a7SRussell King  * functions; it is intended to be discarded after boot.
186920b5a7SRussell King  */
196920b5a7SRussell King struct sa1100_port_fns {
206920b5a7SRussell King 	void	(*set_mctrl)(struct uart_port *, u_int);
216920b5a7SRussell King 	u_int	(*get_mctrl)(struct uart_port *);
226920b5a7SRussell King 	void	(*pm)(struct uart_port *, u_int, u_int);
236920b5a7SRussell King 	int	(*set_wake)(struct uart_port *, u_int);
246920b5a7SRussell King };
256920b5a7SRussell King 
266920b5a7SRussell King #ifdef CONFIG_SERIAL_SA1100
276920b5a7SRussell King void sa1100_register_uart_fns(struct sa1100_port_fns *fns);
286920b5a7SRussell King void sa1100_register_uart(int idx, int port);
296920b5a7SRussell King #else
300607616dSArnd Bergmann static inline void sa1100_register_uart_fns(struct sa1100_port_fns *fns)
310607616dSArnd Bergmann {
320607616dSArnd Bergmann }
330607616dSArnd Bergmann static inline void sa1100_register_uart(int idx, int port)
340607616dSArnd Bergmann {
350607616dSArnd Bergmann }
366920b5a7SRussell King #endif
376920b5a7SRussell King 
386920b5a7SRussell King #endif
39