blob: 463760f499a41a2e0c43dce63314612cbc1849c9 [file] [log] [blame]
Omar Ramirez Luna62802382010-06-23 16:12:23 +03001/*
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: */
Felipe Contrerasb3d23682010-07-04 16:36:23 +030029#ifdef CONFIG_TIDSPBRIDGE_DEBUG
Omar Ramirez Luna62802382010-06-23 16:12:23 +030030
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_ */