• Ulf Hansson's avatar
    mmc: sh_mmcif: Restructure ->set_ios() · 4caf653a
    Ulf Hansson authored
    Both from a runtime PM and clock management point of view, the ->set_ios()
    code is unnecessary complex.
    
    A suboptimal path is also executed when the mmc core requests a clock rate
    of zero. As that happens during the card initialization phase, trying to
    save power by decreasing the runtime PM usage count and gating the clock
    via clk_disable_unprepare() is just superfluous.
    
    Moreover, from a runtime PM point of view the core will anyway keep the
    device active during the entire card initialization phase.
    
    Restructure the code to rely on the ios->power_mode to understand when the
    runtime PM usage count needs to be increased. Let's also deal with clock
    rate changes by simply applying the rate.
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    4caf653a
sh_mmcif.c 42.4 KB