Re: [PATCH] genirq: irq_chip->startup() usage in setup_irq and set_irq_chained handler

Benjamin Herrenschmidt
2008-08-23T22:44:15Z

On Sat, 2008-08-23 at 18:08 +0200, Ingo Molnar wrote:
> > Apparently I have swapped To: and Cc: field in the original mail,
> > apologies.
> >
> > > This patch clarifies a usage of irq_chip->startup() callback:
> > >
> > > 1. The "if (startup) startup(); else enabled();" code in setup_irq()
> > > is unnecessary, as startup() falls back to enabled() via
> > > default callbacks, set by irq_chip_set_defaults().
> > >
> > > 2. When using set_irq_chained_handler() the startup() was never called,
> > > which is not good at all... Fixed. And again - when startup() is not
> > > defined the call will fall back to enable() than to unmask() via
> > > default callbacks.
> >
> > Any comment on the patch?
>
> looks good to me at first glance - but i Cc:-ed Thomas and Ben, maybe
> they have further comments.

The second change is a significant semantic change. I wouldn't be
surprised if I have cases that rely (or work around) the lack of
startup() in set_irq_chained_handler(). I'll have to dbl check things
next week. Can you send me a copy of those patches ?

Cheers,
Ben.