Quoting ilia.lin@xxxxxxxxx (2018-06-14 14:53:53) > @@ -227,6 +232,26 @@ clk_cpu_8996_mux_determine_rate(struct clk_hw *hw, struct clk_rate_request *req) > return 0; > } > > +int cpu_clk_notifier_cb(struct notifier_block *nb, unsigned long event, static? And name it something like clk_cpu_8996_notifier? > + void *data) > +{ > + int ret; > + struct clk_cpu_8996_mux *cpuclk = to_clk_cpu_8996_mux_nb(nb); > + > + switch (event) { > + case PRE_RATE_CHANGE: > + ret = clk_cpu_8996_mux_set_parent(&cpuclk->clkr.hw, ALT_INDEX); > + break; > + case POST_RATE_CHANGE: > + ret = clk_cpu_8996_mux_set_parent(&cpuclk->clkr.hw, PLL_INDEX); > + break; > + default: > + ret = 0; > + break; > + } > + > + return notifier_from_errno(ret); > +};