On 28/03/2013 11:13, Alexandre Belloni wrote: > 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. Sorry, I fumbled and forgot my SoB: Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> > Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> > Cc: Jonathan Cameron <jic23@xxxxxxxxxx> > Cc: Marek Vasut <marex@xxxxxxx> > --- > drivers/staging/iio/adc/mxs-lradc.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c > index 55a459b..e927e3f 100644 > --- a/drivers/staging/iio/adc/mxs-lradc.c > +++ b/drivers/staging/iio/adc/mxs-lradc.c > @@ -933,6 +933,9 @@ static int mxs_lradc_probe(struct platform_device *pdev) > > INIT_WORK(&lradc->ts_work, mxs_lradc_ts_work); > > + /* Configure the hardware. */ > + mxs_lradc_hw_init(lradc); > + > /* Check if touchscreen is enabled in DT. */ > ret = of_property_read_u32(node, "fsl,lradc-touchscreen-wires", > &ts_wires); > @@ -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: -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html