All of lore.kernel.org
 help / color / mirror / Atom feed
From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4] Introduce irqchip infrastructure
Date: Wed, 21 Nov 2012 00:12:39 +0100	[thread overview]
Message-ID: <20121121001239.3ca7a87d@skate> (raw)
In-Reply-To: <50AC065C.7000305@gmail.com>

Rob,

On Tue, 20 Nov 2012 16:38:20 -0600, Rob Herring wrote:

> > Remaining issues to solve:
> > 
> >  * Russell would like arch/arm/include/asm/hardware/vic.h and
> >    arch/arm/include/asm/hardware/gic.h to move elsewhere, since the
> >    corresponding code is no longer in arch/arm/. I can move them in
> >    <linux/irqchip>, but that will cause a fairly large change as there
> >    are a big number of users of those headers in arch/arm.
> 
> We need to do this. KVM will need the header as well, so we can't move
> the register definitions out either.

Which register definitions are you talking about? The one from vic.h ?

> >  * The arch/arm/include/asm/hardware/vic.h has a few offset macros
> >    that should move into the .c file of the irqchip driver, but some
> >    of those offsets are bizarrely used in some other pieces of code in
> >    arch/arm/.
> 
> Not really a good solution that I can see there. We could punt on doing
> the VIC for now.

Well, most of the VIC macro users are strange. Most of them probably
need their own macro definition instead of shamelessly borrowing the
VIC definitions.

> >  * How to get rid entirely of the headers in <linux/irqchip/>. The
> >    remaining problematic functions are <foo>_handle_irq() and
> >    <foo>_irq_init() that are used by non-DT platforms. And the special
> >    case of gic_cascade_irq().
> 
> I have patches for removing vic/gic_handle_irq. It is going to take a
> while for the others, so I don't think we should wait for that. KVM
> needs the GIC header anyway.

What is your approach to remove vic/gic_handle_irq? I'll see in your
patches I guess.

That said, I think that having <linux/irqchip/gic.h> and
<linux/irqchip/vic.h> for now is not a big problem. What we want to
avoid is to have gazillions of headers here, but as new platforms are
DT-capable, those platforms shouldn't need to add a header in
<linux/irqchip/>, so I think we could live with
<linux/irqchip/{gic,vic}.h> for a while, and progressively clean
up/improve what needs to be done. Doing the perfect migration as an
unique step is going to be difficult.

> >  * Move all the users of gic_of_init() to the irqchip mechanism
> >    (Exynos, i.MX 6, MSM, OMAP, SH Mobile, socfpga, spear13xx, tegra,
> >    ux500, vexpress) so that gic_of_init() no longer has to be
> >    exported.
> 
> I have a patch doing this. I will try to get this sent out today. I've
> split this into clean-up and then the move, so the clean-up could go in
> for 3.8. It is only dependent on patch 2.

Ok.

> > Of course, I don't expect any of this to go in 3.8, it is 3.9 material
> > if we manage to reach a consensus on the remaining issues to solve
> > (and the other issues that will certainly show up or be raised by
> > other people).
> 
> I still would like to try to get this in for 3.8. If not the move, some
> of the clean-up.

So the cleanup series for 3.8 would contain:

 [PATCH 02/16], needed for the clean up you will send later today
 [PATCH 06/16]
 [PATCH 07/16]

I think all the other ones are directly related to the introduction of
the irqchip infrastructure, so they most likely cannot be part of 3.8.

So, I can prepare a pull request with 2, 6, 7 and your upcoming clean
up patch, if you want.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2012-11-20 23:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-20 22:00 [PATCH v4] Introduce irqchip infrastructure Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 01/16] irqchip: add basic infrastructure Thomas Petazzoni
2012-11-20 22:40   ` Stephen Warren
2012-11-20 22:54     ` Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 02/16] arm: add set_handle_irq() to register the parent IRQ controller handler function Thomas Petazzoni
2012-11-20 23:42   ` Rob Herring
2012-11-20 22:00 ` [PATCH 03/16] arm: bcm2835: convert to the irqchip infrastructure Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 04/16] arm: mvebu: move irq controller driver to drivers/irqchip Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 05/16] irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 06/16] ARM: gic: move register definitions into .c file Thomas Petazzoni
2012-11-20 23:35   ` Rob Herring
2012-11-20 22:00 ` [PATCH 07/16] ARM: gic: remove direct use of gic_raise_softirq Thomas Petazzoni
2012-11-20 22:00 ` [PATCH 08/16] irqchip: Move ARM GIC to drivers/irqchip Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 09/16] irqchip: Move ARM VIC " Thomas Petazzoni
2012-11-23 12:01   ` Jamie Iles
2012-11-20 22:01 ` [PATCH 10/16] ARM: highbank: use common irqchip_init Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 11/16] ARM: picoxcell: " Thomas Petazzoni
2012-11-23 12:04   ` Jamie Iles
2012-11-20 22:01 ` [PATCH 12/16] ARM: spear3xx: " Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 13/16] ARM: spear6xx: " Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 14/16] arm: vic: don't expose vic_of_init() anymore Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 15/16] irqchip: vic: mark vic_of_init() as static Thomas Petazzoni
2012-11-21 12:40   ` Linus Walleij
2012-11-21 12:53     ` Thomas Petazzoni
2012-11-21 14:40       ` Linus Walleij
2012-11-21 14:46         ` Thomas Petazzoni
2012-11-21 15:07           ` Rob Herring
2012-11-21 15:20             ` Thomas Petazzoni
2012-11-20 22:01 ` [PATCH 16/16] ARM: plat-versatile: move FPGA irq driver to drivers/irqchip Thomas Petazzoni
2012-11-21 12:22   ` Linus Walleij
2012-11-21 12:47     ` Thomas Petazzoni
2012-11-20 22:38 ` [PATCH v4] Introduce irqchip infrastructure Rob Herring
2012-11-20 23:12   ` Thomas Petazzoni [this message]
2012-11-21  4:00     ` Rob Herring
2012-11-29 20:27 ` Grant Likely

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=20121121001239.3ca7a87d@skate \
    --to=thomas.petazzoni@free-electrons.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 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.