From: afzal mohammed <afzal.mohd.ma@gmail.com> To: linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>, Thomas Gleixner <tglx@linutronix.de>, Arnd Bergmann <arnd@arndb.de> Subject: [PATCH 12/18] sh: replace setup_irq() by request_irq() Date: Wed, 12 Feb 2020 08:16:48 +0000 [thread overview] Message-ID: <557ac61def897b99d1c21164ad422a67a68003aa.1581478324.git.afzal.mohd.ma@gmail.com> (raw) In-Reply-To: <cover.1581478323.git.afzal.mohd.ma@gmail.com> request_irq() is preferred over setup_irq(). Existing callers of setup_irq() reached mostly via 'init_IRQ()' & 'time_init()', while memory allocators are ready by 'mm_init()'. Per tglx[1], setup_irq() existed in olden days when allocators were not ready by the time early interrupts were initialized. Hence replace setup_irq() by request_irq(). Seldom remove_irq() usage has been observed coupled with setup_irq(), wherever that has been found, it too has been replaced by free_irq(). [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com> --- Since cc'ing cover letter to all maintainers/reviewers would be too many, refer for cover letter, https://lkml.kernel.org/r/cover.1581478323.git.afzal.mohd.ma@gmail.com arch/sh/boards/mach-cayman/irq.c | 18 ++++++------------ arch/sh/drivers/dma/dma-pvr2.c | 9 +++------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/arch/sh/boards/mach-cayman/irq.c b/arch/sh/boards/mach-cayman/irq.c index 3b6ea2d99013..de65b15206a2 100644 --- a/arch/sh/boards/mach-cayman/irq.c +++ b/arch/sh/boards/mach-cayman/irq.c @@ -40,16 +40,6 @@ static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id) return IRQ_NONE; } -static struct irqaction cayman_action_smsc = { - .name = "Cayman SMSC Mux", - .handler = cayman_interrupt_smsc, -}; - -static struct irqaction cayman_action_pci2 = { - .name = "Cayman PCI2 Mux", - .handler = cayman_interrupt_pci2, -}; - static void enable_cayman_irq(struct irq_data *data) { unsigned int irq = data->irq; @@ -149,6 +139,10 @@ void init_cayman_irq(void) } /* Setup the SMSC interrupt */ - setup_irq(SMSC_IRQ, &cayman_action_smsc); - setup_irq(PCI2_IRQ, &cayman_action_pci2); + if (request_irq(SMSC_IRQ, cayman_interrupt_smsc, 0, "Cayman SMSC Mux", + NULL)) + pr_err("request_irq() on %s failed\n", "Cayman SMSC Mux"); + if (request_irq(PCI2_IRQ, cayman_interrupt_pci2, 0, "Cayman PCI2 Mux", + NULL)) + pr_err("request_irq() on %s failed\n", "Cayman PCI2 Mux"); } diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c index b5dbd1f75768..171348016995 100644 --- a/arch/sh/drivers/dma/dma-pvr2.c +++ b/arch/sh/drivers/dma/dma-pvr2.c @@ -64,11 +64,6 @@ static int pvr2_xfer_dma(struct dma_channel *chan) return 0; } -static struct irqaction pvr2_dma_irq = { - .name = "pvr2 DMA handler", - .handler = pvr2_dma_interrupt, -}; - static struct dma_ops pvr2_dma_ops = { .request = pvr2_request_dma, .get_residue = pvr2_get_dma_residue, @@ -84,7 +79,9 @@ static struct dma_info pvr2_dma_info = { static int __init pvr2_dma_init(void) { - setup_irq(HW_EVENT_PVR2_DMA, &pvr2_dma_irq); + if (request_irq(HW_EVENT_PVR2_DMA, pvr2_dma_interrupt, 0, + "pvr2 DMA handler", NULL)) + pr_err("request_irq() on %s failed\n", "pvr2 DMA handler"); request_dma(PVR2_CASCADE_CHAN, "pvr2 cascade"); return register_dmac(&pvr2_dma_info); -- 2.24.1
WARNING: multiple messages have this Message-ID (diff)
From: afzal mohammed <afzal.mohd.ma@gmail.com> To: linux-sh@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>, Thomas Gleixner <tglx@linutronix.de>, Arnd Bergmann <arnd@arndb.de> Subject: [PATCH 12/18] sh: replace setup_irq() by request_irq() Date: Wed, 12 Feb 2020 13:34:48 +0530 [thread overview] Message-ID: <557ac61def897b99d1c21164ad422a67a68003aa.1581478324.git.afzal.mohd.ma@gmail.com> (raw) In-Reply-To: <cover.1581478323.git.afzal.mohd.ma@gmail.com> request_irq() is preferred over setup_irq(). Existing callers of setup_irq() reached mostly via 'init_IRQ()' & 'time_init()', while memory allocators are ready by 'mm_init()'. Per tglx[1], setup_irq() existed in olden days when allocators were not ready by the time early interrupts were initialized. Hence replace setup_irq() by request_irq(). Seldom remove_irq() usage has been observed coupled with setup_irq(), wherever that has been found, it too has been replaced by free_irq(). [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos Signed-off-by: afzal mohammed <afzal.mohd.ma@gmail.com> --- Since cc'ing cover letter to all maintainers/reviewers would be too many, refer for cover letter, https://lkml.kernel.org/r/cover.1581478323.git.afzal.mohd.ma@gmail.com arch/sh/boards/mach-cayman/irq.c | 18 ++++++------------ arch/sh/drivers/dma/dma-pvr2.c | 9 +++------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/arch/sh/boards/mach-cayman/irq.c b/arch/sh/boards/mach-cayman/irq.c index 3b6ea2d99013..de65b15206a2 100644 --- a/arch/sh/boards/mach-cayman/irq.c +++ b/arch/sh/boards/mach-cayman/irq.c @@ -40,16 +40,6 @@ static irqreturn_t cayman_interrupt_pci2(int irq, void *dev_id) return IRQ_NONE; } -static struct irqaction cayman_action_smsc = { - .name = "Cayman SMSC Mux", - .handler = cayman_interrupt_smsc, -}; - -static struct irqaction cayman_action_pci2 = { - .name = "Cayman PCI2 Mux", - .handler = cayman_interrupt_pci2, -}; - static void enable_cayman_irq(struct irq_data *data) { unsigned int irq = data->irq; @@ -149,6 +139,10 @@ void init_cayman_irq(void) } /* Setup the SMSC interrupt */ - setup_irq(SMSC_IRQ, &cayman_action_smsc); - setup_irq(PCI2_IRQ, &cayman_action_pci2); + if (request_irq(SMSC_IRQ, cayman_interrupt_smsc, 0, "Cayman SMSC Mux", + NULL)) + pr_err("request_irq() on %s failed\n", "Cayman SMSC Mux"); + if (request_irq(PCI2_IRQ, cayman_interrupt_pci2, 0, "Cayman PCI2 Mux", + NULL)) + pr_err("request_irq() on %s failed\n", "Cayman PCI2 Mux"); } diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c index b5dbd1f75768..171348016995 100644 --- a/arch/sh/drivers/dma/dma-pvr2.c +++ b/arch/sh/drivers/dma/dma-pvr2.c @@ -64,11 +64,6 @@ static int pvr2_xfer_dma(struct dma_channel *chan) return 0; } -static struct irqaction pvr2_dma_irq = { - .name = "pvr2 DMA handler", - .handler = pvr2_dma_interrupt, -}; - static struct dma_ops pvr2_dma_ops = { .request = pvr2_request_dma, .get_residue = pvr2_get_dma_residue, @@ -84,7 +79,9 @@ static struct dma_info pvr2_dma_info = { static int __init pvr2_dma_init(void) { - setup_irq(HW_EVENT_PVR2_DMA, &pvr2_dma_irq); + if (request_irq(HW_EVENT_PVR2_DMA, pvr2_dma_interrupt, 0, + "pvr2 DMA handler", NULL)) + pr_err("request_irq() on %s failed\n", "pvr2 DMA handler"); request_dma(PVR2_CASCADE_CHAN, "pvr2 cascade"); return register_dmac(&pvr2_dma_info); -- 2.24.1
next prev parent reply other threads:[~2020-02-12 8:16 UTC|newest] Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-12 8:01 [PATCH 00/18] genirq: Remove setup_irq() afzal mohammed 2020-02-12 8:13 ` afzal mohammed 2020-02-12 8:01 ` afzal mohammed 2020-02-12 8:01 ` afzal mohammed 2020-02-12 8:02 ` [PATCH 01/18] alpha: replace setup_irq() by request_irq() afzal mohammed 2020-02-12 8:02 ` [PATCH 02/18] ARM: " afzal mohammed 2020-02-12 8:02 ` afzal mohammed 2020-02-12 8:10 ` Viresh Kumar 2020-02-12 8:10 ` Viresh Kumar 2020-02-12 8:10 ` Viresh Kumar 2020-02-12 23:27 ` Alexander Sverdlin 2020-02-12 23:27 ` Alexander Sverdlin 2020-02-12 23:27 ` Alexander Sverdlin 2020-02-12 8:02 ` [PATCH 03/18] c6x: " afzal mohammed 2020-02-13 17:37 ` Mark Salter 2020-02-12 8:03 ` [PATCH 04/18] hexagon: " afzal mohammed 2020-02-12 8:03 ` [PATCH 05/18] ia64: " afzal mohammed 2020-02-12 8:15 ` afzal mohammed 2020-02-12 8:03 ` [PATCH 06/18] m68k: Replace " afzal mohammed 2020-02-12 22:25 ` Finn Thain 2020-02-13 2:03 ` afzal mohammed 2020-02-13 7:11 ` Greg Ungerer 2020-02-14 13:07 ` afzal mohammed 2020-02-12 8:03 ` [PATCH 07/18] microblaze: " afzal mohammed 2020-02-12 8:04 ` [PATCH 08/18] MIPS: " afzal mohammed 2020-02-12 8:04 ` afzal mohammed 2020-02-12 8:04 ` [PATCH 09/18] parisc: " afzal mohammed 2020-02-12 8:04 ` [PATCH 10/18] powerpc: " afzal mohammed 2020-02-12 8:04 ` afzal mohammed 2020-02-13 10:59 ` Christophe Leroy 2020-02-13 10:59 ` Christophe Leroy 2020-02-12 8:04 ` [PATCH 11/18] s390: replace " afzal mohammed 2020-02-12 8:04 ` afzal mohammed [this message] 2020-02-12 8:16 ` [PATCH 12/18] sh: " afzal mohammed 2020-02-12 8:05 ` [PATCH 13/18] unicore32: " afzal mohammed 2020-02-12 8:05 ` [PATCH 14/18] x86: Replace " afzal mohammed 2020-02-27 10:49 ` Thomas Gleixner 2020-02-27 11:36 ` afzal mohammed 2020-02-27 13:29 ` Thomas Gleixner 2020-02-27 14:26 ` afzal mohammed 2020-02-12 8:05 ` [PATCH 15/18] xtensa: replace " afzal mohammed 2020-02-12 9:10 ` Max Filippov 2020-02-12 8:05 ` [PATCH 16/18] clocksource: Replace " afzal mohammed 2020-02-12 8:05 ` afzal mohammed 2020-02-12 8:05 ` afzal mohammed 2020-02-20 11:13 ` Daniel Lezcano 2020-02-20 11:13 ` Daniel Lezcano 2020-02-20 11:13 ` Daniel Lezcano 2020-02-20 14:48 ` Linus Walleij 2020-02-20 14:48 ` Linus Walleij 2020-02-20 14:48 ` Linus Walleij 2020-02-12 8:05 ` [PATCH 17/18] irqchip: " afzal mohammed [not found] ` <8e00874d072f32496c2d0da05423bda1cadd6975.1581478324.git.afzal.mohd.ma@gmail. com> 2020-02-13 16:02 ` Paul Cercueil 2020-02-12 8:06 ` [PATCH 18/18] genirq: Remove setup_irq() and remove_irq() afzal mohammed 2020-02-20 14:49 ` Linus Walleij 2020-02-27 10:31 ` [PATCH 00/18] genirq: Remove setup_irq() Thomas Gleixner 2020-02-27 10:31 ` Thomas Gleixner 2020-02-27 10:31 ` Thomas Gleixner 2020-02-27 10:31 ` Thomas Gleixner 2020-02-27 11:07 ` afzal mohammed 2020-02-27 11:19 ` afzal mohammed 2020-02-27 11:07 ` afzal mohammed 2020-02-27 11:07 ` afzal mohammed 2020-03-21 17:43 ` afzal mohammed 2020-03-21 17:55 ` afzal mohammed 2020-03-21 17:43 ` afzal mohammed 2020-03-21 17:43 ` afzal mohammed 2020-03-27 16:08 ` [PATCH 0/6] Kill setup_irq() afzal mohammed 2020-03-27 16:20 ` afzal mohammed 2020-03-27 16:08 ` afzal mohammed 2020-03-27 16:08 ` afzal mohammed 2020-03-27 16:09 ` [PATCH v5 1/6] alpha: Replace setup_irq() by request_irq() afzal mohammed 2020-03-27 16:09 ` [PATCH v5 2/6] c6x: replace " afzal mohammed 2020-03-27 16:09 ` [PATCH v5 3/6] hexagon: " afzal mohammed 2020-03-27 16:10 ` [PATCH v5 4/6] sh: " afzal mohammed 2020-03-27 16:22 ` afzal mohammed 2020-03-27 16:10 ` [PATCH v5 5/6] unicore32: " afzal mohammed 2020-03-27 16:11 ` [PATCH v5 6/6] genirq: Remove setup_irq() and remove_irq() afzal mohammed 2020-04-11 14:10 ` afzal mohammed 2020-03-28 2:48 ` [PATCH 0/6] Kill setup_irq() Brian Cain 2020-03-28 2:48 ` Brian Cain 2020-03-28 2:48 ` Brian Cain 2020-03-28 2:48 ` Brian Cain 2020-03-28 2:48 ` Brian Cain 2020-03-28 7:32 ` afzal mohammed 2020-03-28 7:44 ` afzal mohammed 2020-03-28 7:32 ` afzal mohammed 2020-03-28 7:32 ` afzal mohammed 2020-04-02 15:03 ` Brian Cain 2020-04-02 15:03 ` Brian Cain 2020-04-02 15:03 ` Brian Cain 2020-04-02 15:03 ` Brian Cain 2020-04-02 15:03 ` Brian Cain
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=557ac61def897b99d1c21164ad422a67a68003aa.1581478324.git.afzal.mohd.ma@gmail.com \ --to=afzal.mohd.ma@gmail.com \ --cc=arnd@arndb.de \ --cc=dalias@libc.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-sh@vger.kernel.org \ --cc=tglx@linutronix.de \ --cc=ysato@users.sourceforge.jp \ /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: linkBe 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.