68 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/************************************************************************3 4 AudioScience HPI driver5 Copyright (C) 1997-2011 AudioScience Inc. <support@audioscience.com>6 7 8Debug 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. */16int hpi_debug_level = HPI_DEBUG_LEVEL_DEFAULT;17 18void hpi_debug_init(void)19{20 printk(KERN_INFO "debug start\n");21}22 23int 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 32int hpi_debug_level_get(void)33{34 return hpi_debug_level;35}36 37void 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 47void 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