1// SPDX-License-Identifier: GPL-2.0-only
2/******************************************************************************
3 *
4 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
5 * Copyright (C) 2018, 2023 Intel Corporation
6 *****************************************************************************/
7
8#include <linux/module.h>
9
10/* sparse doesn't like tracepoint macros */
11#ifndef __CHECKER__
12#include "iwl-trans.h"
13
14#define CREATE_TRACE_POINTS
15#ifdef CONFIG_CC_IS_GCC
16#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
17#endif
18#include "iwl-devtrace.h"
19
20EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_ucode_event);
21EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_ucode_cont_event);
22EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_ucode_wrap_event);
23#else
24#include "iwl-devtrace.h"
25#endif /* __CHECKER__ */
26
27void __trace_iwlwifi_dev_rx(struct iwl_trans *trans, void *pkt, size_t len)
28{
29 size_t hdr_offset = 0, trace_len;
30
31 trace_len = iwl_rx_trace_len(trans, rxbuf: pkt, len, out_hdr_offset: &hdr_offset);
32 trace_iwlwifi_dev_rx(dev: trans->dev, pkt, len, trace_len, hdr_offset);
33
34 if (trace_len < len)
35 trace_iwlwifi_dev_rx_data(dev: trans->dev, rxbuf: pkt, len, start: trace_len);
36}
37

source code of linux/drivers/net/wireless/intel/iwlwifi/iwl-devtrace.c