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