| /* | 
 |  * mcfserial.c -- serial driver for ColdFire internal UARTS. | 
 |  * | 
 |  * Copyright (c) 1999 Greg Ungerer <gerg@snapgear.com> | 
 |  * Copyright (c) 2000-2001 Lineo, Inc. <www.lineo.com> | 
 |  * Copyright (c) 2002 SnapGear Inc., <www.snapgear.com> | 
 |  * | 
 |  * Based on code from 68332serial.c which was: | 
 |  * | 
 |  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | 
 |  * Copyright (C) 1998 TSHG | 
 |  * Copyright (c) 1999 Rt-Control Inc. <jeff@uclinux.org> | 
 |  */  | 
 | #ifndef _MCF_SERIAL_H | 
 | #define _MCF_SERIAL_H | 
 |  | 
 | #include <linux/serial.h> | 
 |  | 
 | #ifdef __KERNEL__ | 
 |  | 
 | /* | 
 |  *	Define a local serial stats structure. | 
 |  */ | 
 |  | 
 | struct mcf_stats { | 
 | 	unsigned int	rx; | 
 | 	unsigned int	tx; | 
 | 	unsigned int	rxbreak; | 
 | 	unsigned int	rxframing; | 
 | 	unsigned int	rxparity; | 
 | 	unsigned int	rxoverrun; | 
 | }; | 
 |  | 
 |  | 
 | /* | 
 |  * This is our internal structure for each serial port's state. | 
 |  * Each serial port has one of these structures associated with it. | 
 |  */ | 
 |  | 
 | struct mcf_serial { | 
 | 	int			magic; | 
 | 	volatile unsigned char	*addr;		/* UART memory address */ | 
 | 	int			irq; | 
 | 	int			flags; 		/* defined in tty.h */ | 
 | 	int			type; 		/* UART type */ | 
 | 	struct tty_struct 	*tty; | 
 | 	unsigned char		imr;		/* Software imr register */ | 
 | 	unsigned int		baud; | 
 | 	int			sigs; | 
 | 	int			custom_divisor; | 
 | 	int			x_char;	/* xon/xoff character */ | 
 | 	int			baud_base; | 
 | 	int			close_delay; | 
 | 	unsigned short		closing_wait; | 
 | 	unsigned short		closing_wait2; | 
 | 	unsigned long		event; | 
 | 	int			line; | 
 | 	int			count;	    /* # of fd on device */ | 
 | 	int			blocked_open; /* # of blocked opens */ | 
 | 	unsigned char 		*xmit_buf; | 
 | 	int			xmit_head; | 
 | 	int			xmit_tail; | 
 | 	int			xmit_cnt; | 
 | 	struct mcf_stats	stats; | 
 | 	struct work_struct	tqueue; | 
 | 	struct work_struct	tqueue_hangup; | 
 | 	wait_queue_head_t	open_wait; | 
 | 	wait_queue_head_t	close_wait; | 
 |  | 
 | }; | 
 |  | 
 | #endif /* __KERNEL__ */ | 
 |  | 
 | #endif /* _MCF_SERIAL_H */ |