61 lines · 1.4 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 *//* * Copyright (C) 2025 Google LLC */#undef TRACE_SYSTEM#define TRACE_SYSTEM usbcore #if !defined(_USB_CORE_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)#define _USB_CORE_TRACE_H #include <linux/types.h>#include <linux/tracepoint.h>#include <linux/usb.h> DECLARE_EVENT_CLASS(usb_core_log_usb_device,	TP_PROTO(struct usb_device *udev),	TP_ARGS(udev),	TP_STRUCT__entry(		__string(name, dev_name(&udev->dev))		__field(enum usb_device_speed, speed)		__field(enum usb_device_state, state)		__field(unsigned short, bus_mA)		__field(unsigned, authorized)	),	TP_fast_assign(		__assign_str(name);		__entry->speed = udev->speed;		__entry->state = udev->state;		__entry->bus_mA = udev->bus_mA;		__entry->authorized = udev->authorized;	),	TP_printk("usb %s speed %s state %s %dmA [%s]",		__get_str(name),		usb_speed_string(__entry->speed),		usb_state_string(__entry->state),		__entry->bus_mA,		__entry->authorized ? "authorized" : "unauthorized")); DEFINE_EVENT(usb_core_log_usb_device, usb_set_device_state,	TP_PROTO(struct usb_device *udev),	TP_ARGS(udev)); DEFINE_EVENT(usb_core_log_usb_device, usb_alloc_dev,	TP_PROTO(struct usb_device *udev),	TP_ARGS(udev));  #endif /* _USB_CORE_TRACE_H */ /* this part has to be here */ #undef TRACE_INCLUDE_PATH#define TRACE_INCLUDE_PATH . #undef TRACE_INCLUDE_FILE#define TRACE_INCLUDE_FILE trace #include <trace/define_trace.h>