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