Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/pci/asihpi/hpidebug.c
26424 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/************************************************************************
3
4
AudioScience HPI driver
5
Copyright (C) 1997-2011 AudioScience Inc. <[email protected]>
6
7
8
Debug macro translation.
9
10
************************************************************************/
11
12
#include "hpi_internal.h"
13
#include "hpidebug.h"
14
15
/* Debug level; 0 quiet; 1 informative, 2 debug, 3 verbose debug. */
16
int hpi_debug_level = HPI_DEBUG_LEVEL_DEFAULT;
17
18
void hpi_debug_init(void)
19
{
20
printk(KERN_INFO "debug start\n");
21
}
22
23
int hpi_debug_level_set(int level)
24
{
25
int old_level;
26
27
old_level = hpi_debug_level;
28
hpi_debug_level = level;
29
return old_level;
30
}
31
32
int hpi_debug_level_get(void)
33
{
34
return hpi_debug_level;
35
}
36
37
void hpi_debug_message(struct hpi_message *phm, char *sz_fileline)
38
{
39
if (phm) {
40
printk(KERN_DEBUG "HPI_MSG%d,%d,%d,%d,%d\n", phm->version,
41
phm->adapter_index, phm->obj_index, phm->function,
42
phm->u.c.attribute);
43
}
44
45
}
46
47
void hpi_debug_data(u16 *pdata, u32 len)
48
{
49
u32 i;
50
int j;
51
int k;
52
int lines;
53
int cols = 8;
54
55
lines = DIV_ROUND_UP(len, cols);
56
if (lines > 8)
57
lines = 8;
58
59
for (i = 0, j = 0; j < lines; j++) {
60
printk(KERN_DEBUG "%p:", (pdata + i));
61
62
for (k = 0; k < cols && i < len; i++, k++)
63
printk(KERN_CONT "%s%04x", k == 0 ? "" : " ", pdata[i]);
64
65
printk(KERN_CONT "\n");
66
}
67
}
68
69