~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to drivers/char/sx.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
/*
3
 
 *  sx.h
4
 
 *
5
 
 *  Copyright (C) 1998/1999 R.E.Wolff@BitWizard.nl
6
 
 *
7
 
 *  SX serial driver.
8
 
 *  -- Supports SI, XIO and SX host cards. 
9
 
 *  -- Supports TAs, MTAs and SXDCs.
10
 
 *
11
 
 *  Version 1.3 -- March, 1999. 
12
 
 * 
13
 
 */
14
 
 
15
 
#define SX_NBOARDS        4
16
 
#define SX_PORTSPERBOARD 32
17
 
#define SX_NPORTS        (SX_NBOARDS * SX_PORTSPERBOARD)
18
 
 
19
 
#ifdef __KERNEL__
20
 
 
21
 
#define SX_MAGIC 0x12345678
22
 
 
23
 
struct sx_port {
24
 
  struct gs_port          gs;
25
 
  struct wait_queue       *shutdown_wait;
26
 
  int                     ch_base;
27
 
  int                     c_dcd;
28
 
  struct sx_board         *board;
29
 
  int                     line;
30
 
  unsigned long           locks;
31
 
};
32
 
 
33
 
struct sx_board {
34
 
  int magic;
35
 
  void __iomem *base;
36
 
  void __iomem *base2;
37
 
  unsigned long hw_base;
38
 
  resource_size_t hw_len;
39
 
  int eisa_base;
40
 
  int port_base; /* Number of the first port */
41
 
  struct sx_port *ports;
42
 
  int nports;
43
 
  int flags;
44
 
  int irq;
45
 
  int poll;
46
 
  int ta_type;
47
 
  struct timer_list       timer;
48
 
  unsigned long           locks;
49
 
};
50
 
 
51
 
struct vpd_prom {
52
 
  unsigned short id;
53
 
  char hwrev;
54
 
  char hwass;
55
 
  int uniqid;
56
 
  char myear;
57
 
  char mweek;
58
 
  char hw_feature[5];
59
 
  char oem_id;
60
 
  char identifier[16];
61
 
};
62
 
 
63
 
#ifndef MOD_RS232DB25MALE
64
 
#define MOD_RS232DB25MALE 0x0a
65
 
#endif
66
 
 
67
 
#define SI_ISA_BOARD         0x00000001
68
 
#define SX_ISA_BOARD         0x00000002
69
 
#define SX_PCI_BOARD         0x00000004
70
 
#define SX_CFPCI_BOARD       0x00000008
71
 
#define SX_CFISA_BOARD       0x00000010
72
 
#define SI_EISA_BOARD        0x00000020
73
 
#define SI1_ISA_BOARD        0x00000040
74
 
 
75
 
#define SX_BOARD_PRESENT     0x00001000
76
 
#define SX_BOARD_INITIALIZED 0x00002000
77
 
#define SX_IRQ_ALLOCATED     0x00004000
78
 
 
79
 
#define SX_BOARD_TYPE        0x000000ff
80
 
 
81
 
#define IS_SX_BOARD(board) (board->flags & (SX_PCI_BOARD | SX_CFPCI_BOARD | \
82
 
                                            SX_ISA_BOARD | SX_CFISA_BOARD))
83
 
 
84
 
#define IS_SI_BOARD(board) (board->flags & SI_ISA_BOARD)
85
 
#define IS_SI1_BOARD(board) (board->flags & SI1_ISA_BOARD)
86
 
 
87
 
#define IS_EISA_BOARD(board) (board->flags & SI_EISA_BOARD)
88
 
 
89
 
#define IS_CF_BOARD(board) (board->flags & (SX_CFISA_BOARD | SX_CFPCI_BOARD))
90
 
 
91
 
/* The SI processor clock is required to calculate the cc_int_count register
92
 
   value for the SI cards. */
93
 
#define SI_PROCESSOR_CLOCK 25000000
94
 
 
95
 
 
96
 
/* port flags */
97
 
/* Make sure these don't clash with gs flags or async flags */
98
 
#define SX_RX_THROTTLE        0x0000001
99
 
 
100
 
 
101
 
 
102
 
#define SX_PORT_TRANSMIT_LOCK  0
103
 
#define SX_BOARD_INTR_LOCK     0
104
 
 
105
 
 
106
 
 
107
 
/* Debug flags. Add these together to get more debug info. */
108
 
 
109
 
#define SX_DEBUG_OPEN          0x00000001
110
 
#define SX_DEBUG_SETTING       0x00000002
111
 
#define SX_DEBUG_FLOW          0x00000004
112
 
#define SX_DEBUG_MODEMSIGNALS  0x00000008
113
 
#define SX_DEBUG_TERMIOS       0x00000010
114
 
#define SX_DEBUG_TRANSMIT      0x00000020
115
 
#define SX_DEBUG_RECEIVE       0x00000040
116
 
#define SX_DEBUG_INTERRUPTS    0x00000080
117
 
#define SX_DEBUG_PROBE         0x00000100
118
 
#define SX_DEBUG_INIT          0x00000200
119
 
#define SX_DEBUG_CLEANUP       0x00000400
120
 
#define SX_DEBUG_CLOSE         0x00000800
121
 
#define SX_DEBUG_FIRMWARE      0x00001000
122
 
#define SX_DEBUG_MEMTEST       0x00002000
123
 
 
124
 
#define SX_DEBUG_ALL           0xffffffff
125
 
 
126
 
 
127
 
#define O_OTHER(tty)    \
128
 
      ((O_OLCUC(tty))  ||\
129
 
      (O_ONLCR(tty))   ||\
130
 
      (O_OCRNL(tty))   ||\
131
 
      (O_ONOCR(tty))   ||\
132
 
      (O_ONLRET(tty))  ||\
133
 
      (O_OFILL(tty))   ||\
134
 
      (O_OFDEL(tty))   ||\
135
 
      (O_NLDLY(tty))   ||\
136
 
      (O_CRDLY(tty))   ||\
137
 
      (O_TABDLY(tty))  ||\
138
 
      (O_BSDLY(tty))   ||\
139
 
      (O_VTDLY(tty))   ||\
140
 
      (O_FFDLY(tty)))
141
 
 
142
 
/* Same for input. */
143
 
#define I_OTHER(tty)    \
144
 
      ((I_INLCR(tty))  ||\
145
 
      (I_IGNCR(tty))   ||\
146
 
      (I_ICRNL(tty))   ||\
147
 
      (I_IUCLC(tty))   ||\
148
 
      (L_ISIG(tty)))
149
 
 
150
 
#define MOD_TA   (        TA>>4)
151
 
#define MOD_MTA  (MTA_CD1400>>4)
152
 
#define MOD_SXDC (      SXDC>>4)
153
 
 
154
 
 
155
 
/* We copy the download code over to the card in chunks of ... bytes */
156
 
#define SX_CHUNK_SIZE 128
157
 
 
158
 
#endif /* __KERNEL__ */
159
 
 
160
 
 
161
 
 
162
 
/* Specialix document 6210046-11 page 3 */
163
 
#define SPX(X) (('S'<<24) | ('P' << 16) | (X))
164
 
 
165
 
/* Specialix-Linux specific IOCTLS. */
166
 
#define SPXL(X) (SPX(('L' << 8) | (X)))
167
 
 
168
 
 
169
 
#define SXIO_SET_BOARD      SPXL(0x01)
170
 
#define SXIO_GET_TYPE       SPXL(0x02)
171
 
#define SXIO_DOWNLOAD       SPXL(0x03)
172
 
#define SXIO_INIT           SPXL(0x04)
173
 
#define SXIO_SETDEBUG       SPXL(0x05)
174
 
#define SXIO_GETDEBUG       SPXL(0x06)
175
 
#define SXIO_DO_RAMTEST     SPXL(0x07)
176
 
#define SXIO_SETGSDEBUG     SPXL(0x08)
177
 
#define SXIO_GETGSDEBUG     SPXL(0x09)
178
 
#define SXIO_GETNPORTS      SPXL(0x0a)
179
 
 
180
 
 
181
 
#ifndef SXCTL_MISC_MINOR 
182
 
/* Allow others to gather this into "major.h" or something like that */
183
 
#define SXCTL_MISC_MINOR    167
184
 
#endif
185
 
 
186
 
#ifndef SX_NORMAL_MAJOR
187
 
/* This allows overriding on the compiler commandline, or in a "major.h" 
188
 
   include or something like that */
189
 
#define SX_NORMAL_MAJOR  32
190
 
#define SX_CALLOUT_MAJOR 33
191
 
#endif
192
 
 
193
 
 
194
 
#define SX_TYPE_SX          0x01
195
 
#define SX_TYPE_SI          0x02
196
 
#define SX_TYPE_CF          0x03
197
 
 
198
 
 
199
 
#define WINDOW_LEN(board) (IS_CF_BOARD(board)?0x20000:SX_WINDOW_LEN)
200
 
/*                         Need a #define for ^^^^^^^ !!! */
201