From 6f6c0c5b1bfbf31a101558d22ba862365ca38af0 Mon Sep 17 00:00:00 2001 From: Imran Shaik Date: Wed, 25 May 2022 12:06:39 +0530 Subject: [PATCH] clk: qcom: common: Fix clk_debug_init failure Remove subsys_initcall trigger for clk_debug_init(), as root clk debugfs directory is not ready by that time. And make sure that clk_debug_init() is called after the clk framework's clk_debug_init(). Change-Id: Ie90b89e4156e7f5631e9e58316534bf806012853 Signed-off-by: Imran Shaik --- drivers/clk/qcom/clk-debug.c | 5 +++++ drivers/clk/qcom/common.c | 7 +------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/clk/qcom/clk-debug.c b/drivers/clk/qcom/clk-debug.c index 80fd26e84565..285d80a083ad 100644 --- a/drivers/clk/qcom/clk-debug.c +++ b/drivers/clk/qcom/clk-debug.c @@ -25,6 +25,7 @@ static struct clk_hw *measure; static bool debug_suspend; static bool debug_suspend_atomic; +static bool qcom_clk_debug_inited; static struct dentry *clk_debugfs_suspend; static struct dentry *clk_debugfs_suspend_atomic; @@ -765,6 +766,10 @@ void clk_common_debug_init(struct clk_hw *hw, struct dentry *dentry) debugfs_create_file("clk_print_regs", 0444, dentry, hw, &clock_print_hw_fops); + if (!qcom_clk_debug_inited) { + clk_debug_init(); + qcom_clk_debug_inited = true; + } } static int clk_list_rate_vdd_level(struct clk_hw *hw, unsigned int rate) diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c index a45119c50b80..88cce2535199 100644 --- a/drivers/clk/qcom/common.c +++ b/drivers/clk/qcom/common.c @@ -2,6 +2,7 @@ /* * Copyright (c) 2013-2014, 2017-2021, The Linux Foundation. * All rights reserved. + * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -589,12 +590,6 @@ int qcom_cc_runtime_suspend(struct device *dev) } EXPORT_SYMBOL(qcom_cc_runtime_suspend); -static int __init qcom_clk_init(void) -{ - return clk_debug_init(); -} -subsys_initcall(qcom_clk_init); - static void __exit qcom_clk_exit(void) { clk_debug_exit();