• W
    mmc: renesas_sdhi: really fix WP logic regressions · ef5332c1
    Wolfram Sang 提交于
    This reverts commit e060d376 ("mmc: renesas_sdhi: fix WP detection")
    and adds some code to really fix the regressions.
    
    It was missed so far that Renesas R-Car instantiations of SDHI chose to
    disable internal WP and used the existence of "wp-gpios" to en/disable
    WP at all.
    
    With the first refactoring by Yamada-san with commit 2ad1db05 ("mmc:
    renesas_sdhi: use MMC_CAP2_NO_WRITE_PROTECT instead of TMIO own flag"),
    WP was always disabled even when GPIOs were present. With Wolfram's
    first fix which gets now reverted, GPIOs were honored. But when not
    available, the fallback was to internal WP and not to disabled WP. This
    caused wrong WP status on uSD card slots.
    
    Restore the old behaviour now. By default, WP is disabled. When a GPIO
    is found, the GPIO re-enables WP. We will think about possible better
    ways to handle this in the future.
    
    Tested on a previously regressing Renesas Lager board (H2) and a still
    working Renesas Salvator-X board (M3-W).
    Reported-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
    Cc: stable@vger.kernel.org # v4.17+
    Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
    ef5332c1
renesas_sdhi_internal_dmac.c 9.2 KB