Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
jsm.h File Reference
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/tty.h>
#include <linux/serial_core.h>
#include <linux/device.h>

Go to the source code of this file.

Data Structures

struct  board_ops
 
struct  jsm_board
 
struct  jsm_channel
 
struct  neo_uart_struct
 

Macros

#define jsm_printk(nlevel, klevel, pdev, fmt, args...)
 
#define MAXLINES   256
 
#define MAXPORTS   8
 
#define MAX_STOPS_SENT   5
 
#define T_NEO   0000
 
#define T_CLASSIC   0001
 
#define T_PCIBUS   0400
 
#define BD_RUNNING   0x0
 
#define BD_REASON   0x7f
 
#define BD_NOTFOUND   0x1
 
#define BD_NOIOPORT   0x2
 
#define BD_NOMEM   0x3
 
#define BD_NOBIOS   0x4
 
#define BD_NOFEP   0x5
 
#define BD_FAILED   0x6
 
#define BD_ALLOCATED   0x7
 
#define BD_TRIBOOT   0x8
 
#define BD_BADKME   0x80
 
#define WRITEBUFLEN   ((4096) + 4)
 
#define JSM_VERSION   "jsm: 1.2-1-INKERNEL"
 
#define JSM_PARTNUM   "40002438_A-INKERNEL"
 
#define CH_PRON   0x0001 /* Printer on string */
 
#define CH_STOP   0x0002 /* Output is stopped */
 
#define CH_STOPI   0x0004 /* Input is stopped */
 
#define CH_CD   0x0008 /* Carrier is present */
 
#define CH_FCAR   0x0010 /* Carrier forced on */
 
#define CH_HANGUP   0x0020 /* Hangup received */
 
#define CH_RECEIVER_OFF   0x0040 /* Receiver is off */
 
#define CH_OPENING   0x0080 /* Port in fragile open state */
 
#define CH_CLOSING   0x0100 /* Port in fragile close state */
 
#define CH_FIFO_ENABLED   0x0200 /* Port has FIFOs enabled */
 
#define CH_TX_FIFO_EMPTY   0x0400 /* TX Fifo is completely empty */
 
#define CH_TX_FIFO_LWM   0x0800 /* TX Fifo is below Low Water */
 
#define CH_BREAK_SENDING   0x1000 /* Break is being sent */
 
#define CH_LOOPBACK   0x2000 /* Channel is in lookback mode */
 
#define CH_BAUD0   0x08000 /* Used for checking B0 transitions */
 
#define RQUEUEMASK   0x1FFF /* 8 K - 1 */
 
#define EQUEUEMASK   0x1FFF /* 8 K - 1 */
 
#define RQUEUESIZE   (RQUEUEMASK + 1)
 
#define EQUEUESIZE   RQUEUESIZE
 
#define UART_17158_POLL_ADDR_OFFSET   0x80
 
#define UART_17158_FCTR_RTS_NODELAY   0x00
 
#define UART_17158_FCTR_RTS_4DELAY   0x01
 
#define UART_17158_FCTR_RTS_6DELAY   0x02
 
#define UART_17158_FCTR_RTS_8DELAY   0x03
 
#define UART_17158_FCTR_RTS_12DELAY   0x12
 
#define UART_17158_FCTR_RTS_16DELAY   0x05
 
#define UART_17158_FCTR_RTS_20DELAY   0x13
 
#define UART_17158_FCTR_RTS_24DELAY   0x06
 
#define UART_17158_FCTR_RTS_28DELAY   0x14
 
#define UART_17158_FCTR_RTS_32DELAY   0x07
 
#define UART_17158_FCTR_RTS_36DELAY   0x16
 
#define UART_17158_FCTR_RTS_40DELAY   0x08
 
#define UART_17158_FCTR_RTS_44DELAY   0x09
 
#define UART_17158_FCTR_RTS_48DELAY   0x10
 
#define UART_17158_FCTR_RTS_52DELAY   0x11
 
#define UART_17158_FCTR_RTS_IRDA   0x10
 
#define UART_17158_FCTR_RS485   0x20
 
#define UART_17158_FCTR_TRGA   0x00
 
#define UART_17158_FCTR_TRGB   0x40
 
#define UART_17158_FCTR_TRGC   0x80
 
#define UART_17158_FCTR_TRGD   0xC0
 
#define UART_17158_FCTR_BIT6   0x40
 
#define UART_17158_FCTR_BIT7   0x80
 
#define UART_17158_RX_FIFOSIZE   64
 
#define UART_17158_TX_FIFOSIZE   64
 
#define UART_17158_IIR_RDI_TIMEOUT   0x0C /* Receiver data TIMEOUT */
 
#define UART_17158_IIR_XONXOFF   0x10 /* Received an XON/XOFF char */
 
#define UART_17158_IIR_HWFLOW_STATE_CHANGE   0x20 /* CTS/DSR or RTS/DTR state change */
 
#define UART_17158_IIR_FIFO_ENABLED   0xC0 /* 16550 FIFOs are Enabled */
 
#define UART_17158_RX_LINE_STATUS   0x1 /* RX Ready */
 
#define UART_17158_RXRDY_TIMEOUT   0x2 /* RX Ready Timeout */
 
#define UART_17158_TXRDY   0x3 /* TX Ready */
 
#define UART_17158_MSR   0x4 /* Modem State Change */
 
#define UART_17158_TX_AND_FIFO_CLR   0x40 /* Transmitter Holding Reg Empty */
 
#define UART_17158_RX_FIFO_DATA_ERROR   0x80 /* UART detected an RX FIFO Data error */
 
#define UART_17158_EFR_ECB   0x10 /* Enhanced control bit */
 
#define UART_17158_EFR_IXON   0x2 /* Receiver compares Xon1/Xoff1 */
 
#define UART_17158_EFR_IXOFF   0x8 /* Transmit Xon1/Xoff1 */
 
#define UART_17158_EFR_RTSDTR   0x40 /* Auto RTS/DTR Flow Control Enable */
 
#define UART_17158_EFR_CTSDSR   0x80 /* Auto CTS/DSR Flow COntrol Enable */
 
#define UART_17158_XOFF_DETECT   0x1 /* Indicates whether chip saw an incoming XOFF char */
 
#define UART_17158_XON_DETECT   0x2 /* Indicates whether chip saw an incoming XON char */
 
#define UART_17158_IER_RSVD1   0x10 /* Reserved by Exar */
 
#define UART_17158_IER_XOFF   0x20 /* Xoff Interrupt Enable */
 
#define UART_17158_IER_RTSDTR   0x40 /* Output Interrupt Enable */
 
#define UART_17158_IER_CTSDSR   0x80 /* Input Interrupt Enable */
 
#define PCI_DEVICE_NEO_2DB9_PCI_NAME   "Neo 2 - DB9 Universal PCI"
 
#define PCI_DEVICE_NEO_2DB9PRI_PCI_NAME   "Neo 2 - DB9 Universal PCI - Powered Ring Indicator"
 
#define PCI_DEVICE_NEO_2RJ45_PCI_NAME   "Neo 2 - RJ45 Universal PCI"
 
#define PCI_DEVICE_NEO_2RJ45PRI_PCI_NAME   "Neo 2 - RJ45 Universal PCI - Powered Ring Indicator"
 
#define PCIE_DEVICE_NEO_IBM_PCI_NAME   "Neo 4 - PCI Express - IBM"
 

Enumerations

enum  {
  DBG_INIT = 0x01, DBG_BASIC = 0x02, DBG_CORE = 0x04, DBG_OPEN = 0x08,
  DBG_CLOSE = 0x10, DBG_READ = 0x20, DBG_WRITE = 0x40, DBG_IOCTL = 0x80,
  DBG_PROC = 0x100, DBG_PARAM = 0x200, DBG_PSCAN = 0x400, DBG_EVENT = 0x800,
  DBG_DRAIN = 0x1000, DBG_MSIGS = 0x2000, DBG_MGMT = 0x4000, DBG_INTR = 0x8000,
  DBG_CARR = 0x10000
}
 

Functions

int jsm_tty_init (struct jsm_board *)
 
int jsm_uart_port_init (struct jsm_board *)
 
int jsm_remove_uart_port (struct jsm_board *)
 
void jsm_input (struct jsm_channel *ch)
 
void jsm_check_queue_flow_control (struct jsm_channel *ch)
 

Variables

struct uart_driver jsm_uart_driver
 
struct board_ops jsm_neo_ops
 
int jsm_debug
 

Macro Definition Documentation

#define BD_ALLOCATED   0x7

Definition at line 84 of file jsm.h.

#define BD_BADKME   0x80

Definition at line 86 of file jsm.h.

#define BD_FAILED   0x6

Definition at line 83 of file jsm.h.

#define BD_NOBIOS   0x4

Definition at line 81 of file jsm.h.

#define BD_NOFEP   0x5

Definition at line 82 of file jsm.h.

#define BD_NOIOPORT   0x2

Definition at line 79 of file jsm.h.

#define BD_NOMEM   0x3

Definition at line 80 of file jsm.h.

#define BD_NOTFOUND   0x1

Definition at line 78 of file jsm.h.

#define BD_REASON   0x7f

Definition at line 77 of file jsm.h.

#define BD_RUNNING   0x0

Definition at line 76 of file jsm.h.

#define BD_TRIBOOT   0x8

Definition at line 85 of file jsm.h.

#define CH_BAUD0   0x08000 /* Used for checking B0 transitions */

Definition at line 178 of file jsm.h.

#define CH_BREAK_SENDING   0x1000 /* Break is being sent */

Definition at line 176 of file jsm.h.

#define CH_CD   0x0008 /* Carrier is present */

Definition at line 166 of file jsm.h.

#define CH_CLOSING   0x0100 /* Port in fragile close state */

Definition at line 172 of file jsm.h.

#define CH_FCAR   0x0010 /* Carrier forced on */

Definition at line 167 of file jsm.h.

#define CH_FIFO_ENABLED   0x0200 /* Port has FIFOs enabled */

Definition at line 173 of file jsm.h.

#define CH_HANGUP   0x0020 /* Hangup received */

Definition at line 168 of file jsm.h.

#define CH_LOOPBACK   0x2000 /* Channel is in lookback mode */

Definition at line 177 of file jsm.h.

#define CH_OPENING   0x0080 /* Port in fragile open state */

Definition at line 171 of file jsm.h.

#define CH_PRON   0x0001 /* Printer on string */

Definition at line 163 of file jsm.h.

#define CH_RECEIVER_OFF   0x0040 /* Receiver is off */

Definition at line 170 of file jsm.h.

#define CH_STOP   0x0002 /* Output is stopped */

Definition at line 164 of file jsm.h.

#define CH_STOPI   0x0004 /* Input is stopped */

Definition at line 165 of file jsm.h.

#define CH_TX_FIFO_EMPTY   0x0400 /* TX Fifo is completely empty */

Definition at line 174 of file jsm.h.

#define CH_TX_FIFO_LWM   0x0800 /* TX Fifo is below Low Water */

Definition at line 175 of file jsm.h.

#define EQUEUEMASK   0x1FFF /* 8 K - 1 */

Definition at line 182 of file jsm.h.

#define EQUEUESIZE   RQUEUESIZE

Definition at line 184 of file jsm.h.

#define JSM_PARTNUM   "40002438_A-INKERNEL"

Definition at line 93 of file jsm.h.

#define jsm_printk (   nlevel,
  klevel,
  pdev,
  fmt,
  args... 
)
Value:
if ((DBG_##nlevel & jsm_debug)) \
dev_printk(KERN_##klevel, pdev->dev, fmt, ## args)

Definition at line 60 of file jsm.h.

#define JSM_VERSION   "jsm: 1.2-1-INKERNEL"

Definition at line 92 of file jsm.h.

#define MAX_STOPS_SENT   5

Definition at line 66 of file jsm.h.

#define MAXLINES   256

Definition at line 64 of file jsm.h.

#define MAXPORTS   8

Definition at line 65 of file jsm.h.

#define PCI_DEVICE_NEO_2DB9_PCI_NAME   "Neo 2 - DB9 Universal PCI"

Definition at line 354 of file jsm.h.

#define PCI_DEVICE_NEO_2DB9PRI_PCI_NAME   "Neo 2 - DB9 Universal PCI - Powered Ring Indicator"

Definition at line 355 of file jsm.h.

#define PCI_DEVICE_NEO_2RJ45_PCI_NAME   "Neo 2 - RJ45 Universal PCI"

Definition at line 356 of file jsm.h.

#define PCI_DEVICE_NEO_2RJ45PRI_PCI_NAME   "Neo 2 - RJ45 Universal PCI - Powered Ring Indicator"

Definition at line 357 of file jsm.h.

#define PCIE_DEVICE_NEO_IBM_PCI_NAME   "Neo 4 - PCI Express - IBM"

Definition at line 358 of file jsm.h.

#define RQUEUEMASK   0x1FFF /* 8 K - 1 */

Definition at line 181 of file jsm.h.

#define RQUEUESIZE   (RQUEUEMASK + 1)

Definition at line 183 of file jsm.h.

#define T_CLASSIC   0001

Definition at line 71 of file jsm.h.

#define T_NEO   0000

Definition at line 70 of file jsm.h.

#define T_PCIBUS   0400

Definition at line 72 of file jsm.h.

#define UART_17158_EFR_CTSDSR   0x80 /* Auto CTS/DSR Flow COntrol Enable */

Definition at line 344 of file jsm.h.

#define UART_17158_EFR_ECB   0x10 /* Enhanced control bit */

Definition at line 340 of file jsm.h.

#define UART_17158_EFR_IXOFF   0x8 /* Transmit Xon1/Xoff1 */

Definition at line 342 of file jsm.h.

#define UART_17158_EFR_IXON   0x2 /* Receiver compares Xon1/Xoff1 */

Definition at line 341 of file jsm.h.

#define UART_17158_EFR_RTSDTR   0x40 /* Auto RTS/DTR Flow Control Enable */

Definition at line 343 of file jsm.h.

#define UART_17158_FCTR_BIT6   0x40

Definition at line 312 of file jsm.h.

#define UART_17158_FCTR_BIT7   0x80

Definition at line 313 of file jsm.h.

#define UART_17158_FCTR_RS485   0x20

Definition at line 305 of file jsm.h.

#define UART_17158_FCTR_RTS_12DELAY   0x12

Definition at line 292 of file jsm.h.

#define UART_17158_FCTR_RTS_16DELAY   0x05

Definition at line 293 of file jsm.h.

#define UART_17158_FCTR_RTS_20DELAY   0x13

Definition at line 294 of file jsm.h.

#define UART_17158_FCTR_RTS_24DELAY   0x06

Definition at line 295 of file jsm.h.

#define UART_17158_FCTR_RTS_28DELAY   0x14

Definition at line 296 of file jsm.h.

#define UART_17158_FCTR_RTS_32DELAY   0x07

Definition at line 297 of file jsm.h.

#define UART_17158_FCTR_RTS_36DELAY   0x16

Definition at line 298 of file jsm.h.

#define UART_17158_FCTR_RTS_40DELAY   0x08

Definition at line 299 of file jsm.h.

#define UART_17158_FCTR_RTS_44DELAY   0x09

Definition at line 300 of file jsm.h.

#define UART_17158_FCTR_RTS_48DELAY   0x10

Definition at line 301 of file jsm.h.

#define UART_17158_FCTR_RTS_4DELAY   0x01

Definition at line 289 of file jsm.h.

#define UART_17158_FCTR_RTS_52DELAY   0x11

Definition at line 302 of file jsm.h.

#define UART_17158_FCTR_RTS_6DELAY   0x02

Definition at line 290 of file jsm.h.

#define UART_17158_FCTR_RTS_8DELAY   0x03

Definition at line 291 of file jsm.h.

#define UART_17158_FCTR_RTS_IRDA   0x10

Definition at line 304 of file jsm.h.

#define UART_17158_FCTR_RTS_NODELAY   0x00

Definition at line 288 of file jsm.h.

#define UART_17158_FCTR_TRGA   0x00

Definition at line 306 of file jsm.h.

#define UART_17158_FCTR_TRGB   0x40

Definition at line 307 of file jsm.h.

#define UART_17158_FCTR_TRGC   0x80

Definition at line 308 of file jsm.h.

#define UART_17158_FCTR_TRGD   0xC0

Definition at line 309 of file jsm.h.

#define UART_17158_IER_CTSDSR   0x80 /* Input Interrupt Enable */

Definition at line 352 of file jsm.h.

#define UART_17158_IER_RSVD1   0x10 /* Reserved by Exar */

Definition at line 349 of file jsm.h.

#define UART_17158_IER_RTSDTR   0x40 /* Output Interrupt Enable */

Definition at line 351 of file jsm.h.

#define UART_17158_IER_XOFF   0x20 /* Xoff Interrupt Enable */

Definition at line 350 of file jsm.h.

#define UART_17158_IIR_FIFO_ENABLED   0xC0 /* 16550 FIFOs are Enabled */

Definition at line 323 of file jsm.h.

#define UART_17158_IIR_HWFLOW_STATE_CHANGE   0x20 /* CTS/DSR or RTS/DTR state change */

Definition at line 322 of file jsm.h.

#define UART_17158_IIR_RDI_TIMEOUT   0x0C /* Receiver data TIMEOUT */

Definition at line 320 of file jsm.h.

#define UART_17158_IIR_XONXOFF   0x10 /* Received an XON/XOFF char */

Definition at line 321 of file jsm.h.

#define UART_17158_MSR   0x4 /* Modem State Change */

Definition at line 332 of file jsm.h.

#define UART_17158_POLL_ADDR_OFFSET   0x80

Definition at line 280 of file jsm.h.

#define UART_17158_RX_FIFO_DATA_ERROR   0x80 /* UART detected an RX FIFO Data error */

Definition at line 334 of file jsm.h.

#define UART_17158_RX_FIFOSIZE   64

Definition at line 316 of file jsm.h.

#define UART_17158_RX_LINE_STATUS   0x1 /* RX Ready */

Definition at line 329 of file jsm.h.

#define UART_17158_RXRDY_TIMEOUT   0x2 /* RX Ready Timeout */

Definition at line 330 of file jsm.h.

#define UART_17158_TX_AND_FIFO_CLR   0x40 /* Transmitter Holding Reg Empty */

Definition at line 333 of file jsm.h.

#define UART_17158_TX_FIFOSIZE   64

Definition at line 317 of file jsm.h.

#define UART_17158_TXRDY   0x3 /* TX Ready */

Definition at line 331 of file jsm.h.

#define UART_17158_XOFF_DETECT   0x1 /* Indicates whether chip saw an incoming XOFF char */

Definition at line 346 of file jsm.h.

#define UART_17158_XON_DETECT   0x2 /* Indicates whether chip saw an incoming XON char */

Definition at line 347 of file jsm.h.

#define WRITEBUFLEN   ((4096) + 4)

Definition at line 90 of file jsm.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
DBG_INIT 
DBG_BASIC 
DBG_CORE 
DBG_OPEN 
DBG_CLOSE 
DBG_READ 
DBG_WRITE 
DBG_IOCTL 
DBG_PROC 
DBG_PARAM 
DBG_PSCAN 
DBG_EVENT 
DBG_DRAIN 
DBG_MSIGS 
DBG_MGMT 
DBG_INTR 
DBG_CARR 

Definition at line 40 of file jsm.h.

Function Documentation

void jsm_check_queue_flow_control ( struct jsm_channel ch)

Definition at line 763 of file jsm_tty.c.

void jsm_input ( struct jsm_channel ch)

Definition at line 520 of file jsm_tty.c.

int jsm_remove_uart_port ( struct jsm_board )

Definition at line 488 of file jsm_tty.c.

int jsm_tty_init ( struct jsm_board )

Definition at line 374 of file jsm_tty.c.

int jsm_uart_port_init ( struct jsm_board )

Definition at line 438 of file jsm_tty.c.

Variable Documentation

int jsm_debug

Definition at line 63 of file jsm_driver.c.

struct board_ops jsm_neo_ops

Definition at line 1396 of file jsm_neo.c.

struct uart_driver jsm_uart_driver

Definition at line 43 of file jsm_driver.c.