From: Rabin VINCENT on
On Thu, Jun 24, 2010 at 13:13:39 +0200, Luotao Fu wrote:
> the stmpe touchscreen driver uses fifo threshold irq to trigger data fetching.
> The touch_det irq bit is only used while polling for release. Change the
> platform resource and the irq definition in the variant block.
> ---
> drivers/mfd/stmpe-devices.c | 12 +++---------
> 1 files changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/mfd/stmpe-devices.c b/drivers/mfd/stmpe-devices.c
> index fa6934d..3e21c26 100644
> --- a/drivers/mfd/stmpe-devices.c
> +++ b/drivers/mfd/stmpe-devices.c
> @@ -59,17 +59,11 @@ static struct mfd_cell stmpe_keypad_cell = {
>
> static struct resource stmpe_ts_resources[] = {
> {
> - .name = "TOUCH_DET",
> + .name = "FIFO_TH",
> .start = 0,
> .end = 0,
> .flags = IORESOURCE_IRQ,
> - },
> - {
> - .name = "FIFO_TH",
> - .start = 1,
> - .end = 1,
> - .flags = IORESOURCE_IRQ,
> - },
> + }
> };
>
> static struct mfd_cell stmpe_ts_cell = {
> @@ -107,7 +101,7 @@ static struct stmpe_variant_block stmpe811_blocks[] = {
> },
> {
> .cell = &stmpe_ts_cell,
> - .irq = STMPE811_IRQ_TOUCH_DET,
> + .irq = STMPE811_IRQ_FIFO_TH,
> .block = STMPE_BLOCK_TOUCHSCREEN,
> },
> };

Would it be clearer if you leave this as-is, and instead use
platform_get_irq_byname("FIFO_TH") in the stmpe-ts driver, since I think
the TSC block has a whole bunch of irqs?

Rabin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Luotao Fu on
On Thu, Jun 24, 2010 at 06:39:43PM +0530, Rabin VINCENT wrote:
> On Thu, Jun 24, 2010 at 13:13:39 +0200, Luotao Fu wrote:
> > the stmpe touchscreen driver uses fifo threshold irq to trigger data fetching.
> > The touch_det irq bit is only used while polling for release. Change the
> > platform resource and the irq definition in the variant block.
> > ---
> > drivers/mfd/stmpe-devices.c | 12 +++---------
> > 1 files changed, 3 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/mfd/stmpe-devices.c b/drivers/mfd/stmpe-devices.c
> > index fa6934d..3e21c26 100644
> > --- a/drivers/mfd/stmpe-devices.c
> > +++ b/drivers/mfd/stmpe-devices.c
> > @@ -59,17 +59,11 @@ static struct mfd_cell stmpe_keypad_cell = {
> >
> > static struct resource stmpe_ts_resources[] = {
> > {
> > - .name = "TOUCH_DET",
> > + .name = "FIFO_TH",
> > .start = 0,
> > .end = 0,
> > .flags = IORESOURCE_IRQ,
> > - },
> > - {
> > - .name = "FIFO_TH",
> > - .start = 1,
> > - .end = 1,
> > - .flags = IORESOURCE_IRQ,
> > - },
> > + }
> > };
> >
> > static struct mfd_cell stmpe_ts_cell = {
> > @@ -107,7 +101,7 @@ static struct stmpe_variant_block stmpe811_blocks[] = {
> > },
> > {
> > .cell = &stmpe_ts_cell,
> > - .irq = STMPE811_IRQ_TOUCH_DET,
> > + .irq = STMPE811_IRQ_FIFO_TH,
> > .block = STMPE_BLOCK_TOUCHSCREEN,
> > },
> > };
>
> Would it be clearer if you leave this as-is, and instead use
> platform_get_irq_byname("FIFO_TH") in the stmpe-ts driver, since I think
> the TSC block has a whole bunch of irqs?

most of them belong to the ADC/FIFO and are actually of less use for the
touch driver as it is now. However, I agree with you on this. This way
the core can leave the driver to pick irqs as it wants and we are more
flexible if we want to change the algrorithmus later. You
can drop this patch than. I'll add the needed change to the ts driver
together with the register settings into V6 of the ts driver.

thanks

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 |