This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / drivers / s390 / net / ctcdbug.c
1 /*
2  *
3  * linux/drivers/s390/net/ctcdbug.c ($Revision: 1.1 $)
4  *
5  * Linux on zSeries OSA Express and HiperSockets support
6  *
7  * Copyright 2000,2003 IBM Corporation
8  *
9  *    Author(s): Original Code written by
10  *                        Peter Tiedemann (ptiedem@de.ibm.com)
11  *
12  *    $Revision: 1.1 $   $Date: 2004/07/02 16:31:22 $
13  *
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 2, or (at your option)
17  * any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program; if not, write to the Free Software
26  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28
29 #include "ctcdbug.h"
30
31 /**
32  * Debug Facility Stuff
33  */
34 debug_info_t *dbf_setup = NULL;
35 debug_info_t *dbf_data = NULL;
36 debug_info_t *dbf_trace = NULL;
37
38 DEFINE_PER_CPU(char[256], dbf_txt_buf);
39
40 void
41 unregister_dbf_views(void)
42 {
43         if (dbf_setup)
44                 debug_unregister(dbf_setup);
45         if (dbf_data)
46                 debug_unregister(dbf_data);
47         if (dbf_trace)
48                 debug_unregister(dbf_trace);
49 }
50 int
51 register_dbf_views(void)
52 {
53         dbf_setup = debug_register(CTC_DBF_SETUP_NAME,
54                                         CTC_DBF_SETUP_INDEX,
55                                         CTC_DBF_SETUP_NR_AREAS,
56                                         CTC_DBF_SETUP_LEN);
57         dbf_data = debug_register(CTC_DBF_DATA_NAME,
58                                        CTC_DBF_DATA_INDEX,
59                                        CTC_DBF_DATA_NR_AREAS,
60                                        CTC_DBF_DATA_LEN);
61         dbf_trace = debug_register(CTC_DBF_TRACE_NAME,
62                                         CTC_DBF_TRACE_INDEX,
63                                         CTC_DBF_TRACE_NR_AREAS,
64                                         CTC_DBF_TRACE_LEN);
65
66         if ((dbf_setup == NULL) || (dbf_data == NULL) ||
67             (dbf_trace == NULL)) {
68                 unregister_dbf_views();
69                 return -ENOMEM;
70         }
71         debug_register_view(dbf_setup, &debug_hex_ascii_view);
72         debug_set_level(dbf_setup, CTC_DBF_SETUP_LEVEL);
73
74         debug_register_view(dbf_data, &debug_hex_ascii_view);
75         debug_set_level(dbf_data, CTC_DBF_DATA_LEVEL);
76
77         debug_register_view(dbf_trace, &debug_hex_ascii_view);
78         debug_set_level(dbf_trace, CTC_DBF_TRACE_LEVEL);
79
80         return 0;
81 }
82
83