On Wed, 30 Jun 2010 01:18:05 -0700 Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > On Tue, Jun 29, 2010 at 11:29:53AM +0200, Anatolij Gustschin wrote: > > ADS7845 is a controller for 5-wire touch screens and > > somewhat different from 7846. It requires three serial > > communications to accomplish one complete conversion. > > Unlike 7846 it doesn't allow Z1-/Z2- position measurement. > > > > The patch extends the ads7846 driver to also support > > ads7845. The packet struct is extended to contain > > needed command and conversion buffers. ads7846_rx() > > and ads7846_rx_val() now differentiate between 7845 > > and 7846 case. ads7846_probe() is modified to setup > > ads7845 specific command and conversion messages and > > to switch ads7845 into power-down mode, since this is > > needed to be prepared to respond to pendown interrupts. > > > > Thank you for making changes Anatolij, I iwll be applying the patch to > my 2.6.36 queue. > > I just noticed that your previous patch alters pdata which I belive is > wrong thing to do. Could you please try the following patch and let me > know if I broke anything? The patch needs a small fix, please see below. ... > - if (!pdata->irq_flags) > - pdata->irq_flags = IRQF_TRIGGER_FALLING; > + irq_flags = pdata->irq_flags ? : IRQF_TRIGGER_FALLING; > > - if (request_irq(spi->irq, ads7846_irq, pdata->irq_flags, > - spi->dev.driver->name, ts)) { > + err = request_irq(spi->irq, ads7846_irq, pdata->irq_flags, > + spi->dev.driver->name, ts); We should pass previously obtained 'irq_flags' to request_irq(), not the original 'pdata->irq_flags'. I fixed this and tested the corrected patch with ads7845, it is okay now. I'll submit the corrected patch shortly. Thanks, Anatolij -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html