|  | /* | 
|  | * mcfserial.c -- serial driver for ColdFire internal UARTS. | 
|  | * | 
|  | * Copyright (c) 1999 Greg Ungerer <[email protected]> | 
|  | * 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 ([email protected]) | 
|  | * Copyright (C) 1998 TSHG | 
|  | * Copyright (c) 1999 Rt-Control Inc. <[email protected]> | 
|  | */ | 
|  | #ifndef _MCF_SERIAL_H | 
|  | #define _MCF_SERIAL_H | 
|  |  | 
|  | #include <linux/config.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 */ |