Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003     Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com>
0004     <http://rt2x00.serialmonkey.com>
0005 
0006  */
0007 
0008 /*
0009     Module: rt2x00debug
0010     Abstract: Data structures for the rt2x00debug.
0011  */
0012 
0013 #ifndef RT2X00DEBUG_H
0014 #define RT2X00DEBUG_H
0015 
0016 struct rt2x00_dev;
0017 
0018 /**
0019  * enum rt2x00debugfs_entry_flags: Flags for debugfs registry entry
0020  *
0021  * @RT2X00DEBUGFS_OFFSET: rt2x00lib should pass the register offset
0022  *  as argument when using the callback function read()/write()
0023  */
0024 enum rt2x00debugfs_entry_flags {
0025     RT2X00DEBUGFS_OFFSET    = (1 << 0),
0026 };
0027 
0028 #define RT2X00DEBUGFS_REGISTER_ENTRY(__name, __type)        \
0029 struct reg##__name {                        \
0030     __type (*read)(struct rt2x00_dev *rt2x00dev,        \
0031              const unsigned int word);          \
0032     void (*write)(struct rt2x00_dev *rt2x00dev,     \
0033               const unsigned int word, __type data);    \
0034                                 \
0035     unsigned int flags;                 \
0036                                 \
0037     unsigned int word_base;                 \
0038     unsigned int word_size;                 \
0039     unsigned int word_count;                \
0040 } __name
0041 
0042 struct rt2x00debug {
0043     /*
0044      * Reference to the modules structure.
0045      */
0046     struct module *owner;
0047 
0048     /*
0049      * Register access entries.
0050      */
0051     RT2X00DEBUGFS_REGISTER_ENTRY(csr, u32);
0052     RT2X00DEBUGFS_REGISTER_ENTRY(eeprom, u16);
0053     RT2X00DEBUGFS_REGISTER_ENTRY(bbp, u8);
0054     RT2X00DEBUGFS_REGISTER_ENTRY(rf, u32);
0055     RT2X00DEBUGFS_REGISTER_ENTRY(rfcsr, u8);
0056 };
0057 
0058 #endif /* RT2X00DEBUG_H */