linux/sound/pci/asihpi/hpidebug.c
<<
>>
Prefs
   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}
  68