• Tudor Ambarus's avatar
    spi: fix ctrl->num_chipselect constraint · f9481b08
    Tudor Ambarus authored
    at91sam9g25ek showed the following error at probe:
    atmel_spi f0000000.spi: Using dma0chan2 (tx) and dma0chan3 (rx)
    for DMA transfers
    atmel_spi: probe of f0000000.spi failed with error -22
    
    Commit 0a919ae4 ("spi: Don't call spi_get_gpio_descs() before device name is set")
    moved the calling of spi_get_gpio_descs() after ctrl->dev is set,
    but didn't move the !ctrl->num_chipselect check. When there are
    chip selects in the device tree, the spi-atmel driver lets the
    SPI core discover them when registering the SPI master.
    The ctrl->num_chipselect is thus expected to be set by
    spi_get_gpio_descs().
    
    Move the !ctlr->num_chipselect after spi_get_gpio_descs() as it was
    before the aforementioned commit. While touching this block, get rid
    of the explicit comparison with 0 and update the commenting style.
    
    Fixes: 0a919ae4 ("spi: Don't call spi_get_gpio_descs() before device name is set")
    Signed-off-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    f9481b08
spi.c 103 KB