Re: [PATCH 06/38] Annotate hardware config module parameters in drivers/clocksource/

From: Thomas Gleixner
Date: Tue Apr 18 2017 - 08:54:41 EST


On Tue, 18 Apr 2017, David Howells wrote:
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > > > > Btw, is it possible to use IRQ grants to prevent a device that has limited
> > > > > IRQ options from being drivable?
> > > >
> > > > What do you mean with 'IRQ grants' ?
> > >
> > > request_irq().
> >
> > I still can't parse the sentence above. If request_irq() fails the device
> > initialization fails. If you request the wrong irq then request_irq() might
> > succeed but the device won't work.
>
> I was talking about having using a driver to make request_irq() grant an irq
> to that driver so that another driver can't bind to its device because all its
> irq options are taken and the irqs can't be shared.

Yes. That's possible.

init_driver1()
request_irq(X, flags,.....);

init_driver2()
request_irq(X, flags,.....);

The second driver can fail, when flags are not matching. That might be
disagreement about SHARED or the trigger type, i.e. egde vs. level.

Thanks,

tglx