Dave,
On Wed, 2006-09-27 at 16:21 -0700, David Brownell wrote:
> As you should know, irq_chip_set_defaults() ensures that every
> irqchip has startup() and shutdown() methods. Their default
> implementations use enable() and disable() ... which in turn
> have default implementations using mask()/unmask(), for use
> with non-EIO handlers.
True. Still you change the semantics.
chip->mask();
chip->ack();
is not equal to :
if (!(desc->status & IRQ_DELAYED_DISABLE))
irq_desc[irq].chip->mask(irq);
> So what's the correct fix then ... use enable() and disable()?
> Oopsing isn't OK...
True, but we can not unconditionally change the semantics.
Does it break existing or new code ?
> It was certainly _tested_ on a 2.6.18 ARM board, so you're clearly wrong
> about at least that part of your feedback as well as the bits about the
> shartup and shutdown calls being "optional" (in any practical sense, since
> they are in fact _always_ present).
Sorry, I did not think about the defaults in the first place. The
conditionals in manage,c are probably superflous leftovers from one of
the evolvement.
tglx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]