• Axel Lin's avatar
    spi: core: Set max_speed_hz of spi_device default to max_speed_hz of controller · 052eb2d4
    Axel Lin authored
    In __spi_validate(), xfer->speed_hz is set to be spi->max_speed_hz if it is not
    set for this transfer. However, if spi->max_speed_hz is also not set,
    xfer->speed_hz is 0. Some drivers (e.g. au1550, tegra114, tegra20-sflash,
    tegra20-slink, etc.) then use below code to avoid setting xfer->speed_hz to 0.
    
            /* Set speed to the spi max fequency if spi device has not set */
            spi->max_speed_hz = spi->max_speed_hz ? : tspi->spi_max_frequency;
    
    Let's handle it in spi core.
    If spi->max_speed_hz is not set, make it default to spi->master->max_speed_hz.
    So In __spi_validate() if both xfer->speed_hz and spi->max_speed_hz are not set,
    xfer->speed_hz will be set to spi->master->max_speed_hz.
    Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    052eb2d4
spi.c 55.5 KB