]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/scsi/bfa/include/cs/bfa_debug.h
x86, numa: Assign CPUs to nodes in round-robin manner on fake NUMA
[mv-sheeva.git] / drivers / scsi / bfa / include / cs / bfa_debug.h
1 /*
2  * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17
18 /**
19  *  bfa_debug.h BFA debug interfaces
20  */
21
22 #ifndef __BFA_DEBUG_H__
23 #define __BFA_DEBUG_H__
24
25 #define bfa_assert(__cond)      do {                                    \
26         if (!(__cond))                                                  \
27                 bfa_panic(__LINE__, __FILE__, #__cond);      \
28 } while (0)
29
30 #define bfa_sm_fault(__mod, __event)    do {                            \
31         bfa_trc(__mod, (((uint32_t)0xDEAD << 16) | __event));           \
32         bfa_sm_panic((__mod)->logm, __LINE__, __FILE__, __event);       \
33 } while (0)
34
35 #ifndef BFA_PERF_BUILD
36 #define bfa_assert_fp(__cond)   bfa_assert(__cond)
37 #else
38 #define bfa_assert_fp(__cond)
39 #endif
40
41 struct bfa_log_mod_s;
42 void bfa_panic(int line, char *file, char *panicstr);
43 void bfa_sm_panic(struct bfa_log_mod_s *logm, int line, char *file, int event);
44
45 #endif /* __BFA_DEBUG_H__ */