linux/drivers/usb/host/xhci-dbg.c
<<
>>
Prefs
   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