1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * drivers/media/platform/samsung/s5p-mfc/s5p_mfc_debug.h
4 *
5 * Header file for Samsung MFC (Multi Function Codec - FIMV) driver
6 * This file contains debug macros
7 *
8 * Kamil Debski, Copyright (c) 2011 Samsung Electronics
9 * http://www.samsung.com/
10 */
11
12#ifndef S5P_MFC_DEBUG_H_
13#define S5P_MFC_DEBUG_H_
14
15#define DEBUG
16
17#ifdef DEBUG
18extern int mfc_debug_level;
19
20#define mfc_debug(level, fmt, args...)				\
21	do {							\
22		if (mfc_debug_level >= level)			\
23			printk(KERN_DEBUG "%s:%d: " fmt,	\
24				__func__, __LINE__, ##args);	\
25	} while (0)
26#else
27#define mfc_debug(level, fmt, args...)
28#endif
29
30#define mfc_debug_enter() mfc_debug(5, "enter\n")
31#define mfc_debug_leave() mfc_debug(5, "leave\n")
32
33#define mfc_err(fmt, args...)				\
34	do {						\
35		printk(KERN_ERR "%s:%d: " fmt,		\
36		       __func__, __LINE__, ##args);	\
37	} while (0)
38
39#define mfc_err_limited(fmt, args...)			\
40	do {						\
41		printk_ratelimited(KERN_ERR "%s:%d: " fmt,	\
42		       __func__, __LINE__, ##args);	\
43	} while (0)
44
45#define mfc_info(fmt, args...)				\
46	do {						\
47		printk(KERN_INFO "%s:%d: " fmt,		\
48		       __func__, __LINE__, ##args);	\
49	} while (0)
50
51#endif /* S5P_MFC_DEBUG_H_ */
52