Linux 4.16.11
[linux/fpc-iii.git] / drivers / usb / host / xhci-dbg.c
blob386abf26641d28f464ea62bf4722e7311b833e37
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * xHCI host controller driver
5 * Copyright (C) 2008 Intel Corp.
7 * Author: Sarah Sharp
8 * Some code borrowed from the Linux EHCI driver.
9 */
11 #include "xhci.h"
13 char *xhci_get_slot_state(struct xhci_hcd *xhci,
14 struct xhci_container_ctx *ctx)
16 struct xhci_slot_ctx *slot_ctx = xhci_get_slot_ctx(xhci, ctx);
17 int state = GET_SLOT_STATE(le32_to_cpu(slot_ctx->dev_state));
19 return xhci_slot_state_string(state);
22 void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
23 const char *fmt, ...)
25 struct va_format vaf;
26 va_list args;
28 va_start(args, fmt);
29 vaf.fmt = fmt;
30 vaf.va = &args;
31 xhci_dbg(xhci, "%pV\n", &vaf);
32 trace(&vaf);
33 va_end(args);
35 EXPORT_SYMBOL_GPL(xhci_dbg_trace);