| /* |
| * Copyright (c) 2013 TRUSTONIC LIMITED |
| * All Rights Reserved. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * version 2 as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| #ifndef _MC_DEBUG_H_ |
| #define _MC_DEBUG_H_ |
| /* Found in main.c */ |
| extern struct device *mcd; |
| |
| #define MCDRV_DBG_ERROR(dev, txt, ...) \ |
| dev_err(dev, "MobiCore %s() ### ERROR: " txt "\n", \ |
| __func__, \ |
| ##__VA_ARGS__) |
| |
| /* dummy function helper macro. */ |
| #define DUMMY_FUNCTION() do {} while (0) |
| |
| #if defined(DEBUG) |
| |
| /* #define DEBUG_VERBOSE */ |
| #if defined(DEBUG_VERBOSE) |
| #define MCDRV_DBG_VERBOSE MCDRV_DBG |
| #else |
| #define MCDRV_DBG_VERBOSE(...) DUMMY_FUNCTION() |
| #endif |
| |
| #define MCDRV_DBG(dev, txt, ...) \ |
| dev_info(dev, "MobiCore %s(): " txt "\n", \ |
| __func__, \ |
| ##__VA_ARGS__) |
| |
| #define MCDRV_DBG_WARN(dev, txt, ...) \ |
| dev_warn(dev, "MobiCore %s() WARNING: " txt "\n", \ |
| __func__, \ |
| ##__VA_ARGS__) |
| |
| #define MCDRV_ASSERT(cond) \ |
| do { \ |
| if (unlikely(!(cond))) { \ |
| panic("Assertion failed: %s:%d\n", \ |
| __FILE__, __LINE__); \ |
| } \ |
| } while (0) |
| |
| #else |
| |
| #define MCDRV_DBG_VERBOSE(...) DUMMY_FUNCTION() |
| #define MCDRV_DBG(...) DUMMY_FUNCTION() |
| #define MCDRV_DBG_WARN(...) DUMMY_FUNCTION() |
| |
| #define MCDRV_ASSERT(...) DUMMY_FUNCTION() |
| |
| #endif /* [not] defined(DEBUG) */ |
| |
| #endif /* _MC_DEBUG_H_ */ |