Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
sunzilog.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/delay.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/major.h>
#include <linux/string.h>
#include <linux/ptrace.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/circ_buf.h>
#include <linux/serial.h>
#include <linux/sysrq.h>
#include <linux/console.h>
#include <linux/spinlock.h>
#include <linux/init.h>
#include <linux/of_device.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/prom.h>
#include <asm/setup.h>
#include <linux/serial_core.h>
#include <linux/sunserialcore.h>
#include "sunzilog.h"

Go to the source code of this file.

Data Structures

struct  uart_sunzilog_port
 

Macros

#define ZSDELAY()   udelay(5)
 
#define ZSDELAY_LONG()   udelay(20)
 
#define ZS_WSYNC(channel)   do { } while (0)
 
#define ZS_CLOCK   4915200 /* Zilog input clock rate. */
 
#define ZS_CLOCK_DIVISOR   16 /* Divisor this driver uses. */
 
#define SUNZILOG_FLAG_CONS_KEYB   0x00000001
 
#define SUNZILOG_FLAG_CONS_MOUSE   0x00000002
 
#define SUNZILOG_FLAG_IS_CONS   0x00000004
 
#define SUNZILOG_FLAG_IS_KGDB   0x00000008
 
#define SUNZILOG_FLAG_MODEM_STATUS   0x00000010
 
#define SUNZILOG_FLAG_IS_CHANNEL_A   0x00000020
 
#define SUNZILOG_FLAG_REGS_HELD   0x00000040
 
#define SUNZILOG_FLAG_TX_STOPPED   0x00000080
 
#define SUNZILOG_FLAG_TX_ACTIVE   0x00000100
 
#define SUNZILOG_FLAG_ESCC   0x00000200
 
#define SUNZILOG_FLAG_ISR_HANDLER   0x00000400
 
#define ZILOG_CHANNEL_FROM_PORT(PORT)   ((struct zilog_channel __iomem *)((PORT)->membase))
 
#define UART_ZILOG(PORT)   ((struct uart_sunzilog_port *)(PORT))
 
#define ZS_IS_KEYB(UP)   ((UP)->flags & SUNZILOG_FLAG_CONS_KEYB)
 
#define ZS_IS_MOUSE(UP)   ((UP)->flags & SUNZILOG_FLAG_CONS_MOUSE)
 
#define ZS_IS_CONS(UP)   ((UP)->flags & SUNZILOG_FLAG_IS_CONS)
 
#define ZS_IS_KGDB(UP)   ((UP)->flags & SUNZILOG_FLAG_IS_KGDB)
 
#define ZS_WANTS_MODEM_STATUS(UP)   ((UP)->flags & SUNZILOG_FLAG_MODEM_STATUS)
 
#define ZS_IS_CHANNEL_A(UP)   ((UP)->flags & SUNZILOG_FLAG_IS_CHANNEL_A)
 
#define ZS_REGS_HELD(UP)   ((UP)->flags & SUNZILOG_FLAG_REGS_HELD)
 
#define ZS_TX_STOPPED(UP)   ((UP)->flags & SUNZILOG_FLAG_TX_STOPPED)
 
#define ZS_TX_ACTIVE(UP)   ((UP)->flags & SUNZILOG_FLAG_TX_ACTIVE)
 
#define ZS_PUT_CHAR_MAX_DELAY   2000 /* 10 ms */
 
#define SUNZILOG_CONSOLE()   (NULL)
 

Functions

 MODULE_DEVICE_TABLE (of, zs_match)
 
 module_init (sunzilog_init)
 
 module_exit (sunzilog_exit)
 
 MODULE_AUTHOR ("David S. Miller")
 
 MODULE_DESCRIPTION ("Sun Zilog serial port driver")
 
 MODULE_VERSION ("2.0")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define SUNZILOG_CONSOLE ( )    (NULL)

Definition at line 1282 of file sunzilog.c.

#define SUNZILOG_FLAG_CONS_KEYB   0x00000001

Definition at line 83 of file sunzilog.c.

#define SUNZILOG_FLAG_CONS_MOUSE   0x00000002

Definition at line 84 of file sunzilog.c.

#define SUNZILOG_FLAG_ESCC   0x00000200

Definition at line 92 of file sunzilog.c.

#define SUNZILOG_FLAG_IS_CHANNEL_A   0x00000020

Definition at line 88 of file sunzilog.c.

#define SUNZILOG_FLAG_IS_CONS   0x00000004

Definition at line 85 of file sunzilog.c.

#define SUNZILOG_FLAG_IS_KGDB   0x00000008

Definition at line 86 of file sunzilog.c.

#define SUNZILOG_FLAG_ISR_HANDLER   0x00000400

Definition at line 93 of file sunzilog.c.

#define SUNZILOG_FLAG_MODEM_STATUS   0x00000010

Definition at line 87 of file sunzilog.c.

#define SUNZILOG_FLAG_REGS_HELD   0x00000040

Definition at line 89 of file sunzilog.c.

#define SUNZILOG_FLAG_TX_ACTIVE   0x00000100

Definition at line 91 of file sunzilog.c.

#define SUNZILOG_FLAG_TX_STOPPED   0x00000080

Definition at line 90 of file sunzilog.c.

#define UART_ZILOG (   PORT)    ((struct uart_sunzilog_port *)(PORT))

Definition at line 109 of file sunzilog.c.

#define ZILOG_CHANNEL_FROM_PORT (   PORT)    ((struct zilog_channel __iomem *)((PORT)->membase))

Definition at line 108 of file sunzilog.c.

#define ZS_CLOCK   4915200 /* Zilog input clock rate. */

Definition at line 67 of file sunzilog.c.

#define ZS_CLOCK_DIVISOR   16 /* Divisor this driver uses. */

Definition at line 68 of file sunzilog.c.

#define ZS_IS_CHANNEL_A (   UP)    ((UP)->flags & SUNZILOG_FLAG_IS_CHANNEL_A)

Definition at line 116 of file sunzilog.c.

#define ZS_IS_CONS (   UP)    ((UP)->flags & SUNZILOG_FLAG_IS_CONS)

Definition at line 113 of file sunzilog.c.

#define ZS_IS_KEYB (   UP)    ((UP)->flags & SUNZILOG_FLAG_CONS_KEYB)

Definition at line 111 of file sunzilog.c.

#define ZS_IS_KGDB (   UP)    ((UP)->flags & SUNZILOG_FLAG_IS_KGDB)

Definition at line 114 of file sunzilog.c.

#define ZS_IS_MOUSE (   UP)    ((UP)->flags & SUNZILOG_FLAG_CONS_MOUSE)

Definition at line 112 of file sunzilog.c.

#define ZS_PUT_CHAR_MAX_DELAY   2000 /* 10 ms */

Definition at line 1126 of file sunzilog.c.

#define ZS_REGS_HELD (   UP)    ((UP)->flags & SUNZILOG_FLAG_REGS_HELD)

Definition at line 117 of file sunzilog.c.

#define ZS_TX_ACTIVE (   UP)    ((UP)->flags & SUNZILOG_FLAG_TX_ACTIVE)

Definition at line 119 of file sunzilog.c.

#define ZS_TX_STOPPED (   UP)    ((UP)->flags & SUNZILOG_FLAG_TX_STOPPED)

Definition at line 118 of file sunzilog.c.

#define ZS_WANTS_MODEM_STATUS (   UP)    ((UP)->flags & SUNZILOG_FLAG_MODEM_STATUS)

Definition at line 115 of file sunzilog.c.

#define ZS_WSYNC (   channel)    do { } while (0)

Definition at line 59 of file sunzilog.c.

#define ZSDELAY ( )    udelay(5)

Definition at line 57 of file sunzilog.c.

#define ZSDELAY_LONG ( )    udelay(20)

Definition at line 58 of file sunzilog.c.

Function Documentation

MODULE_AUTHOR ( "David S. Miller"  )
MODULE_DESCRIPTION ( "Sun Zilog serial port driver )
MODULE_DEVICE_TABLE ( of  ,
zs_match   
)
module_exit ( sunzilog_exit  )
module_init ( sunzilog_init  )
MODULE_LICENSE ( "GPL"  )
MODULE_VERSION ( "2.0"  )