On Monday 29 September 2008, Felipe Balbi wrote:
> From: David Brownell <[EMAIL PROTECTED]>
> 
> Remove some ARM and OMAP specific stuff from the twl4030 GPIO code,
> and some unused/undesirable CPP symbols.  Add minor checkpatch fixes.

This one and #0021 share a problem.  Looks like what I tested
wasn't the version I thought I'd tested ...


> @@ -847,9 +839,9 @@ static int __devinit gpio_twl4030_probe(struct 
> platform_device *pdev)
>               /* install an irq handler for each of the gpio interrupts */
>               for (irq = twl4030_gpio_irq_base; irq < twl4030_gpio_irq_end;
>                               irq++) {
> -                     set_irq_chip(irq, &twl4030_gpio_irq_chip);
> -                     set_irq_handler(irq, do_twl4030_gpio_irq);

The problem is right here:

> -                     set_irq_flags(irq, IRQF_VALID);
> +                     set_irq_noprobe(irq);

What's going on is that set_irq_flags() is ARM-specific; so using it
will break builds everywhere else; it can't be used without adding
undesirable dependencies on ARM.  (Interface changes done in mainline
may well overlook such stuff.  And if this mechanism were important,
it would be needed on other platforms...)

That normal usage (just mark as "valid"):

  - Clears the IRQ_NOREQUEST flag ... the troublesome bit
  - Sets IRQ_NOPROBE ... like the standard set_irq_noprobe() call
  - Clears IRQ_NOAUTOEN ... set for some PCMCIA irqs and little else

Thing is, ARM also *sets* IRQ_NOREQUEST (and NOPROBE) for all IRQs,
very early.  And it's effectively the only architecture which uses
that flag.  (PowerPC doesn't quite count, since you won't even get
an IRQ number until it's been mapped and that flag is cleared.)

... So it looks like I'm going to have to come up with a different
portability fix, sigh.



> +                     set_irq_chip_and_handler(irq, &twl4030_gpio_irq_chip,
> +                                     do_twl4030_gpio_irq);
>               }
>  
>               /* gpio module IRQ */

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to