Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

sab82532.c File Reference

#include <linux/config.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/serial.h>
#include <linux/serial_reg.h>
#include <linux/console.h>
#include <linux/major.h>
#include <linux/string.h>
#include <linux/fcntl.h>
#include <linux/ptrace.h>
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/malloc.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/sab82532.h>
#include <asm/uaccess.h>
#include <asm/ebus.h>
#include <asm/irq.h>
#include "sunserial.h"

Include dependency graph for sab82532.c:

Go to the source code of this file.

Defines

#define SERIAL_BH   AURORA_BH
#define WAKEUP_CHARS   256
#define SERIAL_PARANOIA_CHECK
#define SERIAL_DO_RESTART
#define SERIAL_DEBUG_OVERFLOW   1
#define BASE_BAUD   ( 29491200 / 16 )
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
#define NR_EBRG_VALUES   (sizeof(ebrg_table)/sizeof(struct ebrg_struct))
#define SAB82532_MAX_TEC_DELAY   2000
#define RELEVANT_IFLAG(iflag)   (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))

Functions

static DECLARE_TASK_QUEUE (tq_serial)
static void change_speed (struct sab82532 *info)
static void sab82532_wait_until_sent (struct tty_struct *tty, int timeout)
static int serial_paranoia_check (struct sab82532 *info, kdev_t device, const char *routine)
static __inline__ void sab82532_tec_wait (struct sab82532 *info)
static __inline__ void sab82532_start_tx (struct sab82532 *info)
static void sab82532_stop (struct tty_struct *tty)
static void sab82532_start (struct tty_struct *tty)
static void batten_down_hatches (struct sab82532 *info)
static void sab82532_sched_event (struct sab82532 *info, int event)
static void receive_chars (struct sab82532 *info, union sab82532_irq_status *stat)
static void transmit_chars (struct sab82532 *info, union sab82532_irq_status *stat)
static void check_status (struct sab82532 *info, union sab82532_irq_status *stat)
static void sab82532_interrupt (int irq, void *dev_id, struct pt_regs *regs)
static void do_serial_bh (void)
static void do_softint (void *private_)
static void do_serial_hangup (void *private_)
static void sab82532_init_line (struct sab82532 *info)
static int startup (struct sab82532 *info)
static void shutdown (struct sab82532 *info)
static void sab82532_put_char (struct tty_struct *tty, unsigned char ch)
static void sab82532_flush_chars (struct tty_struct *tty)
static int sab82532_write (struct tty_struct *tty, int from_user, const unsigned char *buf, int count)
static int sab82532_write_room (struct tty_struct *tty)
static int sab82532_chars_in_buffer (struct tty_struct *tty)
static void sab82532_flush_buffer (struct tty_struct *tty)
static void sab82532_send_xchar (struct tty_struct *tty, char ch)
static void sab82532_throttle (struct tty_struct *tty)
static void sab82532_unthrottle (struct tty_struct *tty)
static int get_serial_info (struct sab82532 *info, struct serial_struct *retinfo)
static int set_serial_info (struct sab82532 *info, struct serial_struct *new_info)
static int get_lsr_info (struct sab82532 *info, unsigned int *value)
static int get_modem_info (struct sab82532 *info, unsigned int *value)
static int set_modem_info (struct sab82532 *info, unsigned int cmd, unsigned int *value)
static void sab82532_break (struct tty_struct *tty, int break_state)
static int sab82532_ioctl (struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg)
static void sab82532_set_termios (struct tty_struct *tty, struct termios *old_termios)
static void sab82532_close (struct tty_struct *tty, struct file *filp)
static void sab82532_hangup (struct tty_struct *tty)
static int block_til_ready (struct tty_struct *tty, struct file *filp, struct sab82532 *info)
static int sab82532_open (struct tty_struct *tty, struct file *filp)
static __inline__ int line_info (char *buf, struct sab82532 *info)
int sab82532_read_proc (char *page, char **start, off_t off, int count, int *eof, void *data)
 __initfunc (static int get_sab82532(unsigned long *memory_start))
 __initfunc (static void sab82532_kgdb_hook(int line))
 __initfunc (static inline void show_serial_version(void))
 __initfunc (int sab82532_init(void))
 __initfunc (int sab82532_probe(unsigned long *memory_start))

Variables

static struct tty_driver serial_driver callout_driver
static int sab82532_refcount
static struct sab82532sab82532_chain = 0
static struct tty_struct * sab82532_table [NR_PORTS]
static struct termiossab82532_termios [NR_PORTS]
static struct termiossab82532_termios_locked [NR_PORTS]
static char * sab82532_version [16]
static char serial_version [16]
static unsigned char * tmp_buf = 0
static struct semaphore tmp_buf_sem = MUTEX
static struct ebrg_struct ebrg_table []
int su_num_ports


Define Documentation

#define BASE_BAUD   ( 29491200 / 16 )
 

Definition at line 77 of file sab82532.c.

#define MIN a,
 )     ((a) < (b) ? (a) : (b))
 

Definition at line 91 of file sab82532.c.

#define NR_EBRG_VALUES   (sizeof(ebrg_table)/sizeof(struct ebrg_struct))
 

Definition at line 179 of file sab82532.c.

Referenced by change_speed().

#define RELEVANT_IFLAG iflag   )     (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
 

#define SAB82532_MAX_TEC_DELAY   2000
 

Definition at line 181 of file sab82532.c.

Referenced by sab82532_tec_wait().

#define SERIAL_BH   AURORA_BH
 

Definition at line 43 of file sab82532.c.

Referenced by __initfunc(), dz_sched_event(), m68k_rs_init(), rs_init(), rs_sched_event(), sab82532_sched_event(), su_sched_event(), and zs_sched_event().

#define SERIAL_DEBUG_OVERFLOW   1
 

Definition at line 62 of file sab82532.c.

#define SERIAL_DO_RESTART
 

Definition at line 52 of file sab82532.c.

#define SERIAL_PARANOIA_CHECK
 

Definition at line 51 of file sab82532.c.

#define WAKEUP_CHARS   256
 

Definition at line 49 of file sab82532.c.


Function Documentation

__initfunc int   sab82532_probe(unsigned long *memory_start)  ) 
 

Definition at line 2323 of file sab82532.c.

References ENODEV, found, len, prom_getchild(), prom_getproperty(), prom_getsibling(), prom_root_node, prom_searchsiblings(), sunserial_operations::rs_kgdb_hook, rs_ops, strncmp(), and sunserial_setinitfunc().

Here is the call graph for this function:

__initfunc int   sab82532_init(void)  ) 
 

Definition at line 2195 of file sab82532.c.

References __irq_itoa, B9600, sab82532::blocked_open, tty_driver::break_ctl, async_icount::brk, termios::c_cflag, sab82532::callout_termios, tty_driver::chars_in_buffer, CLOCAL, tty_driver::close, sab82532::close_delay, sab82532::close_wait, sab82532::closing_wait, CREAD, CS8, async_icount::cts, sab82532::custom_divisor, tq_struct::data, async_icount::dcd, sab82532::delta_msr_wait, do_serial_bh(), do_serial_hangup(), do_softint(), tty_driver::driver_name, async_icount::dsr, ENODEV, sab82532::event, tty_driver::flags, tty_driver::flush_buffer, tty_driver::flush_chars, async_icount::frame, tty_driver::hangup, HUPCL, HZ, i, sab82532::icount, init_bh(), tty_driver::init_termios, tty_driver::ioctl, sab82532::irq, KERN_INFO, sab82532::line, sab82532::magic, tty_driver::magic, tty_driver::major, memset, tty_driver::minor_start, sab82532_async_rw_regs::mode, tty_driver::name, sab82532::next, sab82532::normal_termios, NR_PORTS, tty_driver::num, tty_driver::open, sab82532::open_wait, async_icount::overrun, panic(), async_icount::parity, sab82532_async_wr_regs::pcr, sab82532_async_wr_regs::pim, printk, tty_driver::proc_entry, tty_driver::put_char, sab82532_async_wr_regs::pvr, sab82532::pvr_dsr_bit, sab82532::pvr_dtr_bit, sab82532_async_regs::r, tty_driver::read_proc, tty_driver::refcount, sab82532::regs, request_irq(), async_icount::rng, tq_struct::routine, sab82532_async_regs::rw, async_icount::rx, SA_SHIRQ, sab82532_break(), sab82532_chars_in_buffer(), sab82532_close(), sab82532_flush_buffer(), sab82532_flush_chars(), sab82532_hangup(), sab82532_interrupt(), sab82532_ioctl(), SAB82532_MODE_FRTS, SAB82532_MODE_RTS, sab82532_open(), sab82532_put_char(), sab82532_read_proc(), sab82532_refcount, sab82532_send_xchar(), sab82532_set_termios(), sab82532_start(), sab82532_stop(), sab82532_table, sab82532_throttle(), sab82532_unthrottle(), sab82532_version, sab82532_wait_until_sent(), sab82532_write(), sab82532_write_room(), tty_driver::send_xchar, SERIAL_BH, SERIAL_MAGIC, SERIAL_TYPE_CALLOUT, SERIAL_TYPE_NORMAL, tty_driver::set_termios, show_serial_version(), tty_driver::start, tty_driver::stop, tty_driver::subtype, tty_driver::table, tty_driver::termios, tty_driver::termios_locked, tty_driver::throttle, sab82532::tqueue, sab82532::tqueue_hangup, TTY_DRIVER_MAGIC, TTY_DRIVER_REAL_RAW, TTY_DRIVER_TYPE_SERIAL, TTY_MAJOR, tty_register_driver(), tty_std_termios, TTYAUX_MAJOR, async_icount::tx, sab82532::type, tty_driver::type, tty_driver::unthrottle, sab82532_async_rd_regs::vstr, sab82532_async_regs::w, tty_driver::wait_until_sent, tty_driver::write, tty_driver::write_room, x01, and sab82532::x_char.

Here is the call graph for this function:

__initfunc static inline void   show_serial_version(void)  ) 
 

Definition at line 2178 of file sab82532.c.

References p, printk, revision, serial_version, strchr, strcpy, and version.

__initfunc static void   sab82532_kgdb_hook(int line)  ) 
 

Definition at line 2171 of file sab82532.c.

References prom_halt(), and prom_printf.

Here is the call graph for this function:

__initfunc static int   get_sab82532(unsigned long *memory_start)  ) 
 

Definition at line 2110 of file sab82532.c.

References linux_ebus_device::base_address, check_region, ENODEV, for_each_ebus, for_each_ebusdev, i, sab82532_async_wr_regs::ipc, sab82532::irq, linux_ebus_device::irqs, kfree(), kmalloc(), sab82532::line, memset, sab82532::next, offset, printk, linux_ebus_device::prom_name, sab82532::recv_fifo_size, sab82532::regs, request_region, SAB82532_IPC_IC_ACT_LOW, strcmp, sab82532_async_regs::w, and sab82532::xmit_fifo_size.

Here is the call graph for this function:

static void batten_down_hatches struct sab82532 info  )  [static]
 

Definition at line 263 of file sab82532.c.

References sab82532_async_wr_regs::cmdr, DEBUG_FIRSTVADDR, DEBUG_LASTVADDR, flush_user_windows, linux_dbvec, printk, prom_cmdline(), sab82532_async_regs::r, sab82532::regs, sab82532_async_wr_regs::rfc, sab82532_async_rw_regs::rfc, sab82532_async_rd_regs::rfc, sab82532_async_regs::rw, SAB82532_CMDR_RRES, SAB82532_RFC_RFDF, SAB82532_STAR_CEC, sp_enter_debugger(), sab82532_async_rd_regs::star, stop_a_enabled, udelay, and sab82532_async_regs::w.

Referenced by check_status(), receive_chars(), receive_kbd_ms_chars(), receive_serial_chars(), and status_handle().

Here is the call graph for this function:

static int block_til_ready struct tty_struct *  tty,
struct file filp,
struct sab82532 info
[static]
 

Definition at line 1756 of file sab82532.c.

References ASYNC_CALLOUT_ACTIVE, ASYNC_CLOSING, ASYNC_HUP_NOTIFY, ASYNC_INITIALIZED, ASYNC_NORMAL_ACTIVE, ASYNC_PGRP_LOCKOUT, ASYNC_SESSION_LOCKOUT, sab82532::blocked_open, termios::c_cflag, CBAUD, cli, CLOCAL, sab82532::close_wait, sab82532::count, current, EAGAIN, EBUSY, ERESTARTSYS, sab82532::flags, interruptible_sleep_on(), sab82532::line, sab82532_async_rw_regs::mode, sab82532::normal_termios, NULL, O_NONBLOCK, sab82532::open_wait, sab82532::pgrp, printk, sab82532_async_rw_regs::pvr, sab82532::pvr_dtr_bit, sab82532_async_regs::r, sab82532::regs, sab82532_async_regs::rw, SAB82532_MODE_FRTS, SAB82532_MODE_RTS, SAB82532_VSTR_CD, schedule(), SERIAL_TYPE_CALLOUT, sab82532::session, signal_pending, sti, TASK_INTERRUPTIBLE, TASK_RUNNING, tty_hung_up_p(), and sab82532_async_rd_regs::vstr.

Here is the call graph for this function:

static void change_speed struct sab82532 info  )  [static]
 

Definition at line 934 of file sab82532.c.

References ASYNC_CHECK_CD, ASYNC_CTS_FLOW, ebrg_struct::baud, sab82532::baud, sab82532_async_wr_regs::bgr, CBAUD, CBAUDEX, sab82532_async_rw_regs::ccr2, cli, CLOCAL, CMSPAR, CREAD, CRTSCTS, CS5, CS6, CS7, CS8, CSIZE, CSTOPB, sab82532_async_wr_regs::dafo, sab82532::flags, HZ, i, sab82532::ignore_status_mask, sab82532_async_wr_regs::imr1, sab82532::interrupt_mask1, ebrg_struct::m, sab82532_async_rw_regs::mode, ebrg_struct::n, NR_EBRG_VALUES, PARENB, PARODD, sab82532_async_regs::r, sab82532::regs, restore_flags, sab82532_async_regs::rw, SAB82532_DAFO_CHL5, SAB82532_DAFO_CHL6, SAB82532_DAFO_CHL7, SAB82532_DAFO_CHL8, SAB82532_DAFO_PAR_EVEN, SAB82532_DAFO_PAR_MARK, SAB82532_DAFO_PAR_ODD, SAB82532_DAFO_PAR_SPACE, SAB82532_DAFO_PARE, SAB82532_DAFO_STOP, SAB82532_IMR1_CSC, SAB82532_ISR0_RPF, SAB82532_ISR0_TCD, SAB82532_ISR0_TIME, SAB82532_MODE_FCTS, SAB82532_MODE_FRTS, SAB82532_MODE_RAC, SAB82532_MODE_RTS, SAB82532_STAR_CEC, sab82532_tec_wait(), save_flags, sab82532_async_rd_regs::star, sab82532::timeout, sab82532::tty, udelay, sab82532_async_regs::w, and sab82532::xmit_fifo_size.

Here is the call graph for this function:

static void check_status struct sab82532 info,
union sab82532_irq_status stat
[static]
 

Definition at line 484 of file sab82532.c.

References ASYNC_CALLOUT_ACTIVE, ASYNC_CALLOUT_NOHUP, ASYNC_CHECK_CD, ASYNC_CTS_FLOW, batten_down_hatches(), async_icount::brk, async_icount::buf_overrun, async_icount::cts, sab82532::cts, async_icount::dcd, sab82532::dcd, sab82532::delta_msr_wait, async_icount::dsr, sab82532::dsr, sab82532::flags, sab82532::icount, sab82532_async_wr_regs::imr1, sab82532::interrupt_mask1, sab82532::is_console, sab82532::line, sab82532::open_wait, async_icount::overrun, printk, sab82532_async_rd_regs::pvr, sab82532::pvr_dsr_bit, queue_task, sab82532_async_regs::r, sab82532::regs, RS_EVENT_WRITE_WAKEUP, SAB82532_IMR1_XPR, SAB82532_ISR0_CDSC, SAB82532_ISR0_RFO, SAB82532_ISR1_BRK, SAB82532_ISR1_CSC, sab82532_sched_event(), SAB82532_STAR_CTS, sab82532_start_tx(), SAB82532_VSTR_CD, sab82532_irq_status::sreg, sab82532_async_rd_regs::star, tq_scheduler, sab82532::tqueue_hangup, sab82532::tty, tty, sab82532_async_rd_regs::vstr, and sab82532_async_regs::w.

Here is the call graph for this function:

static DECLARE_TASK_QUEUE tq_serial   )  [static]
 

static void do_serial_bh void   )  [static]
 

Definition at line 675 of file sab82532.c.

References run_task_queue().

Here is the call graph for this function:

static void do_serial_hangup void *  private_  )  [static]
 

Definition at line 707 of file sab82532.c.

References sab82532::tty, tty, and tty_hangup().

Here is the call graph for this function:

static void do_softint void *  private_  )  [static]
 

Definition at line 680 of file sab82532.c.

References sab82532::event, RS_EVENT_WRITE_WAKEUP, test_and_clear_bit, sab82532::tty, and tty.

static int get_lsr_info struct sab82532 info,
unsigned int *  value
[static]
 

Definition at line 1317 of file sab82532.c.

References sab82532::irqflags, put_user, result, SAB82532_ALLS, test_bit, TIOCSER_TEMT, and sab82532::xmit_buf.

static int get_modem_info struct sab82532 info,
unsigned int *  value
[static]
 

Definition at line 1327 of file sab82532.c.

References sab82532_async_rd_regs::mode, put_user, sab82532_async_rd_regs::pvr, sab82532::pvr_dsr_bit, sab82532::pvr_dtr_bit, sab82532_async_regs::r, sab82532::regs, result, SAB82532_MODE_FRTS, SAB82532_MODE_RTS, SAB82532_STAR_CTS, SAB82532_VSTR_CD, sab82532_async_rd_regs::star, TIOCM_CAR, TIOCM_CTS, TIOCM_DSR, TIOCM_DTR, TIOCM_RTS, and sab82532_async_rd_regs::vstr.

static int get_serial_info struct sab82532 info,
struct serial_struct retinfo
[static]
 

Definition at line 1276 of file sab82532.c.

References copy_to_user, EFAULT, long, and memset.

static __inline__ int line_info char *  buf,
struct sab82532 info
[static]
 

Definition at line 2005 of file sab82532.c.

References __irq_itoa, sab82532::baud, async_icount::brk, cli, async_icount::frame, sab82532::icount, sab82532::irq, sab82532::line, sab82532_async_rd_regs::mode, async_icount::overrun, async_icount::parity, sab82532_async_rd_regs::pvr, sab82532::pvr_dsr_bit, sab82532::pvr_dtr_bit, sab82532_async_regs::r, sab82532::regs, restore_flags, ret, SAB82532_MODE_FRTS, SAB82532_MODE_RTS, SAB82532_STAR_CTS, SAB82532_VSTR_CD, save_flags, sprintf(), sab82532_async_rd_regs::star, strcat, sab82532::type, and sab82532_async_rd_regs::vstr.

Here is the call graph for this function:

static void receive_chars struct sab82532 info,
union sab82532_irq_status stat
[static]
 

Definition at line 335 of file sab82532.c.

References buf, async_icount::buf_overrun, sab82532_async_wr_regs::cmdr, count, async_icount::frame, i, sab82532::icount, sab82532::is_console, keypress_wait, async_icount::parity, printk, queue_task, sab82532_async_regs::r, sab82532_async_rd_regs::rbcl, sab82532::recv_fifo_size, sab82532::regs, sab82532_async_rd_regs::rfifo, async_icount::rx, SAB82532_CMDR_RFRD, SAB82532_CMDR_RMC, SAB82532_ISR0_RFO, SAB82532_ISR0_RPF, SAB82532_ISR0_TCD, SAB82532_ISR0_TIME, SAB82532_RSTAT_FE, SAB82532_RSTAT_PARITY, SAB82532_RSTAT_PE, SAB82532_STAR_CEC, sab82532_irq_status::sreg, sab82532_async_rd_regs::star, status, tq_timer, sab82532::tty, tty, udelay, and sab82532_async_regs::w.

static void sab82532_break struct tty_struct *  tty,
int  break_state
[static]
 

Definition at line 1392 of file sab82532.c.

References cli, sab82532_async_rw_regs::dafo, jiffies, printk, sab82532::regs, restore_flags, sab82532_async_regs::rw, SAB82532_DAFO_XBRK, save_flags, and serial_paranoia_check().

Referenced by __initfunc().

Here is the call graph for this function:

static int sab82532_chars_in_buffer struct tty_struct *  tty  )  [static]
 

Definition at line 1169 of file sab82532.c.

References serial_paranoia_check(), and sab82532::xmit_cnt.

Referenced by __initfunc().

Here is the call graph for this function:

static void sab82532_close struct tty_struct *  tty,
struct file filp
[static]
 

Definition at line 1584 of file sab82532.c.

References ASYNC_CALLOUT_ACTIVE, ASYNC_CLOSING, ASYNC_CLOSING_WAIT_NONE, ASYNC_INITIALIZED, ASYNC_NORMAL_ACTIVE, sab82532::blocked_open, sab82532::callout_termios, cli, sab82532::close_delay, sab82532::close_wait, sab82532::closing_wait, sab82532::count, current, sab82532::event, sab82532::flags, sab82532_async_wr_regs::imr0, sab82532::interrupt_mask0, sab82532::line, MOD_DEC_USE_COUNT, sab82532::normal_termios, sab82532::open_wait, printk, sab82532::regs, restore_flags, SAB82532_IMR0_TCD, sab82532_wait_until_sent(), save_flags, schedule_timeout, serial_paranoia_check(), shutdown(), TASK_INTERRUPTIBLE, sab82532::timeout, sab82532::tty, tty_hung_up_p(), tty_wait_until_sent(), and sab82532_async_regs::w.

Referenced by __initfunc().

Here is the call graph for this function:

static void sab82532_flush_buffer struct tty_struct *  tty  )  [static]
 

Definition at line 1178 of file sab82532.c.

References cli, serial_paranoia_check(), sti, sab82532::xmit_cnt, sab82532::xmit_head, and sab82532::xmit_tail.

Referenced by __initfunc(), and sab82532_hangup().

Here is the call graph for this function:

static void sab82532_flush_chars struct tty_struct *  tty  )  [static]
 

Definition at line 1082 of file sab82532.c.

References cli, sab82532_async_wr_regs::imr1, sab82532::interrupt_mask1, sab82532::regs, restore_flags, SAB82532_IMR1_XPR, sab82532_start_tx(), save_flags, serial_paranoia_check(), sab82532_async_regs::w, sab82532::xmit_buf, and sab82532::xmit_cnt.

Referenced by __initfunc().

Here is the call graph for this function:

static void sab82532_hangup struct tty_struct *  tty  )  [static]
 

Definition at line 1732 of file sab82532.c.

References ASYNC_CALLOUT_ACTIVE, ASYNC_NORMAL_ACTIVE, sab82532::count, sab82532::event, sab82532::flags, sab82532::is_console, sab82532::open_wait, sab82532_flush_buffer(), serial_paranoia_check(), shutdown(), and sab82532::tty.

Referenced by __initfunc().

Here is the call graph for this function:

static void sab82532_init_line struct sab82532 info  )  [static]
 

Definition at line 720 of file sab82532.c.

References sab82532_async_rw_regs::ccr0, sab82532_async_wr_regs::ccr0, sab82532_async_wr_regs::ccr1, sab82532_async_wr_regs::ccr2, sab82532_async_wr_regs::ccr3, sab82532_async_wr_regs::ccr4, sab82532_async_wr_regs::cmdr, sab82532_async_rd_regs::isr0, sab82532_async_rd_regs::isr1, sab82532_async_wr_regs::mode, sab82532_async_regs::r, sab82532::recv_fifo_size, sab82532::regs, sab82532_async_wr_regs::rfc, sab82532_async_regs::rw, SAB82532_CCR0_MCE, SAB82532_CCR0_PU, SAB82532_CCR0_SC_NRZ, SAB82532_CCR0_SM_ASYNC, SAB82532_CCR1_BCR, SAB82532_CCR1_ODS, SAB82532_CCR2_BDF, SAB82532_CCR2_SSEL, SAB82532_CCR2_TOE, SAB82532_CCR4_EBRG, SAB82532_CCR4_MCK4, SAB82532_CMDR_RRES, SAB82532_CMDR_XRES, SAB82532_MODE_FCTS, SAB82532_MODE_RAC, SAB82532_MODE_RTS, SAB82532_RFC_DPS, SAB82532_RFC_RFDF, SAB82532_RFC_RFTH_1, SAB82532_RFC_RFTH_16, SAB82532_RFC_RFTH_32, SAB82532_RFC_RFTH_4, SAB82532_STAR_CEC, sab82532_tec_wait(), sab82532_async_rd_regs::star, udelay, and sab82532_async_regs::w.

Referenced by startup().

Here is the call graph for this function:

static void sab82532_interrupt int  irq,
void *  dev_id,
struct pt_regs regs
[static]
 

Definition at line 597 of file sab82532.c.

References check_status(), done, sab82532_async_rd_regs::gis, sab82532_async_rd_regs::isr0, sab82532_async_rd_regs::isr1, sab82532::line, next, printk, sab82532_async_regs::r, receive_chars(), sab82532::regs, SAB82532_GIS_ISA0, SAB82532_GIS_ISA1, SAB82532_GIS_ISB0, SAB82532_GIS_ISB1, SAB82532_ISR0_CDSC, SAB82532_ISR0_RFO, SAB82532_ISR0_RPF, SAB82532_ISR0_TCD, SAB82532_ISR0_TIME, SAB82532_ISR1_ALLS, SAB82532_ISR1_BRK, SAB82532_ISR1_CSC, SAB82532_ISR1_XPR, sab82532_irq_status::sreg, sab82532_irq_status::stat, and transmit_chars().

Referenced by __initfunc().

Here is the call graph for this function:

static int sab82532_ioctl struct tty_struct *  tty,
struct file file,
unsigned int  cmd,
unsigned long  arg
[static]
 

Definition at line 1415 of file sab82532.c.

References cli, CLOCAL, copy_to_user, serial_icounter_struct::cts, async_icount::cts, current, serial_icounter_struct::dcd, async_icount::dcd, serial_icounter_struct::dsr, async_icount::dsr, EFAULT, EIO, ENODEV, ENOIOCTLCMD, ERESTARTSYS, error,