1// SPDX-License-Identifier: GPL-2.0
2/*
3 * xHCI host controller driver
4 *
5 * Copyright (C) 2008 Intel Corp.
6 *
7 * Author: Sarah Sharp
8 * Some code borrowed from the Linux EHCI driver.
9 */
10
11#include "xhci.h"
12
13char *xhci_get_slot_state(struct xhci_hcd *xhci,
14		struct xhci_container_ctx *ctx)
15{
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));
18
19	return xhci_slot_state_string(state);
20}
21
22void xhci_dbg_trace(struct xhci_hcd *xhci, void (*trace)(struct va_format *),
23			const char *fmt, ...)
24{
25	struct va_format vaf;
26	va_list args;
27
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);
34}
35EXPORT_SYMBOL_GPL(xhci_dbg_trace);
36