[Query] how to handle must be always enabled clk but there's no driver use the clk
Jisheng Zhang
jszhang at marvell.com
Fri May 29 04:40:11 PDT 2015
Hi Sebastian, Mike and all,
Let me describe the situation:
there's one clk called as perifsysclk, it's the system AXI clk and at the same
time it's the clock source of two gate clks, for example ethclk, sdioclk etc.
Once cold boot, HW enables perifsysclk by default,
Now let's assume eth driver is firstly probed, in the beginning of eth_probe()
we call clk_prepare_enable(ethclk);
but the eth_probe() fail due to something, so in its failed path, it calls
clk_disable_unprepare(ethclk);
which will finally disable the perifsysclk, so we hang here.
How to handle this situation? Register one dummy driver early then
clk_prepare_enable(perifsysclk) in the driver probe?
Thanks,
Jisheng
More information about the linux-arm-kernel
mailing list