1 /* 2 * (C) 2000 R.E.Wolff@BitWizard.nl 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 */ 18 19 #include <asm/hardirq.h> 20 21 22 #define disable(oldspl) save_flags (oldspl) 23 #define restore(oldspl) restore_flags (oldspl) 24 25 #define sysbrk(x) kmalloc ((x),in_interrupt()? GFP_ATOMIC : GFP_KERNEL) 26 #define sysfree(p,size) kfree ((p)) 27 28 #define WBYTE(p,v) writeb(v, &p) 29 #define RBYTE(p) readb (&p) 30 #define WWORD(p,v) writew(v, &p) 31 #define RWORD(p) readw(&p) 32 #define WINDW(p,v) writew(v, p) 33 #define RINDW(p) readw(p) 34 35 #define DEBUG_ALL 36 37 #define cprintf printk 38 39 #ifdef __KERNEL__ 40 #define INKERNEL 41 #endif 42 43 struct ttystatics { 44 struct termios tm; 45 }; 46 47 #define bzero(d, n) memset((d), 0, (n)) 48 #define bcopy(src, dest, n) memcpy ((dest), (src), (n)) 49 50 #define SEM_SIGIGNORE 0x1234 51 52 #ifdef DEBUG_SEM 53 #define swait(a,b) printk ("waiting: " __FILE__ " line %d\n", __LINE__) 54 #define ssignal(sem) printk ("signalling: " __FILE__ " line %d\n", __LINE__) 55 56 #define sreset(sem) printk ("sreset: " __FILE__ "\n") 57 #define sem_init(sem,v) printk ("sreset: " __FILE__ "\n") 58 #endif 59 60 61 #define getpid() (current->pid) 62 63 #define QSIZE SERIAL_XMIT_SIZE 64 65 #define pseterr(errno) return (- errno) 66 67 #define V_CBAUD CBAUD 68 69 /* For one reason or another rioboot.c uses delay instead of RIODelay. */ 70 #define delay(x,y) RIODelay(NULL, y) 71 72 extern int rio_debug; 73 74 #define RIO_DEBUG_INIT 0x000001 75 #define RIO_DEBUG_BOOT 0x000002 76 #define RIO_DEBUG_CMD 0x000004 77 #define RIO_DEBUG_CTRL 0x000008 78 #define RIO_DEBUG_INTR 0x000010 79 #define RIO_DEBUG_PARAM 0x000020 80 #define RIO_DEBUG_ROUTE 0x000040 81 #define RIO_DEBUG_TABLE 0x000080 82 #define RIO_DEBUG_TTY 0x000100 83 #define RIO_DEBUG_FLOW 0x000200 84 #define RIO_DEBUG_MODEMSIGNALS 0x000400 85 #define RIO_DEBUG_PROBE 0x000800 86 #define RIO_DEBUG_CLEANUP 0x001000 87 #define RIO_DEBUG_IFLOW 0x002000 88 #define RIO_DEBUG_PFE 0x004000 89 #define RIO_DEBUG_REC 0x008000 90 #define RIO_DEBUG_SPINLOCK 0x010000 91 #define RIO_DEBUG_DELAY 0x020000 92 #define RIO_DEBUG_MOD_COUNT 0x040000 93 94 /* Copied over from riowinif.h . This is ugly. The winif file declares 95 also much other stuff which is incompatible with the headers from 96 the older driver. The older driver includes "brates.h" which shadows 97 the definitions from Linux, and is incompatible... */ 98 99 /* RxBaud and TxBaud definitions... */ 100 #define RIO_B0 0x00 /* RTS / DTR signals dropped */ 101 #define RIO_B50 0x01 /* 50 baud */ 102 #define RIO_B75 0x02 /* 75 baud */ 103 #define RIO_B110 0x03 /* 110 baud */ 104 #define RIO_B134 0x04 /* 134.5 baud */ 105 #define RIO_B150 0x05 /* 150 baud */ 106 #define RIO_B200 0x06 /* 200 baud */ 107 #define RIO_B300 0x07 /* 300 baud */ 108 #define RIO_B600 0x08 /* 600 baud */ 109 #define RIO_B1200 0x09 /* 1200 baud */ 110 #define RIO_B1800 0x0A /* 1800 baud */ 111 #define RIO_B2400 0x0B /* 2400 baud */ 112 #define RIO_B4800 0x0C /* 4800 baud */ 113 #define RIO_B9600 0x0D /* 9600 baud */ 114 #define RIO_B19200 0x0E /* 19200 baud */ 115 #define RIO_B38400 0x0F /* 38400 baud */ 116 #define RIO_B56000 0x10 /* 56000 baud */ 117 #define RIO_B57600 0x11 /* 57600 baud */ 118 #define RIO_B64000 0x12 /* 64000 baud */ 119 #define RIO_B115200 0x13 /* 115200 baud */ 120 #define RIO_B2000 0x14 /* 2000 baud */ 121 122 123