1 /* 2 * Copyright (c) 2015 South Silicon Valley Microelectronics Inc. 3 * Copyright (c) 2015 iComm Corporation 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * This program is distributed in the hope that it will be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 * See the GNU General Public License for more details. 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16 17 #ifndef SSVSDIOBRIDGE_H 18 #define SSVSDIOBRIDGE_H 19 #include <linux/etherdevice.h> 20 #include <linux/device.h> 21 #include <linux/interrupt.h> 22 #include <linux/leds.h> 23 #include <linux/completion.h> 24 #include <linux/ioctl.h> 25 #include <linux/types.h> 26 #include "sdiobridge_pub.h" 27 struct ssv_sdiobridge_glue 28 { 29 struct device *dev; 30 u8 blockMode; 31 u16 blockSize; 32 u8 autoAckInt; 33 unsigned int dataIOPort; 34 unsigned int regIOPort; 35 u8 funcFocus; 36 atomic_t irq_handling; 37 wait_queue_head_t irq_wq; 38 wait_queue_head_t read_wq; 39 spinlock_t rxbuflock; 40 void *bufaddr; 41 struct list_head rxbuf; 42 struct list_head rxreadybuf; 43 struct dentry *debugfs; 44 struct dentry *dump_entry; 45 u32 dump; 46 }; 47 #define MANUFACTURER_SSV_CODE 0x3030 48 #define MANUFACTURER_ID_CABRIO_BASE 0x3030 49 #endif 50