It would help if this took a struct device_node rather than struct device. This would allow using of_clk_get directly for cases where you don't have a struct device. This is fairly common in core platform core which are not full drivers. The case I have run into is the timer init code. To make clk_get work, I would have to create a dummy struct device.