diff --git a/drivers/clk/qcom/clk-debug.c b/drivers/clk/qcom/clk-debug.c index 2aff12ad008f..fb9a7402f88a 100644 --- a/drivers/clk/qcom/clk-debug.c +++ b/drivers/clk/qcom/clk-debug.c @@ -766,10 +766,16 @@ void clk_common_debug_init(struct clk_hw *hw, struct dentry *dentry) static int clk_list_rate_vdd_level(struct clk_hw *hw, unsigned int rate) { - struct clk_regmap *rclk = to_clk_regmap(hw); - struct clk_vdd_class_data *vdd_data = &rclk->vdd_data; + struct clk_regmap *rclk; + struct clk_vdd_class_data *vdd_data; - if (!vdd_data->vdd_class || !clk_is_regmap_clk(hw)) + if (!clk_is_regmap_clk(hw)) + return 0; + + rclk = to_clk_regmap(hw); + vdd_data = &rclk->vdd_data; + + if (!vdd_data->vdd_class) return 0; return clk_find_vdd_level(hw, vdd_data, rate);