On 2016?08?31? 09:37, Shawn Lin wrote: > aclk_emmc_grf is used for accessing corecfg_* of emmc stuff within > GRF block. We don't need to add CLK_IGNORE_UNUSED for it now as the > emmc driver will enable/disable it explicitly when needed. > > Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com> This patchset test result: localhost driver # cat /sys/kernel/debug/clk/clk_summary | grep emmc gpll_aclk_emmc_src 1 1 594000000 0 0 aclk_emmc 3 5 198000000 0 0 aclk_emmcgrf 1 2 198000000 0 0 aclk_emmc_noc 1 1 198000000 0 0 aclk_emmccore 0 0 198000000 0 0 clk_emmc 1 2 148500000 0 0 emmc_cardclock 0 0 148500000 0 0 cpll_aclk_emmc_src 0 0 800000000 0 0 After unbind driver. localhost driver # cat /sys/kernel/debug/clk/clk_summary | grep emmc gpll_aclk_emmc_src 1 1 594000000 0 0 aclk_emmc 1 2 198000000 0 0 aclk_emmcgrf 0 0 198000000 0 0 aclk_emmc_noc 1 1 198000000 0 0 aclk_emmccore 0 0 198000000 0 0 clk_emmc 0 0 148500000 0 0 cpll_aclk_emmc_src 0 0 800000000 0 0 And aclk_emmcgrf(Bit 10, when high, enable clock) had gate. localhost driver # mem r 0xff760380 0x00000415 It works sane, so Tested-by: Ziyuan Xu <xzy.xu at rock-chips.com> > --- > > Changes in v2: None > > drivers/clk/rockchip/clk-rk3399.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/rockchip/clk-rk3399.c b/drivers/clk/rockchip/clk-rk3399.c > index ede6c47..908f684 100644 > --- a/drivers/clk/rockchip/clk-rk3399.c > +++ b/drivers/clk/rockchip/clk-rk3399.c > @@ -934,7 +934,7 @@ static struct rockchip_clk_branch rk3399_clk_branches[] __initdata = { > RK3399_CLKGATE_CON(32), 8, GFLAGS), > GATE(ACLK_EMMC_NOC, "aclk_emmc_noc", "aclk_emmc", CLK_IGNORE_UNUSED, > RK3399_CLKGATE_CON(32), 9, GFLAGS), > - GATE(ACLK_EMMC_GRF, "aclk_emmcgrf", "aclk_emmc", CLK_IGNORE_UNUSED, > + GATE(ACLK_EMMC_GRF, "aclk_emmcgrf", "aclk_emmc", 0, > RK3399_CLKGATE_CON(32), 10, GFLAGS), > > /* perilp0 */