• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM mmc
4 #undef TRACE_INCLUDE_PATH
5 #define TRACE_INCLUDE_PATH trace/hooks
6 #if !defined(_TRACE_HOOK_MMC_H) || defined(TRACE_HEADER_MULTI_READ)
7 #define _TRACE_HOOK_MMC_H
8 #include <trace/hooks/vendor_hooks.h>
9 
10 #ifdef __GENKSYMS__
11 #include <linux/blk-mq.h>
12 #include <linux/mmc/host.h>
13 #include <linux/mmc/card.h>
14 #include "../../drivers/mmc/host/sdhci.h"
15 #endif
16 
17 struct blk_mq_queue_data;
18 struct mmc_host;
19 struct mmc_card;
20 struct sdhci_host;
21 
22 /*
23  * Following tracepoints are not exported in tracefs and provide a
24  * mechanism for vendor modules to hook and extend functionality
25  */
26 DECLARE_HOOK(android_vh_mmc_check_status,
27 	TP_PROTO(const struct blk_mq_queue_data *bd, int *ret),
28 	TP_ARGS(bd, ret));
29 
30 DECLARE_HOOK(android_vh_mmc_sdio_pm_flag_set,
31 	TP_PROTO(struct mmc_host *host),
32 	TP_ARGS(host));
33 DECLARE_HOOK(android_vh_mmc_blk_reset,
34 	TP_PROTO(struct mmc_host *host, int err),
35 	TP_ARGS(host, err));
36 DECLARE_HOOK(android_vh_mmc_blk_mq_rw_recovery,
37 	TP_PROTO(struct mmc_card *card),
38 	TP_ARGS(card));
39 DECLARE_HOOK(android_vh_sd_update_bus_speed_mode,
40 	TP_PROTO(struct mmc_card *card),
41 	TP_ARGS(card));
42 DECLARE_HOOK(android_vh_mmc_attach_sd,
43 	TP_PROTO(struct mmc_host *host, u32 ocr, int err),
44 	TP_ARGS(host, ocr, err));
45 DECLARE_HOOK(android_vh_sdhci_get_cd,
46 	TP_PROTO(struct sdhci_host *host, bool *allow),
47 	TP_ARGS(host, allow));
48 DECLARE_HOOK(android_vh_mmc_gpio_cd_irqt,
49 	TP_PROTO(struct mmc_host *host, bool *allow),
50 	TP_ARGS(host, allow));
51 DECLARE_HOOK(android_vh_mmc_ffu_update_cid,
52 	TP_PROTO(struct mmc_host *host, struct mmc_card *card, u32 *cid),
53 	TP_ARGS(host, card, cid));
54 
55 DECLARE_RESTRICTED_HOOK(android_rvh_mmc_cache_card_properties,
56 	TP_PROTO(struct mmc_host *host),
57 	TP_ARGS(host), 1);
58 
59 DECLARE_RESTRICTED_HOOK(android_rvh_partial_init,
60 	TP_PROTO(struct mmc_host *host, bool *partial_init),
61 	TP_ARGS(host, partial_init), 1);
62 
63 DECLARE_HOOK(android_vh_mmc_update_partition_status,
64 	TP_PROTO(struct mmc_card *card),
65 	TP_ARGS(card));
66 
67 DECLARE_HOOK(android_vh_mmc_sd_update_cmdline_timing,
68 	TP_PROTO(struct mmc_card *card, int *err),
69 	TP_ARGS(card, err));
70 
71 DECLARE_HOOK(android_vh_mmc_sd_update_dataline_timing,
72 	TP_PROTO(struct mmc_card *card, int *err),
73 	TP_ARGS(card, err));
74 
75 DECLARE_RESTRICTED_HOOK(android_rvh_mmc_partition_status,
76 	TP_PROTO(struct mmc_card *card),
77 	TP_ARGS(card), 1);
78 
79 DECLARE_RESTRICTED_HOOK(android_rvh_mmc_sd_cmdline_timing,
80 	TP_PROTO(struct mmc_card *card, int *err),
81 	TP_ARGS(card, err), 1);
82 
83 DECLARE_RESTRICTED_HOOK(android_rvh_mmc_sd_dataline_timing,
84 	TP_PROTO(struct mmc_card *card, int *err),
85 	TP_ARGS(card, err), 1);
86 
87 #endif /* _TRACE_HOOK_MMC_H */
88 /* This part must be outside protection */
89 #include <trace/define_trace.h>
90