staging: iio: ad2s1200: Setup spi before iio device register
authorDavid Veenstra <davidjulianveenstra@gmail.com>
Fri, 18 May 2018 18:21:44 +0000 (20:21 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 20 May 2018 10:54:43 +0000 (11:54 +0100)
The spi should be set up before the device is registered as an iio
device.

This patch moves the setup to before the device registration.

Signed-off-by: David Veenstra <davidjulianveenstra@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/resolver/ad2s1200.c

index 068aa86..430cc62 100644 (file)
@@ -143,15 +143,16 @@ static int ad2s1200_probe(struct spi_device *spi)
        indio_dev->num_channels = ARRAY_SIZE(ad2s1200_channels);
        indio_dev->name = spi_get_device_id(spi)->name;
 
-       ret = devm_iio_device_register(&spi->dev, indio_dev);
-       if (ret)
-               return ret;
-
        spi->max_speed_hz = AD2S1200_HZ;
        spi->mode = SPI_MODE_3;
-       spi_setup(spi);
+       ret = spi_setup(spi);
+
+       if (ret < 0) {
+               dev_err(&spi->dev, "spi_setup failed!\n");
+               return ret;
+       }
 
-       return 0;
+       return devm_iio_device_register(&spi->dev, indio_dev);
 }
 
 static const struct spi_device_id ad2s1200_id[] = {