• Pratyush Yadav's avatar
    spi: spi-mem: add spi_mem_dtr_supports_op() · 539cf68c
    Pratyush Yadav authored
    spi_mem_default_supports_op() rejects DTR ops by default to ensure that
    the controller drivers that haven't been updated with DTR support
    continue to reject them. It also makes sure that controllers that don't
    support DTR mode at all (which is most of them at the moment) also
    reject them.
    
    This means that controller drivers that want to support DTR mode can't
    use spi_mem_default_supports_op(). Driver authors have to roll their own
    supports_op() function and mimic the buswidth checks. See
    spi-cadence-quadspi.c for example. Or even worse, driver authors might
    skip it completely or get it wrong.
    
    Add spi_mem_dtr_supports_op(). It provides a basic sanity check for DTR
    ops and performs the buswidth requirement check. Move the logic for
    checking buswidth in spi_mem_default_supports_op() to a separate
    function so the logic is not repeated twice.
    Signed-off-by: default avatarPratyush Yadav <p.yadav@ti.com>
    Reviewed-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/r/20210204141218.32229-1-p.yadav@ti.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    539cf68c
spi-mem.c 21.7 KB