iio: mxs-lradc: move STMP reset out of ADC init
authorStefan Wahren <stefan.wahren@i2se.com>
Thu, 14 Apr 2016 15:48:27 +0000 (15:48 +0000)
committerJonathan Cameron <jic23@kernel.org>
Tue, 19 Apr 2016 18:58:10 +0000 (19:58 +0100)
This patch moves the STMP reset out of ADC init function so as to remove
the possiblity of an error return which will be necessary for PM ops support
patches to follow.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Tested-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/mxs-lradc.c

index f8a6c8e1950365288a4f6beb58b9e8f015a0f0ab..ad26da1edbee95ce547b6f488daf792720199b37 100644 (file)
@@ -1487,18 +1487,13 @@ static const struct iio_chan_spec mx28_lradc_chan_spec[] = {
        MXS_ADC_CHAN(15, IIO_VOLTAGE, "VDD5V"),
 };
 
-static int mxs_lradc_hw_init(struct mxs_lradc *lradc)
+static void mxs_lradc_hw_init(struct mxs_lradc *lradc)
 {
        /* The ADC always uses DELAY CHANNEL 0. */
        const u32 adc_cfg =
                (1 << (LRADC_DELAY_TRIGGER_DELAYS_OFFSET + 0)) |
                (LRADC_DELAY_TIMER_PER << LRADC_DELAY_DELAY_OFFSET);
 
-       int ret = stmp_reset_block(lradc->base);
-
-       if (ret)
-               return ret;
-
        /* Configure DELAY CHANNEL 0 for generic ADC sampling. */
        mxs_lradc_reg_wrt(lradc, adc_cfg, LRADC_DELAY(0));
 
@@ -1509,8 +1504,6 @@ static int mxs_lradc_hw_init(struct mxs_lradc *lradc)
 
        /* Start internal temperature sensing. */
        mxs_lradc_reg_wrt(lradc, 0, LRADC_CTRL2);
-
-       return 0;
 }
 
 static void mxs_lradc_hw_stop(struct mxs_lradc *lradc)
@@ -1710,11 +1703,13 @@ static int mxs_lradc_probe(struct platform_device *pdev)
                }
        }
 
-       /* Configure the hardware. */
-       ret = mxs_lradc_hw_init(lradc);
+       ret = stmp_reset_block(lradc->base);
        if (ret)
                goto err_dev;
 
+       /* Configure the hardware. */
+       mxs_lradc_hw_init(lradc);
+
        /* Register the touchscreen input device. */
        if (touch_ret == 0) {
                ret = mxs_lradc_ts_register(lradc);