18e84c258SEugene Krasnikov /*
28e84c258SEugene Krasnikov * Copyright (c) 2013 Eugene Krasnikov <k.eugene.e@gmail.com>
38e84c258SEugene Krasnikov *
48e84c258SEugene Krasnikov * Permission to use, copy, modify, and/or distribute this software for any
58e84c258SEugene Krasnikov * purpose with or without fee is hereby granted, provided that the above
68e84c258SEugene Krasnikov * copyright notice and this permission notice appear in all copies.
78e84c258SEugene Krasnikov *
88e84c258SEugene Krasnikov * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
98e84c258SEugene Krasnikov * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
108e84c258SEugene Krasnikov * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
118e84c258SEugene Krasnikov * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
128e84c258SEugene Krasnikov * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
138e84c258SEugene Krasnikov * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
148e84c258SEugene Krasnikov * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
158e84c258SEugene Krasnikov */
168e84c258SEugene Krasnikov
178e84c258SEugene Krasnikov #ifndef _WCN36XX_DEBUG_H_
188e84c258SEugene Krasnikov #define _WCN36XX_DEBUG_H_
198e84c258SEugene Krasnikov
208e84c258SEugene Krasnikov #include <linux/kernel.h>
218e84c258SEugene Krasnikov
228e84c258SEugene Krasnikov #define WCN36xx_MAX_DUMP_ARGS 5
238e84c258SEugene Krasnikov
248e84c258SEugene Krasnikov #ifdef CONFIG_WCN36XX_DEBUGFS
258e84c258SEugene Krasnikov struct wcn36xx_dfs_file {
268e84c258SEugene Krasnikov struct dentry *dentry;
278e84c258SEugene Krasnikov u32 value;
288e84c258SEugene Krasnikov };
298e84c258SEugene Krasnikov
308e84c258SEugene Krasnikov struct wcn36xx_dfs_entry {
318e84c258SEugene Krasnikov struct dentry *rootdir;
328e84c258SEugene Krasnikov struct wcn36xx_dfs_file file_bmps_switcher;
338e84c258SEugene Krasnikov struct wcn36xx_dfs_file file_dump;
34*5cc8cc44SBryan O'Donoghue struct wcn36xx_dfs_file file_firmware_feat_caps;
358e84c258SEugene Krasnikov };
368e84c258SEugene Krasnikov
378e84c258SEugene Krasnikov void wcn36xx_debugfs_init(struct wcn36xx *wcn);
388e84c258SEugene Krasnikov void wcn36xx_debugfs_exit(struct wcn36xx *wcn);
398e84c258SEugene Krasnikov
408e84c258SEugene Krasnikov #else
wcn36xx_debugfs_init(struct wcn36xx * wcn)418e84c258SEugene Krasnikov static inline void wcn36xx_debugfs_init(struct wcn36xx *wcn)
428e84c258SEugene Krasnikov {
438e84c258SEugene Krasnikov }
wcn36xx_debugfs_exit(struct wcn36xx * wcn)448e84c258SEugene Krasnikov static inline void wcn36xx_debugfs_exit(struct wcn36xx *wcn)
458e84c258SEugene Krasnikov {
468e84c258SEugene Krasnikov }
478e84c258SEugene Krasnikov
488e84c258SEugene Krasnikov #endif /* CONFIG_WCN36XX_DEBUGFS */
498e84c258SEugene Krasnikov
508e84c258SEugene Krasnikov #endif /* _WCN36XX_DEBUG_H_ */
51