[PATCH] ARM: imx: fix .is_enabled() of shared gate clock

Fabio Estevam festevam at gmail.com
Mon Sep 15 18:43:39 PDT 2014


On Mon, Sep 15, 2014 at 10:35 PM, Shawn Guo <shawn.guo at freescale.com> wrote:
> Commit 63288b721a80 ("ARM: imx: fix shared gate clock") attempted to fix
> an issue with particular enable/disable sequence from two shared gate
> clocks.  But unfortunately, while it partially fixed the issue, it also
> did something wrong in .is_enabled() function hook.  In case of shared
> gate, the function shouldn't really query the hardware state via
> share_count, because the function is trying to query the enabling state
> of the clock in question, not the hardware state which is shared by
> multiple clocks.
>
> Fix the issue by returning the enable_count of the clock itself which is
> maintained by clock core, in case it's a clock sharing hardware gate
> with others.  As the result, the initialization of share_count per
> hardware state is not needed now.  So remove it.
>
> Reported-by: Fabio Estevam <fabio.estevam at freescale.com>
> Fixes: 63288b721a80 ("ARM: imx: fix shared gate clock")
> Cc: <stable at vger.kernel.org>
> Signed-off-by: Shawn Guo <shawn.guo at freescale.com>

Tested-by: Fabio Estevam <fabio.estevam at freescale.com>



More information about the linux-arm-kernel mailing list