pandora: defconfig: update
[pandora-kernel.git] / drivers / staging / tidspbridge / include / dspbridge / dbc.h
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_ */