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