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 <linux/uaccess.h> 57 #include <linux/wait.h> 58 59 extern int mwave_3780i_irq; 60 extern int mwave_3780i_io; 61 extern int mwave_uart_irq; 62 extern int mwave_uart_io; 63 64 struct mwave_ipc { 65 unsigned short usIntCount; /* 0=none, 1=first, 2=greater than 1st */ 66 bool bIsEnabled; 67 bool bIsHere; 68 /* entry spin lock */ 69 wait_queue_head_t ipc_wait_queue; 70 }; 71 72 struct mwave_device_data { 73 struct thinkpad_bd_data rBDData; /* board driver's data area */ 74 unsigned long ulIPCSource_ISR; /* IPC source bits for recently processed intr, set during ISR processing */ 75 unsigned long ulIPCSource_DPC; /* IPC source bits for recently processed intr, set during DPC processing */ 76 bool bBDInitialized; 77 bool bResourcesClaimed; 78 bool bDSPEnabled; 79 bool bDSPReset; 80 struct mwave_ipc IPCs[16]; 81 bool bMwaveDevRegistered; 82 short sLine; 83 int nr_registered_attrs; 84 int device_registered; 85 86 }; 87 88 extern struct mwave_device_data mwave_s_mdd; 89 90 #endif 91