Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v6.2
  1/* SPDX-License-Identifier: GPL-2.0-or-later */
  2/*
  3 *   Copyright (C) International Business Machines Corp., 2000-2002
  4 *   Portions Copyright (C) Christoph Hellwig, 2001-2002
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  5 */
  6#ifndef _H_JFS_DEBUG
  7#define _H_JFS_DEBUG
  8
  9/*
 10 *	jfs_debug.h
 11 *
 12 * global debug message, data structure/macro definitions
 13 * under control of CONFIG_JFS_DEBUG, CONFIG_JFS_STATISTICS;
 14 */
 15
 16/*
 17 * Create /proc/fs/jfs if procfs is enabled andeither
 18 * CONFIG_JFS_DEBUG or CONFIG_JFS_STATISTICS is defined
 19 */
 20#if defined(CONFIG_PROC_FS) && (defined(CONFIG_JFS_DEBUG) || defined(CONFIG_JFS_STATISTICS))
 21#define PROC_FS_JFS
 22extern void jfs_proc_init(void);
 23extern void jfs_proc_clean(void);
 24#endif
 25
 26/*
 27 *	assert with traditional printf/panic
 28 */
 29#define assert(p) do {	\
 30	if (!(p)) {	\
 31		printk(KERN_CRIT "BUG at %s:%d assert(%s)\n",	\
 32		       __FILE__, __LINE__, #p);			\
 33		BUG();	\
 34	}		\
 35} while (0)
 36
 37/*
 38 *	debug ON
 39 *	--------
 40 */
 41#ifdef CONFIG_JFS_DEBUG
 42#define ASSERT(p) assert(p)
 43
 44/* printk verbosity */
 45#define JFS_LOGLEVEL_ERR 1
 46#define JFS_LOGLEVEL_WARN 2
 47#define JFS_LOGLEVEL_DEBUG 3
 48#define JFS_LOGLEVEL_INFO 4
 49
 50extern int jfsloglevel;
 51
 52int jfs_txanchor_proc_show(struct seq_file *m, void *v);
 53
 54/* information message: e.g., configuration, major event */
 55#define jfs_info(fmt, arg...) do {			\
 56	if (jfsloglevel >= JFS_LOGLEVEL_INFO)		\
 57		printk(KERN_INFO fmt "\n", ## arg);	\
 58} while (0)
 59
 60/* debug message: ad hoc */
 61#define jfs_debug(fmt, arg...) do {			\
 62	if (jfsloglevel >= JFS_LOGLEVEL_DEBUG)		\
 63		printk(KERN_DEBUG fmt "\n", ## arg);	\
 64} while (0)
 65
 66/* warn message: */
 67#define jfs_warn(fmt, arg...) do {			\
 68	if (jfsloglevel >= JFS_LOGLEVEL_WARN)		\
 69		printk(KERN_WARNING fmt "\n", ## arg);	\
 70} while (0)
 71
 72/* error event message: e.g., i/o error */
 73#define jfs_err(fmt, arg...) do {			\
 74	if (jfsloglevel >= JFS_LOGLEVEL_ERR)		\
 75		printk(KERN_ERR fmt "\n", ## arg);	\
 76} while (0)
 77
 78/*
 79 *	debug OFF
 80 *	---------
 81 */
 82#else				/* CONFIG_JFS_DEBUG */
 83#define ASSERT(p) do {} while (0)
 84#define jfs_info(fmt, arg...) do {} while (0)
 85#define jfs_debug(fmt, arg...) do {} while (0)
 86#define jfs_warn(fmt, arg...) do {} while (0)
 87#define jfs_err(fmt, arg...) do {} while (0)
 88#endif				/* CONFIG_JFS_DEBUG */
 89
 90/*
 91 *	statistics
 92 *	----------
 93 */
 94#ifdef	CONFIG_JFS_STATISTICS
 95int jfs_lmstats_proc_show(struct seq_file *m, void *v);
 96int jfs_txstats_proc_show(struct seq_file *m, void *v);
 97int jfs_mpstat_proc_show(struct seq_file *m, void *v);
 98int jfs_xtstat_proc_show(struct seq_file *m, void *v);
 99
100#define	INCREMENT(x)		((x)++)
101#define	DECREMENT(x)		((x)--)
102#define	HIGHWATERMARK(x,y)	((x) = max((x), (y)))
103#else
104#define	INCREMENT(x)
105#define	DECREMENT(x)
106#define	HIGHWATERMARK(x,y)
107#endif				/* CONFIG_JFS_STATISTICS */
108
109#endif				/* _H_JFS_DEBUG */
v3.5.6
 
  1/*
  2 *   Copyright (C) International Business Machines Corp., 2000-2002
  3 *   Portions Copyright (C) Christoph Hellwig, 2001-2002
  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
 13 *   the 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 Free Software
 17 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 18 */
 19#ifndef _H_JFS_DEBUG
 20#define _H_JFS_DEBUG
 21
 22/*
 23 *	jfs_debug.h
 24 *
 25 * global debug message, data structure/macro definitions
 26 * under control of CONFIG_JFS_DEBUG, CONFIG_JFS_STATISTICS;
 27 */
 28
 29/*
 30 * Create /proc/fs/jfs if procfs is enabled andeither
 31 * CONFIG_JFS_DEBUG or CONFIG_JFS_STATISTICS is defined
 32 */
 33#if defined(CONFIG_PROC_FS) && (defined(CONFIG_JFS_DEBUG) || defined(CONFIG_JFS_STATISTICS))
 34#define PROC_FS_JFS
 35extern void jfs_proc_init(void);
 36extern void jfs_proc_clean(void);
 37#endif
 38
 39/*
 40 *	assert with traditional printf/panic
 41 */
 42#define assert(p) do {	\
 43	if (!(p)) {	\
 44		printk(KERN_CRIT "BUG at %s:%d assert(%s)\n",	\
 45		       __FILE__, __LINE__, #p);			\
 46		BUG();	\
 47	}		\
 48} while (0)
 49
 50/*
 51 *	debug ON
 52 *	--------
 53 */
 54#ifdef CONFIG_JFS_DEBUG
 55#define ASSERT(p) assert(p)
 56
 57/* printk verbosity */
 58#define JFS_LOGLEVEL_ERR 1
 59#define JFS_LOGLEVEL_WARN 2
 60#define JFS_LOGLEVEL_DEBUG 3
 61#define JFS_LOGLEVEL_INFO 4
 62
 63extern int jfsloglevel;
 64
 65extern const struct file_operations jfs_txanchor_proc_fops;
 66
 67/* information message: e.g., configuration, major event */
 68#define jfs_info(fmt, arg...) do {			\
 69	if (jfsloglevel >= JFS_LOGLEVEL_INFO)		\
 70		printk(KERN_INFO fmt "\n", ## arg);	\
 71} while (0)
 72
 73/* debug message: ad hoc */
 74#define jfs_debug(fmt, arg...) do {			\
 75	if (jfsloglevel >= JFS_LOGLEVEL_DEBUG)		\
 76		printk(KERN_DEBUG fmt "\n", ## arg);	\
 77} while (0)
 78
 79/* warn message: */
 80#define jfs_warn(fmt, arg...) do {			\
 81	if (jfsloglevel >= JFS_LOGLEVEL_WARN)		\
 82		printk(KERN_WARNING fmt "\n", ## arg);	\
 83} while (0)
 84
 85/* error event message: e.g., i/o error */
 86#define jfs_err(fmt, arg...) do {			\
 87	if (jfsloglevel >= JFS_LOGLEVEL_ERR)		\
 88		printk(KERN_ERR fmt "\n", ## arg);	\
 89} while (0)
 90
 91/*
 92 *	debug OFF
 93 *	---------
 94 */
 95#else				/* CONFIG_JFS_DEBUG */
 96#define ASSERT(p) do {} while (0)
 97#define jfs_info(fmt, arg...) do {} while (0)
 98#define jfs_debug(fmt, arg...) do {} while (0)
 99#define jfs_warn(fmt, arg...) do {} while (0)
100#define jfs_err(fmt, arg...) do {} while (0)
101#endif				/* CONFIG_JFS_DEBUG */
102
103/*
104 *	statistics
105 *	----------
106 */
107#ifdef	CONFIG_JFS_STATISTICS
108extern const struct file_operations jfs_lmstats_proc_fops;
109extern const struct file_operations jfs_txstats_proc_fops;
110extern const struct file_operations jfs_mpstat_proc_fops;
111extern const struct file_operations jfs_xtstat_proc_fops;
112
113#define	INCREMENT(x)		((x)++)
114#define	DECREMENT(x)		((x)--)
115#define	HIGHWATERMARK(x,y)	((x) = max((x), (y)))
116#else
117#define	INCREMENT(x)
118#define	DECREMENT(x)
119#define	HIGHWATERMARK(x,y)
120#endif				/* CONFIG_JFS_STATISTICS */
121
122#endif				/* _H_JFS_DEBUG */