Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2 *
  3 * mwavedd.h -- declarations for mwave device driver
  4 *
  5 *
  6 * Written By: Mike Sullivan IBM Corporation
  7 *
  8 * Copyright (C) 1999 IBM Corporation
  9 *
 10 * This program is free software; you can redistribute it and/or modify
 11 * it under the terms of the GNU General Public License as published by
 12 * the Free Software Foundation; either version 2 of the License, or
 13 * (at your option) any later version.
 14 *
 15 * This program is distributed in the hope that it will be useful,
 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 18 * GNU General Public License for more details.
 19 *
 20 * NO WARRANTY
 21 * THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
 22 * CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
 23 * LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
 24 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
 25 * solely responsible for determining the appropriateness of using and
 26 * distributing the Program and assumes all risks associated with its
 27 * exercise of rights under this Agreement, including but not limited to
 28 * the risks and costs of program errors, damage to or loss of data,
 29 * programs or equipment, and unavailability or interruption of operations.
 30 *
 31 * DISCLAIMER OF LIABILITY
 32 * NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
 33 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 34 * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
 35 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 36 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 37 * USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
 38 * HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
 39 *
 40 * You should have received a copy of the GNU General Public License
 41 * along with this program; if not, write to the Free Software
 42 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 43 *
 44 *
 45 * 10/23/2000 - Alpha Release
 46 *       First release to the public
 47 */
 48 
 49 #ifndef _LINUX_MWAVEDD_H
 50 #define _LINUX_MWAVEDD_H
 51 #include "3780i.h"
 52 #include "tp3780i.h"
 53 #include "smapi.h"
 54 #include "mwavepub.h"
 55 #include <linux/ioctl.h>
 56 #include <asm/uaccess.h>
 57 #include <linux/wait.h>
 58 
 59 extern int mwave_debug;
 60 extern int mwave_3780i_irq;
 61 extern int mwave_3780i_io;
 62 extern int mwave_uart_irq;
 63 extern int mwave_uart_io;
 64 
 65 #define PRINTK_ERROR printk
 66 #define KERN_ERR_MWAVE KERN_ERR "mwave: "
 67 
 68 #define TRACE_MWAVE     0x0001
 69 #define TRACE_SMAPI     0x0002
 70 #define TRACE_3780I     0x0004
 71 #define TRACE_TP3780I   0x0008
 72 
 73 #ifdef MW_TRACE
 74 #define PRINTK_1(f,s)                       \
 75   if (f & (mwave_debug)) {                  \
 76     printk(s);                              \
 77   }
 78 
 79 #define PRINTK_2(f,s,v1)                    \
 80   if (f & (mwave_debug)) {                  \
 81     printk(s,v1);                           \
 82   }
 83 
 84 #define PRINTK_3(f,s,v1,v2)                 \
 85   if (f & (mwave_debug)) {                  \
 86     printk(s,v1,v2);                        \
 87   }
 88 
 89 #define PRINTK_4(f,s,v1,v2,v3)              \
 90   if (f & (mwave_debug)) {                  \
 91     printk(s,v1,v2,v3);                     \
 92   }
 93 
 94 #define PRINTK_5(f,s,v1,v2,v3,v4)           \
 95   if (f & (mwave_debug)) {                  \
 96     printk(s,v1,v2,v3,v4);                  \
 97   }
 98 
 99 #define PRINTK_6(f,s,v1,v2,v3,v4,v5)        \
100   if (f & (mwave_debug)) {                  \
101     printk(s,v1,v2,v3,v4,v5);               \
102   }
103 
104 #define PRINTK_7(f,s,v1,v2,v3,v4,v5,v6)     \
105   if (f & (mwave_debug)) {                  \
106     printk(s,v1,v2,v3,v4,v5,v6);            \
107   }
108 
109 #define PRINTK_8(f,s,v1,v2,v3,v4,v5,v6,v7)  \
110   if (f & (mwave_debug)) {                  \
111     printk(s,v1,v2,v3,v4,v5,v6,v7);         \
112   }
113 
114 #else
115 #define PRINTK_1(f,s)
116 #define PRINTK_2(f,s,v1)
117 #define PRINTK_3(f,s,v1,v2)
118 #define PRINTK_4(f,s,v1,v2,v3)
119 #define PRINTK_5(f,s,v1,v2,v3,v4)
120 #define PRINTK_6(f,s,v1,v2,v3,v4,v5)
121 #define PRINTK_7(f,s,v1,v2,v3,v4,v5,v6)
122 #define PRINTK_8(f,s,v1,v2,v3,v4,v5,v6,v7)
123 #endif
124 
125 
126 typedef struct _MWAVE_IPC {
127         unsigned short usIntCount;      /* 0=none, 1=first, 2=greater than 1st */
128         BOOLEAN bIsEnabled;
129         BOOLEAN bIsHere;
130         /* entry spin lock */
131         wait_queue_head_t ipc_wait_queue;
132 } MWAVE_IPC;
133 
134 typedef struct _MWAVE_DEVICE_DATA {
135         THINKPAD_BD_DATA rBDData;       /* board driver's data area */
136         unsigned long ulIPCSource_ISR;  /* IPC source bits for recently processed intr, set during ISR processing */
137         unsigned long ulIPCSource_DPC;  /* IPC source bits for recently processed intr, set during DPC processing */
138         BOOLEAN bBDInitialized;
139         BOOLEAN bResourcesClaimed;
140         BOOLEAN bDSPEnabled;
141         BOOLEAN bDSPReset;
142         MWAVE_IPC IPCs[16];
143         BOOLEAN bMwaveDevRegistered;
144         short sLine;
145         int nr_registered_attrs;
146         int device_registered;
147 
148 } MWAVE_DEVICE_DATA, *pMWAVE_DEVICE_DATA;
149 
150 extern MWAVE_DEVICE_DATA mwave_s_mdd;
151 
152 #endif
153 
  This page was automatically generated by the LXR engine.