if (!ops->get_rate)
return -ENOSYS;
- /* Read the 'rate' if not already set */
- if (!pclk->rate)
+ /* Read the 'rate' if not already set or if proper flag set*/
+ if (!pclk->rate || pclk->flags & CLK_GET_RATE_NOCACHE)
pclk->rate = clk_get_rate(pclk);
return pclk->rate;