Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755286AbdDRMyi (ORCPT ); Tue, 18 Apr 2017 08:54:38 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:51445 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751467AbdDRMyh (ORCPT ); Tue, 18 Apr 2017 08:54:37 -0400 Date: Tue, 18 Apr 2017 14:54:32 +0200 (CEST) From: Thomas Gleixner To: David Howells cc: LKML , gnomes@lxorguk.ukuu.org.uk, gregkh@linuxfoundation.org, Daniel Lezcano , linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, Jens Rottmann , Andres Salomon Subject: Re: [PATCH 06/38] Annotate hardware config module parameters in drivers/clocksource/ In-Reply-To: <10505.1492519386@warthog.procyon.org.uk> Message-ID: References: <149141141298.29162.5612793122429261720.stgit@warthog.procyon.org.uk> <149141145858.29162.13072730133817038218.stgit@warthog.procyon.org.uk> <12228.1492210765@warthog.procyon.org.uk> <15283.1492235470@warthog.procyon.org.uk> <10505.1492519386@warthog.procyon.org.uk> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1002 Lines: 36 On Tue, 18 Apr 2017, David Howells wrote: > Thomas Gleixner 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