• S
    regmap: fix bulk writes on paged registers · db057679
    Srinivas Kandagatla 提交于
    On buses like SlimBus and SoundWire which does not support
    gather_writes yet in regmap, A bulk write on paged register
    would be silently ignored after programming page.
    This is because local variable 'ret' value in regmap_raw_write_impl()
    gets reset to 0 once page register is written successfully and the
    code below checks for 'ret' value to be -ENOTSUPP before linearising
    the write buffer to send to bus->write().
    
    Fix this by resetting the 'ret' value to -ENOTSUPP in cases where
    gather_writes() is not supported or single register write is
    not possible.
    Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: NMark Brown <broonie@kernel.org>
    db057679
regmap.c 74.2 KB