hpidebug.c (1350B)
1// SPDX-License-Identifier: GPL-2.0-only 2/************************************************************************ 3 4 AudioScience HPI driver 5 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}