public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH] genirq: add IRQF_NONE
@ 2013-09-09  3:48 Michael Opdenacker
  2013-09-09  4:02 ` Josh Triplett
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Opdenacker @ 2013-09-09  3:48 UTC (permalink / raw)
  To: josh, paul.mckenney, akpm, decot, amirv; +Cc: linux-kernel, Michael Opdenacker

What about adding an IRQF_NONE flag as in the below patch?

I'm currently working on removing the use of the deprecated
IRQF_DISABLED flag, and frequently have to replace
IRQF_DISABLED by 0, typically in request_irq() arguments.

Using IRQF_NONE instead of 0 would make the code more readable,
at least for people reading driver code for the first time.

Would it worth it?

I'm sure this kind of idea has come up many times before...

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
---
 include/linux/interrupt.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 5fa5afe..e289525 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -40,6 +40,7 @@
  * These flags used only by the kernel as part of the
  * irq handling routines.
  *
+ * IRQF_NONE - No irq flag bit is set.
  * IRQF_DISABLED - keep irqs disabled when calling the action handler.
  *                 DEPRECATED. This flag is a NOOP and scheduled to be removed
  * IRQF_SHARED - allow sharing the irq among several devices
@@ -59,6 +60,7 @@
  * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device
  *                resume time.
  */
+#define IRQF_NONE		0x00000000
 #define IRQF_DISABLED		0x00000020
 #define IRQF_SHARED		0x00000080
 #define IRQF_PROBE_SHARED	0x00000100
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RFC][PATCH] genirq: add IRQF_NONE
  2013-09-09  3:48 [RFC][PATCH] genirq: add IRQF_NONE Michael Opdenacker
@ 2013-09-09  4:02 ` Josh Triplett
  2013-09-09  4:40   ` Michael Opdenacker
  0 siblings, 1 reply; 3+ messages in thread
From: Josh Triplett @ 2013-09-09  4:02 UTC (permalink / raw)
  To: Michael Opdenacker; +Cc: paul.mckenney, akpm, decot, amirv, linux-kernel

On Mon, Sep 09, 2013 at 05:48:39AM +0200, Michael Opdenacker wrote:
> What about adding an IRQF_NONE flag as in the below patch?
> 
> I'm currently working on removing the use of the deprecated
> IRQF_DISABLED flag, and frequently have to replace
> IRQF_DISABLED by 0, typically in request_irq() arguments.
> 
> Using IRQF_NONE instead of 0 would make the code more readable,
> at least for people reading driver code for the first time.
> 
> Would it worth it?
> 
> I'm sure this kind of idea has come up many times before...
> 
> Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>

I don't think it makes sense, no; it's a flags field, meant to receive a
set of flags, and 0 is the standard empty set of flags.  I think
IRQF_NONE would actually reduce readability, especially for readers who
haven't seen it before, because it isn't immediately obvious that it
just corresponds to the 0 of "no flags".  My first guess reading it
would be that it's some non-zero flag with some non-obvious semantic,
such as "don't actually allocate an IRQ", or something strange like
that.

- Josh Triplett

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC][PATCH] genirq: add IRQF_NONE
  2013-09-09  4:02 ` Josh Triplett
@ 2013-09-09  4:40   ` Michael Opdenacker
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Opdenacker @ 2013-09-09  4:40 UTC (permalink / raw)
  To: Josh Triplett; +Cc: paul.mckenney, akpm, decot, amirv, linux-kernel

Hi Josh,

On 09/09/2013 06:02 AM, Josh Triplett wrote:
> On Mon, Sep 09, 2013 at 05:48:39AM +0200, Michael Opdenacker wrote:
>> What about adding an IRQF_NONE flag as in the below patch?
>>
>> I'm currently working on removing the use of the deprecated
>> IRQF_DISABLED flag, and frequently have to replace
>> IRQF_DISABLED by 0, typically in request_irq() arguments.
>>
>> Using IRQF_NONE instead of 0 would make the code more readable,
>> at least for people reading driver code for the first time.
>>
>> Would it worth it?
>>
>> I'm sure this kind of idea has come up many times before...
>>
>> Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
> I don't think it makes sense, no; it's a flags field, meant to receive a
> set of flags, and 0 is the standard empty set of flags.  I think
> IRQF_NONE would actually reduce readability, especially for readers who
> haven't seen it before, because it isn't immediately obvious that it
> just corresponds to the 0 of "no flags".  My first guess reading it
> would be that it's some non-zero flag with some non-obvious semantic,
> such as "don't actually allocate an IRQ", or something strange like
Thanks for your feedback. It's true that 0 for a flag is clear enough,
and that IRQF_NONE will be more confusing.

I was just thinking the IRQF_NONE would make it clearer that the
corresponding argument is a flag. This way, people reading "0" wouldn't
have to lookup the prototype of request_irq() to know what type of
argument this is (flag, number of resources, boolean....)

So, this may be a little helpful for completely new people, but more
confusing for people with a little more experience, as you explained.

I agree not to sacrifice the latter.

Thanks again,

Michael.

-- 
Michael Opdenacker, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
+33 484 258 098


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-09  4:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-09  3:48 [RFC][PATCH] genirq: add IRQF_NONE Michael Opdenacker
2013-09-09  4:02 ` Josh Triplett
2013-09-09  4:40   ` Michael Opdenacker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox