Re: [PATCH 6/6 V4] input: STMPE touch controller support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rabin,

On Thu, Jun 24, 2010 at 06:01:53PM +0530, Rabin VINCENT wrote:
> On Thu, Jun 24, 2010 at 13:13:41 +0200, Luotao Fu wrote:
> > +       adc_ctrl1 = SAMPLE_TIME(ts->sample_time) | MOD_12B(ts->mod_12b) |
> > +               REF_SEL(ts->ref_sel);
> > +       ret = stmpe_set_bits(stmpe, STMPE_REG_ADC_CTRL1,
> > +                       adc_ctrl1, adc_ctrl1);
> > +       if (ret) {
> > +               dev_err(&pdev->dev, "Could not setup ADC\n");
> > +               goto err_free_irq;
> > +       }
> > +
> > +       ret = stmpe_set_bits(stmpe, STMPE_REG_ADC_CTRL2,
> > +                       ADC_FREQ(ts->adc_freq), ADC_FREQ(ts->adc_freq));
> > +       if (ret) {
> > +               dev_err(&pdev->dev, "Could not setup ADC\n");
> > +               goto err_free_irq;
> > +       }
> > +
> > +       tsc_cfg = AVE_CTRL(ts->ave_ctrl) | DET_DELAY(ts->touch_det_delay) |
> > +                       SETTLING(ts->settling);
> > +       ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_CFG, tsc_cfg, tsc_cfg);
> > +       if (ret) {
> > +               dev_err(&pdev->dev, "Could not config touch\n");
> > +               goto err_free_irq;
> > +       }
> > +
> > +       ret = stmpe_set_bits(stmpe, STMPE_REG_TSC_FRACTION_Z,
> > +                       FRACTION_Z(ts->fraction_z),
> > +                       FRACTION_Z(ts->fraction_z));
> 
> I think your earlier revisions had this same behaviour, but this only
> writes the bits you are trying to set, and it may be a problem if there
> are other bits already set in this field.  I don't know if this is a
> concern with this block, but if it is, you can do something like the
> following to clear out the field before writing:
> 

This is done intentionally to leave the bits alone which I don't want.
Most of the registers here are used exclusively for the touchscreen.
Some others are shared with the ADC. The ADC however doesn't have any
own configuration and has to go with the configuration of the touch
screen. Hence it's OK, even probably better not to touch the bits we
don't need.

cheers
Luotao Fu
-- 
Pengutronix e.K.                           | Dipl.-Ing. Luotao Fu        |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux