• Geert Uytterhoeven's avatar
    spi: sh-msiof: Avoid writing to registers from spi_master.setup() · 7ff0b53c
    Geert Uytterhoeven authored
    The spi_master.setup() callback must not change configuration registers,
    as that could corrupt I/O that is in progress for other SPI slaves.
    
    The only exception is the configuration of the native chip select
    polarity in SPI master mode, as a wrong chip select polarity will cause
    havoc during all future transfers to any other SPI slave.
    
    Hence stop writing to registers in sh_msiof_spi_setup(), unless it is
    the first call for a controller using a native chip select, or unless
    native chip select polarity has changed (note that you'll loose anyway
    if I/O is in progress).  Even then, only do what is strictly necessary,
    instead of calling sh_msiof_spi_set_pin_regs().
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    7ff0b53c
spi-sh-msiof.c 36.4 KB