1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Medifield PNW Camera Imaging ISP subsystem.
4  *
5  * Copyright (c) 2010 Intel Corporation. All Rights Reserved.
6  *
7  * Copyright (c) 2010 Silicon Hive www.siliconhive.com.
8  */
9 
10 #ifndef	__HMM_BO_COMMON_H__
11 #define	__HMM_BO_COMMON_H__
12 
13 #define	HMM_BO_NAME	"HMM"
14 
15 /*
16  * some common use micros
17  */
18 #define	var_equal_return(var1, var2, exp, fmt, arg ...)	\
19 	do { \
20 		if ((var1) == (var2)) { \
21 			dev_err(atomisp_dev, \
22 			fmt, ## arg); \
23 			return exp;\
24 		} \
25 	} while (0)
26 
27 #define	var_equal_return_void(var1, var2, fmt, arg ...)	\
28 	do { \
29 		if ((var1) == (var2)) { \
30 			dev_err(atomisp_dev, \
31 			fmt, ## arg); \
32 			return;\
33 		} \
34 	} while (0)
35 
36 #define	var_equal_goto(var1, var2, label, fmt, arg ...)	\
37 	do { \
38 		if ((var1) == (var2)) { \
39 			dev_err(atomisp_dev, \
40 			fmt, ## arg); \
41 			goto label;\
42 		} \
43 	} while (0)
44 
45 #define	var_not_equal_goto(var1, var2, label, fmt, arg ...)	\
46 	do { \
47 		if ((var1) != (var2)) { \
48 			dev_err(atomisp_dev, \
49 			fmt, ## arg); \
50 			goto label;\
51 		} \
52 	} while (0)
53 
54 #define	check_null_return(ptr, exp, fmt, arg ...)	\
55 		var_equal_return(ptr, NULL, exp, fmt, ## arg)
56 
57 #define	check_null_return_void(ptr, fmt, arg ...)	\
58 		var_equal_return_void(ptr, NULL, fmt, ## arg)
59 
60 #endif
61