Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
Note: File does not exist in v3.15.
  1/*
  2 * Copyright (c) 2011 Broadcom Corporation
  3 *
  4 * Permission to use, copy, modify, and/or distribute this software for any
  5 * purpose with or without fee is hereby granted, provided that the above
  6 * copyright notice and this permission notice appear in all copies.
  7 *
  8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 15 */
 16
 17#if !defined(__TRACE_BRCMSMAC_H) || defined(TRACE_HEADER_MULTI_READ)
 18#define __TRACE_BRCMSMAC_H
 19
 20#include <linux/tracepoint.h>
 21
 22#undef TRACE_SYSTEM
 23#define TRACE_SYSTEM brcmsmac
 24
 25/*
 26 * We define a tracepoint, its arguments, its printk format and its
 27 * 'fast binary record' layout.
 28 */
 29TRACE_EVENT(brcms_timer,
 30	/* TPPROTO is the prototype of the function called by this tracepoint */
 31	TP_PROTO(struct brcms_timer *t),
 32	/*
 33	 * TPARGS(firstarg, p) are the parameters names, same as found in the
 34	 * prototype.
 35	 */
 36	TP_ARGS(t),
 37	/*
 38	 * Fast binary tracing: define the trace record via TP_STRUCT__entry().
 39	 * You can think about it like a regular C structure local variable
 40	 * definition.
 41	 */
 42	TP_STRUCT__entry(
 43		__field(uint, ms)
 44		__field(uint, set)
 45		__field(uint, periodic)
 46	),
 47	TP_fast_assign(
 48		__entry->ms = t->ms;
 49		__entry->set = t->set;
 50		__entry->periodic = t->periodic;
 51	),
 52	TP_printk(
 53		"ms=%u set=%u periodic=%u",
 54		__entry->ms, __entry->set, __entry->periodic
 55	)
 56);
 57
 58TRACE_EVENT(brcms_dpc,
 59	TP_PROTO(unsigned long data),
 60	TP_ARGS(data),
 61	TP_STRUCT__entry(
 62		__field(unsigned long, data)
 63	),
 64	TP_fast_assign(
 65		__entry->data = data;
 66	),
 67	TP_printk(
 68		"data=%p",
 69		(void *)__entry->data
 70	)
 71);
 72
 73TRACE_EVENT(brcms_macintstatus,
 74	TP_PROTO(const struct device *dev, int in_isr, u32 macintstatus,
 75		 u32 mask),
 76	TP_ARGS(dev, in_isr, macintstatus, mask),
 77	TP_STRUCT__entry(
 78		__string(dev, dev_name(dev))
 79		__field(int, in_isr)
 80		__field(u32, macintstatus)
 81		__field(u32, mask)
 82	),
 83	TP_fast_assign(
 84		__assign_str(dev, dev_name(dev));
 85		__entry->in_isr = in_isr;
 86		__entry->macintstatus = macintstatus;
 87		__entry->mask = mask;
 88	),
 89	TP_printk("[%s] in_isr=%d macintstatus=%#x mask=%#x", __get_str(dev),
 90		  __entry->in_isr, __entry->macintstatus, __entry->mask)
 91);
 92#endif /* __TRACE_BRCMSMAC_H */
 93
 94#ifdef CONFIG_BRCM_TRACING
 95
 96#undef TRACE_INCLUDE_PATH
 97#define TRACE_INCLUDE_PATH .
 98#undef TRACE_INCLUDE_FILE
 99#define TRACE_INCLUDE_FILE brcms_trace_brcmsmac
100#include <trace/define_trace.h>
101
102#endif /* CONFIG_BRCM_TRACING */