• Mike Turquette's avatar
    clk: introduce optional disable_unused callback · 7c045a55
    Mike Turquette authored
    Some gate clocks have special needs which must be handled during the
    disable-unused clocks sequence.  These needs might be driven by software
    due to the fact that we're disabling a clock outside of the normal
    clk_disable path and a clk's enable_count will not be accurate.  On the
    other hand a specific hardware programming sequence might need to be
    followed for this corner case.
    
    This change is needed for the upcoming OMAP port to the common clock
    framework.  Specifically, it is undesirable to treat the disable-unused
    path identically to the normal clk_disable path since other software
    layers are involved.  In this case OMAP's clockdomain code throws WARNs
    and bails early due to the clock's enable_count being set to zero.  A
    custom callback mitigates this problem nicely.
    
    Cc: Paul Walmsley <paul@pwsan.com>
    Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
    7c045a55
clk.c 43.6 KB