]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * | |
e018ba1f | 3 | * linux/drivers/s390/net/ctcdbug.c |
1da177e4 LT |
4 | * |
5 | * CTC / ESCON network driver - s390 dbf exploit. | |
6 | * | |
7 | * Copyright 2000,2003 IBM Corporation | |
8 | * | |
9 | * Author(s): Original Code written by | |
10 | * Peter Tiedemann (ptiedem@de.ibm.com) | |
11 | * | |
1da177e4 LT |
12 | * This program is free software; you can redistribute it and/or modify |
13 | * it under the terms of the GNU General Public License as published by | |
14 | * the Free Software Foundation; either version 2, or (at your option) | |
15 | * any later version. | |
16 | * | |
17 | * This program is distributed in the hope that it will be useful, | |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | * GNU General Public License for more details. | |
21 | * | |
22 | * You should have received a copy of the GNU General Public License | |
23 | * along with this program; if not, write to the Free Software | |
24 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |
25 | */ | |
26 | ||
27 | #include "ctcdbug.h" | |
28 | ||
29 | /** | |
30 | * Debug Facility Stuff | |
31 | */ | |
32 | debug_info_t *ctc_dbf_setup = NULL; | |
33 | debug_info_t *ctc_dbf_data = NULL; | |
34 | debug_info_t *ctc_dbf_trace = NULL; | |
35 | ||
36 | DEFINE_PER_CPU(char[256], ctc_dbf_txt_buf); | |
37 | ||
38 | void | |
39 | ctc_unregister_dbf_views(void) | |
40 | { | |
41 | if (ctc_dbf_setup) | |
42 | debug_unregister(ctc_dbf_setup); | |
43 | if (ctc_dbf_data) | |
44 | debug_unregister(ctc_dbf_data); | |
45 | if (ctc_dbf_trace) | |
46 | debug_unregister(ctc_dbf_trace); | |
47 | } | |
48 | int | |
49 | ctc_register_dbf_views(void) | |
50 | { | |
51 | ctc_dbf_setup = debug_register(CTC_DBF_SETUP_NAME, | |
66a464db | 52 | CTC_DBF_SETUP_PAGES, |
1da177e4 LT |
53 | CTC_DBF_SETUP_NR_AREAS, |
54 | CTC_DBF_SETUP_LEN); | |
55 | ctc_dbf_data = debug_register(CTC_DBF_DATA_NAME, | |
66a464db | 56 | CTC_DBF_DATA_PAGES, |
1da177e4 LT |
57 | CTC_DBF_DATA_NR_AREAS, |
58 | CTC_DBF_DATA_LEN); | |
59 | ctc_dbf_trace = debug_register(CTC_DBF_TRACE_NAME, | |
66a464db | 60 | CTC_DBF_TRACE_PAGES, |
1da177e4 LT |
61 | CTC_DBF_TRACE_NR_AREAS, |
62 | CTC_DBF_TRACE_LEN); | |
63 | ||
64 | if ((ctc_dbf_setup == NULL) || (ctc_dbf_data == NULL) || | |
65 | (ctc_dbf_trace == NULL)) { | |
66 | ctc_unregister_dbf_views(); | |
67 | return -ENOMEM; | |
68 | } | |
69 | debug_register_view(ctc_dbf_setup, &debug_hex_ascii_view); | |
70 | debug_set_level(ctc_dbf_setup, CTC_DBF_SETUP_LEVEL); | |
71 | ||
72 | debug_register_view(ctc_dbf_data, &debug_hex_ascii_view); | |
73 | debug_set_level(ctc_dbf_data, CTC_DBF_DATA_LEVEL); | |
74 | ||
75 | debug_register_view(ctc_dbf_trace, &debug_hex_ascii_view); | |
76 | debug_set_level(ctc_dbf_trace, CTC_DBF_TRACE_LEVEL); | |
77 | ||
78 | return 0; | |
79 | } | |
80 |