1/* bnx2fc_debug.c: QLogic Linux FCoE offload driver.
2 * Handles operations such as session offload/upload etc, and manages
3 * session resources such as connection id and qp resources.
4 *
5 * Copyright (c) 2008-2013 Broadcom Corporation
6 * Copyright (c) 2014-2016 QLogic Corporation
7 * Copyright (c) 2016-2017 Cavium Inc.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation.
12 *
13 */
14
15#include "bnx2fc.h"
16
17void BNX2FC_IO_DBG(const struct bnx2fc_cmd *io_req, const char *fmt, ...)
18{
19 struct va_format vaf;
20 va_list args;
21
22 if (likely(!(bnx2fc_debug_level & LOG_IO)))
23 return;
24
25 va_start(args, fmt);
26
27 vaf.fmt = fmt;
28 vaf.va = &args;
29
30 if (io_req && io_req->port && io_req->port->lport &&
31 io_req->port->lport->host)
32 shost_printk(KERN_INFO, io_req->port->lport->host,
33 PFX "xid:0x%x %pV",
34 io_req->xid, &vaf);
35 else
36 pr_info("NULL %pV", &vaf);
37
38 va_end(args);
39}
40
41void BNX2FC_TGT_DBG(const struct bnx2fc_rport *tgt, const char *fmt, ...)
42{
43 struct va_format vaf;
44 va_list args;
45
46 if (likely(!(bnx2fc_debug_level & LOG_TGT)))
47 return;
48
49 va_start(args, fmt);
50
51 vaf.fmt = fmt;
52 vaf.va = &args;
53
54 if (tgt && tgt->port && tgt->port->lport && tgt->port->lport->host &&
55 tgt->rport)
56 shost_printk(KERN_INFO, tgt->port->lport->host,
57 PFX "port:%x %pV",
58 tgt->rport->port_id, &vaf);
59 else
60 pr_info("NULL %pV", &vaf);
61
62 va_end(args);
63}
64
65void BNX2FC_HBA_DBG(const struct fc_lport *lport, const char *fmt, ...)
66{
67 struct va_format vaf;
68 va_list args;
69
70 if (likely(!(bnx2fc_debug_level & LOG_HBA)))
71 return;
72
73 va_start(args, fmt);
74
75 vaf.fmt = fmt;
76 vaf.va = &args;
77
78 if (lport && lport->host)
79 shost_printk(KERN_INFO, lport->host, PFX "%pV", &vaf);
80 else
81 pr_info("NULL %pV", &vaf);
82
83 va_end(args);
84}
85

source code of linux/drivers/scsi/bnx2fc/bnx2fc_debug.c