Quoting Tero Kristo (2019-09-12 06:26:06) > diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c > index d904a9a7626a..e3e0a66a6ce2 100644 > --- a/drivers/clk/ti/clkctrl.c > +++ b/drivers/clk/ti/clkctrl.c > @@ -647,3 +650,33 @@ static void __init _ti_omap4_clkctrl_setup(struct device_node *node) > } > CLK_OF_DECLARE(ti_omap4_clkctrl_clock, "ti,clkctrl", > _ti_omap4_clkctrl_setup); > + > +/** > + * ti_clk_is_in_standby - Check if clkctrl clock is in standby or not > + * @clk: clock to check standby status for > + * > + * Finds whether the provided clock is in standby mode or not. Returns > + * true if the provided clock is a clkctrl type clock and it is in standby, > + * false otherwise. > + */ > +u32 ti_clk_is_in_standby(struct clk *clk) > +{ > + struct clk_hw *hw; > + struct clk_hw_omap *hwclk; > + u32 val; > + > + hw = __clk_get_hw(clk); > + > + if (!omap2_clk_is_hw_omap(hw)) > + return false; > + > + hwclk = to_clk_hw_omap(hw); > + > + val = ti_clk_ll_ops->clk_readl(&hwclk->enable_reg); > + > + if (val & OMAP4_STBYST_MASK) > + return true; > + > + return false; This is returning true and false for a function that is returning u32... Why? Maybe just return val & OMAP4_STBYST_MASK; and then it will be a u32 for the bit if it's set or 0 if it's not set? Otherwise, change the return type to bool instead of u32? > +} > +EXPORT_SYMBOL_GPL(ti_clk_is_in_standby);