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 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