iio: mxs-lradc: Do hardware initialization earlier
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Thu, 28 Mar 2013 22:04:00 +0000 (22:04 +0000)
committerJonathan Cameron <jic23@kernel.org>
Fri, 29 Mar 2013 09:29:11 +0000 (09:29 +0000)
We need to initialize hardware before registering the touchscreen. Else,
we end up setting registers in mxs_lradc_ts_open(), getting called just
after registering the touchscreen with input_register_device() and by
the end of mxs_lradc_probe(), we reset the LRADC block hence losing the
correct configuration.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
drivers/staging/iio/adc/mxs-lradc.c

index eab975d..6044e17 100644 (file)
@@ -983,6 +983,9 @@ static int mxs_lradc_probe(struct platform_device *pdev)
        if (ret)
                goto err_trig;
 
+       /* Configure the hardware. */
+       mxs_lradc_hw_init(lradc);
+
        /* Register the touchscreen input device. */
        ret = mxs_lradc_ts_register(lradc);
        if (ret)
@@ -995,9 +998,6 @@ static int mxs_lradc_probe(struct platform_device *pdev)
                goto err_ts;
        }
 
-       /* Configure the hardware. */
-       mxs_lradc_hw_init(lradc);
-
        return 0;
 
 err_ts: