All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Ian Campbell <ian.campbell@citrix.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, grant.likely@secretlab.ca,
	paulus@samba.org, hpa@zytor.com, mingo@redhat.com,
	ian.campbell@citrix.com, jeremy@goop.org,
	dmitry.torokhov@gmail.com, benh@kernel.crashing.org,
	tglx@linutronix.de
Subject: [tip:irq/core] irq: Add new IRQ flag IRQF_NO_SUSPEND
Date: Thu, 29 Jul 2010 11:30:47 GMT	[thread overview]
Message-ID: <tip-685fd0b4ea3f0f1d5385610b0d5b57775a8d5842@git.kernel.org> (raw)
In-Reply-To: <1280398595-29708-1-git-send-email-ian.campbell@citrix.com>

Commit-ID:  685fd0b4ea3f0f1d5385610b0d5b57775a8d5842
Gitweb:     http://git.kernel.org/tip/685fd0b4ea3f0f1d5385610b0d5b57775a8d5842
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu, 29 Jul 2010 11:16:32 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 29 Jul 2010 13:24:57 +0200

irq: Add new IRQ flag IRQF_NO_SUSPEND

A small number of users of IRQF_TIMER are using it for the implied no
suspend behaviour on interrupts which are not timer interrupts.

Therefore add a new IRQF_NO_SUSPEND flag, rename IRQF_TIMER to
__IRQF_TIMER and redefine IRQF_TIMER in terms of these new flags.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: xen-devel@lists.xensource.com
Cc: linux-input@vger.kernel.org
Cc: linuxppc-dev@ozlabs.org
Cc: devicetree-discuss@lists.ozlabs.org
LKML-Reference: <1280398595-29708-1-git-send-email-ian.campbell@citrix.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/interrupt.h |    7 ++++++-
 kernel/irq/manage.c       |    2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index c233113..a0384a4 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -53,16 +53,21 @@
  * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished.
  *                Used by threaded interrupts which need to keep the
  *                irq line disabled until the threaded handler has been run.
+ * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend
+ *
  */
 #define IRQF_DISABLED		0x00000020
 #define IRQF_SAMPLE_RANDOM	0x00000040
 #define IRQF_SHARED		0x00000080
 #define IRQF_PROBE_SHARED	0x00000100
-#define IRQF_TIMER		0x00000200
+#define __IRQF_TIMER		0x00000200
 #define IRQF_PERCPU		0x00000400
 #define IRQF_NOBALANCING	0x00000800
 #define IRQF_IRQPOLL		0x00001000
 #define IRQF_ONESHOT		0x00002000
+#define IRQF_NO_SUSPEND		0x00004000
+
+#define IRQF_TIMER		(__IRQF_TIMER | IRQF_NO_SUSPEND)
 
 /*
  * Bits used by threaded handlers:
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index e149748..c3003e9 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -216,7 +216,7 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc *desc)
 void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
 {
 	if (suspend) {
-		if (!desc->action || (desc->action->flags & IRQF_TIMER))
+		if (!desc->action || (desc->action->flags & IRQF_NO_SUSPEND))
 			return;
 		desc->status |= IRQ_SUSPENDED;
 	}

  reply	other threads:[~2010-07-29 11:31 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-28 10:54 [GIT/PATCH 0/4] Do not use IRQF_TIMER for non timer interrupts Ian Campbell
2010-07-28 10:54 ` Ian Campbell
2010-07-28 10:54 ` Ian Campbell
2010-07-28 10:54 ` [PATCH 1/4] irq: rename IRQF_TIMER to IRQF_NO_SUSPEND Ian Campbell
2010-07-28 10:54   ` Ian Campbell
2010-07-29  8:49   ` Thomas Gleixner
2010-07-29  8:49     ` Thomas Gleixner
2010-07-29  9:03     ` Ian Campbell
2010-07-29  9:03       ` Ian Campbell
2010-07-29  9:03       ` Ian Campbell
2010-07-29 10:16     ` [GIT/PATCH 0/4] Do not use IRQF_TIMER for non timer interrupts Ian Campbell
2010-07-29 10:16       ` Ian Campbell
2010-07-29 10:16       ` Ian Campbell
2010-07-29 10:16       ` [PATCH 1/4] irq: Add new IRQ flag IRQF_NO_SUSPEND Ian Campbell
2010-07-29 10:16         ` Ian Campbell
2010-07-29 11:30         ` tip-bot for Ian Campbell [this message]
2010-07-30 10:29         ` Benjamin Herrenschmidt
2010-07-30 10:29           ` Benjamin Herrenschmidt
2010-07-30 10:29           ` Benjamin Herrenschmidt
2010-07-29 10:16       ` [PATCH 2/4] ixp4xx-beeper: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupt Ian Campbell
2010-07-29 11:31         ` [tip:irq/core] " tip-bot for Ian Campbell
2010-07-29 10:16       ` [PATCH 3/4] powerpc: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupts Ian Campbell
2010-07-29 10:16         ` Ian Campbell
2010-07-29 11:31         ` [tip:irq/core] " tip-bot for Ian Campbell
2010-07-30 10:30         ` [PATCH 3/4] " Benjamin Herrenschmidt
2010-07-30 10:30           ` Benjamin Herrenschmidt
2010-07-30 10:30           ` Benjamin Herrenschmidt
2010-07-29 10:16       ` [PATCH 4/4] xen: do not suspend IPI IRQs Ian Campbell
2010-07-29 11:31         ` [tip:irq/core] xen: Do " tip-bot for Ian Campbell
2010-07-28 10:54 ` [PATCH 2/4] ixp4xx-beeper: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupt Ian Campbell
2010-07-28 10:54 ` [PATCH 3/4] powerpc: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupts Ian Campbell
2010-07-28 10:54   ` Ian Campbell
2010-07-28 10:54 ` [PATCH 4/4] xen: do not suspend IPI IRQs Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tip-685fd0b4ea3f0f1d5385610b0d5b57775a8d5842@git.kernel.org \
    --to=ian.campbell@citrix.com \
    --cc=benh@kernel.crashing.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paulus@samba.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.