blob: 4b81c8039312ffc2d6257650a8eb695892a913c2 [file] [log] [blame]
Eliot Blennerhassett719f82d2010-04-21 18:17:39 +02001/************************************************************************
2
3 AudioScience HPI driver
4 Copyright (C) 1997-2010 AudioScience Inc. <support@audioscience.com>
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of version 2 of the GNU General Public License as
8 published by the Free Software Foundation;
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19Debug macro translation.
20
21************************************************************************/
22
23#include "hpi_internal.h"
24#include "hpidebug.h"
25
26/* Debug level; 0 quiet; 1 informative, 2 debug, 3 verbose debug. */
27int hpi_debug_level = HPI_DEBUG_LEVEL_DEFAULT;
28
29void hpi_debug_init(void)
30{
31 printk(KERN_INFO "debug start\n");
32}
33
34int hpi_debug_level_set(int level)
35{
36 int old_level;
37
38 old_level = hpi_debug_level;
39 hpi_debug_level = level;
40 return old_level;
41}
42
43int hpi_debug_level_get(void)
44{
45 return hpi_debug_level;
46}
47
Eliot Blennerhassett719f82d2010-04-21 18:17:39 +020048void hpi_debug_message(struct hpi_message *phm, char *sz_fileline)
49{
50 if (phm) {
Eliot Blennerhassettf0dcad42011-02-10 17:25:56 +130051 printk("HPI_MSG%d,%d,%d,%d,%d\n", phm->version,
52 phm->adapter_index, phm->obj_index, phm->function,
53 phm->u.c.attribute);
54 }
Eliot Blennerhassett719f82d2010-04-21 18:17:39 +020055
Eliot Blennerhassett719f82d2010-04-21 18:17:39 +020056}
57
58void hpi_debug_data(u16 *pdata, u32 len)
59{
60 u32 i;
61 int j;
62 int k;
63 int lines;
64 int cols = 8;
65
66 lines = (len + cols - 1) / cols;
67 if (lines > 8)
68 lines = 8;
69
70 for (i = 0, j = 0; j < lines; j++) {
71 printk(KERN_DEBUG "%p:", (pdata + i));
72
73 for (k = 0; k < cols && i < len; i++, k++)
74 printk("%s%04x", k == 0 ? "" : " ", pdata[i]);
75
76 printk("\n");
77 }
78}