From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/4] irqchip: add basic infrastructure
Date: Sun, 28 Oct 2012 08:18:42 -0500 [thread overview]
Message-ID: <508D30B2.6070806@gmail.com> (raw)
In-Reply-To: <1351416634-3352-2-git-send-email-thomas.petazzoni@free-electrons.com>
On 10/28/2012 04:30 AM, Thomas Petazzoni wrote:
> With the recent creation of the drivers/irqchip/ directory, it is
> desirable to move irq controller drivers here. At the moment, the only
> driver here is irq-bcm2835, the driver for the irq controller found in
> the ARM BCM2835 SoC, present in Rasberry Pi systems. This irq
> controller driver was exporting its initialization function and its
> irq handling function through a header file in
> <linux/irqchip/bcm2835.h>.
>
> When proposing to also move another irq controller driver in
> drivers/irqchip, Rob Herring raised the very valid point that moving
> things to drivers/irqchip was good in order to remove more stuff from
> arch/arm, but if it means adding gazillions of headers files in
> include/linux/irqchip/, it would not be very nice.
>
> So, upon the suggestion of Rob Herring and Arnd Bergmann, this commit
> introduces a small infrastructure that defines a central
> irqchip_init() function in drivers/irqchip/irqchip.c, which is meant
> to be called as the ->init_irq() callback of ARM platforms. This
> function calls of_irq_init() with an array that will progressively
> contain the compatible strings of each irq controller driver, and also
> a reference to the initialization functions of such drivers. The
> drivers/irqchip/irqchip.h header file, currently empty, is added to
> allow irq controller drivers to expose their initialization function
> to the main irqchip.c file. Note that the irq controller driver
> initialization function is responsible for setting the global
> handle_arch_irq() variable, so that ARM platforms no longer have to
> define the ->handle_irq field in their DT_MACHINE structure.
>
> A global header, <linux/irqchip.h> is also added to expose the single
> irqchip_init() function to the reset of the kernel.
>
> A further commit moves the BCM2835 irq controller driver to this new
> small infrastructure, therefore removing the include/linux/irqchip/
> directory.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
> drivers/irqchip/Kconfig | 3 ++-
> drivers/irqchip/Makefile | 1 +
> drivers/irqchip/irqchip.c | 23 +++++++++++++++++++++++
> drivers/irqchip/irqchip.h | 14 ++++++++++++++
> include/linux/irqchip.h | 16 ++++++++++++++++
> 5 files changed, 56 insertions(+), 1 deletion(-)
> create mode 100644 drivers/irqchip/irqchip.c
> create mode 100644 drivers/irqchip/irqchip.h
> create mode 100644 include/linux/irqchip.h
>
> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
> index 1bb8bf6..e0ff166 100644
> --- a/drivers/irqchip/Kconfig
> +++ b/drivers/irqchip/Kconfig
> @@ -1 +1,2 @@
> -# empty
> +config USE_IRQCHIP
> + bool
This should depend on OF_IRQ.
Rob
next prev parent reply other threads:[~2012-10-28 13:18 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-28 9:30 [PATCH v2] Introduce minimal irqchip infrastructure Thomas Petazzoni
2012-10-28 9:30 ` [PATCH v2 1/4] irqchip: add basic infrastructure Thomas Petazzoni
2012-10-28 13:18 ` Rob Herring [this message]
2012-10-28 13:24 ` Thomas Petazzoni
2012-10-28 13:30 ` Rob Herring
2012-10-28 13:35 ` Thomas Petazzoni
2012-10-28 9:30 ` [PATCH v2 2/4] arm: bcm2835: convert to the irqchip infrastructure Thomas Petazzoni
2012-10-28 9:30 ` [PATCH v2 3/4] arm: mvebu: move irq controller driver to drivers/irqchip Thomas Petazzoni
2012-10-28 9:41 ` Thomas Petazzoni
2012-10-28 9:42 ` Thomas Petazzoni
2012-10-28 9:30 ` [PATCH v2 4/4] irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS Thomas Petazzoni
2012-10-28 13:11 ` Rob Herring
2012-10-28 13:23 ` [PATCH v2] Introduce minimal irqchip infrastructure Rob Herring
2012-10-28 13:26 ` Thomas Petazzoni
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=508D30B2.6070806@gmail.com \
--to=robherring2@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).