1 /* 2 Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com> 3 <http://rt2x00.serialmonkey.com> 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 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the 17 Free Software Foundation, Inc., 18 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 */ 20 21 /* 22 Module: rt2x00debug 23 Abstract: Data structures for the rt2x00debug. 24 */ 25 26 #ifndef RT2X00DEBUG_H 27 #define RT2X00DEBUG_H 28 29 struct rt2x00_dev; 30 31 /** 32 * enum rt2x00debugfs_entry_flags: Flags for debugfs registry entry 33 * 34 * @RT2X00DEBUGFS_OFFSET: rt2x00lib should pass the register offset 35 * as argument when using the callback function read()/write() 36 */ 37 enum rt2x00debugfs_entry_flags { 38 RT2X00DEBUGFS_OFFSET = (1 << 0), 39 }; 40 41 #define RT2X00DEBUGFS_REGISTER_ENTRY(__name, __type) \ 42 struct reg##__name { \ 43 void (*read)(struct rt2x00_dev *rt2x00dev, \ 44 const unsigned int word, __type *data); \ 45 void (*write)(struct rt2x00_dev *rt2x00dev, \ 46 const unsigned int word, __type data); \ 47 \ 48 unsigned int flags; \ 49 \ 50 unsigned int word_base; \ 51 unsigned int word_size; \ 52 unsigned int word_count; \ 53 } __name 54 55 struct rt2x00debug { 56 /* 57 * Reference to the modules structure. 58 */ 59 struct module *owner; 60 61 /* 62 * Register access entries. 63 */ 64 RT2X00DEBUGFS_REGISTER_ENTRY(csr, u32); 65 RT2X00DEBUGFS_REGISTER_ENTRY(eeprom, u16); 66 RT2X00DEBUGFS_REGISTER_ENTRY(bbp, u8); 67 RT2X00DEBUGFS_REGISTER_ENTRY(rf, u32); 68 }; 69 70 #endif /* RT2X00DEBUG_H */ 71