diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 4dd68ec1d94b..2889541cb14b 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -316,3 +316,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_rq_ctx_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_sdio_pm_flag_set); diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index 5447c47157aa..2c8aba16aef1 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c @@ -15,6 +15,8 @@ #include #include +#include + #include "core.h" #include "card.h" #include "host.h" @@ -1094,6 +1096,8 @@ out: mmc_release_host(host); host->pm_flags &= ~MMC_PM_KEEP_POWER; + trace_android_vh_mmc_sdio_pm_flag_set(host); + return err; } diff --git a/include/trace/hooks/mmc.h b/include/trace/hooks/mmc.h index 23242c176cf0..6d8394ee33f3 100644 --- a/include/trace/hooks/mmc.h +++ b/include/trace/hooks/mmc.h @@ -7,6 +7,7 @@ #define _TRACE_HOOK_MMC_H #include struct blk_mq_queue_data; +struct mmc_host; /* * Following tracepoints are not exported in tracefs and provide a @@ -16,6 +17,10 @@ DECLARE_HOOK(android_vh_mmc_check_status, TP_PROTO(const struct blk_mq_queue_data *bd, int *ret), TP_ARGS(bd, ret)); +DECLARE_HOOK(android_vh_mmc_sdio_pm_flag_set, + TP_PROTO(struct mmc_host *host), + TP_ARGS(host)); + #endif /* _TRACE_HOOK_MMC_H */ /* This part must be outside protection */ #include