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