1 /*
2  * dbc.h
3  *
4  * DSP-BIOS Bridge driver support functions for TI OMAP processors.
5  *
6  * "Design by Contract" programming macros.
7  *
8  * Notes:
9  *   Requires that the GT->ERROR function has been defaulted to a valid
10  *   error handler for the given execution environment.
11  *
12  *   Does not require that GT_init() be called.
13  *
14  * Copyright (C) 2008 Texas Instruments, Inc.
15  *
16  * This package is free software; you can redistribute it and/or modify
17  * it under the terms of the GNU General Public License version 2 as
18  * published by the Free Software Foundation.
19  *
20  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
21  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
22  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23  */
24 
25 #ifndef DBC_
26 #define DBC_
27 
28 /* Assertion Macros: */
29 #ifdef CONFIG_TIDSPBRIDGE_DEBUG
30 
31 #define DBC_ASSERT(exp) \
32     if (!(exp)) \
33 	pr_err("%s, line %d: Assertion (" #exp ") failed.\n", \
34 	__FILE__, __LINE__)
35 #define DBC_REQUIRE DBC_ASSERT	/* Function Precondition. */
36 #define DBC_ENSURE  DBC_ASSERT	/* Function Postcondition. */
37 
38 #else
39 
40 #define DBC_ASSERT(exp) {}
41 #define DBC_REQUIRE(exp) {}
42 #define DBC_ENSURE(exp) {}
43 
44 #endif /* DEBUG */
45 
46 #endif /* DBC_ */
47