* [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-10 13:01 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-10 13:01 UTC (permalink / raw)
To: devicetree-discuss
Cc: x86, tglx, mingo, hpa, Mitch Bradley, linux-kernel, grant.likely,
Stephen Neuendorffer
- Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
drivers/of/irq is further along.
- Define irq_dispose_mapping for x86 to appease of_i2c.c
Signed-off-by: Andres Salomon <dilinger@queued.net>
---
arch/x86/include/asm/irq.h | 3 +++
arch/x86/kernel/irq.c | 8 ++++++++
include/linux/of_irq.h | 1 +
3 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index 5458380..8ffa06f 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -10,6 +10,9 @@
#include <asm/apicdef.h>
#include <asm/irq_vectors.h>
+/* Even though we don't support this, supply it to appease OF */
+static inline void irq_dispose_mapping(unsigned int virq) { }
+
static inline int irq_canonicalize(int irq)
{
return ((irq == 2) ? 9 : irq);
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 91fd0c7..b78bb6f 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -4,6 +4,7 @@
#include <linux/cpu.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
+#include <linux/of.h>
#include <linux/seq_file.h>
#include <linux/smp.h>
#include <linux/ftrace.h>
@@ -275,6 +276,13 @@ void smp_x86_platform_ipi(struct pt_regs *regs)
EXPORT_SYMBOL_GPL(vector_used_by_percpu_irq);
+unsigned int irq_create_of_mapping(struct device_node *controller,
+ const u32 *intspec, unsigned int intsize)
+{
+ return intspec[0] + 1;
+}
+EXPORT_SYMBOL_GPL(irq_create_of_mapping);
+
#ifdef CONFIG_HOTPLUG_CPU
/* A cpu has been removed from cpu_online_mask. Reset irq affinities. */
void fixup_irqs(void)
diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
index 090cbaa..109e013 100644
--- a/include/linux/of_irq.h
+++ b/include/linux/of_irq.h
@@ -5,6 +5,7 @@
struct of_irq;
#include <linux/types.h>
#include <linux/errno.h>
+#include <linux/irq.h>
#include <linux/ioport.h>
#include <linux/of.h>
--
1.5.6.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-10 13:01 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-10 13:01 UTC (permalink / raw)
To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
Cc: x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitch Bradley, mingo-H+wXaHxf7aLQT0dZR+AlfA,
hpa-YMNOUZJC4hwAvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ
- Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
drivers/of/irq is further along.
- Define irq_dispose_mapping for x86 to appease of_i2c.c
Signed-off-by: Andres Salomon <dilinger-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
---
arch/x86/include/asm/irq.h | 3 +++
arch/x86/kernel/irq.c | 8 ++++++++
include/linux/of_irq.h | 1 +
3 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index 5458380..8ffa06f 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -10,6 +10,9 @@
#include <asm/apicdef.h>
#include <asm/irq_vectors.h>
+/* Even though we don't support this, supply it to appease OF */
+static inline void irq_dispose_mapping(unsigned int virq) { }
+
static inline int irq_canonicalize(int irq)
{
return ((irq == 2) ? 9 : irq);
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 91fd0c7..b78bb6f 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -4,6 +4,7 @@
#include <linux/cpu.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
+#include <linux/of.h>
#include <linux/seq_file.h>
#include <linux/smp.h>
#include <linux/ftrace.h>
@@ -275,6 +276,13 @@ void smp_x86_platform_ipi(struct pt_regs *regs)
EXPORT_SYMBOL_GPL(vector_used_by_percpu_irq);
+unsigned int irq_create_of_mapping(struct device_node *controller,
+ const u32 *intspec, unsigned int intsize)
+{
+ return intspec[0] + 1;
+}
+EXPORT_SYMBOL_GPL(irq_create_of_mapping);
+
#ifdef CONFIG_HOTPLUG_CPU
/* A cpu has been removed from cpu_online_mask. Reset irq affinities. */
void fixup_irqs(void)
diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
index 090cbaa..109e013 100644
--- a/include/linux/of_irq.h
+++ b/include/linux/of_irq.h
@@ -5,6 +5,7 @@
struct of_irq;
#include <linux/types.h>
#include <linux/errno.h>
+#include <linux/irq.h>
#include <linux/ioport.h>
#include <linux/of.h>
--
1.5.6.5
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-10 13:01 ` Andres Salomon
@ 2010-09-10 17:25 ` Grant Likely
-1 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-10 17:25 UTC (permalink / raw)
To: Andres Salomon
Cc: devicetree-discuss, x86, tglx, mingo, hpa, Mitch Bradley,
linux-kernel, Stephen Neuendorffer
On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
>
> - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> drivers/of/irq is further along.
> - Define irq_dispose_mapping for x86 to appease of_i2c.c
>
> Signed-off-by: Andres Salomon <dilinger@queued.net>
Applied to my test-devicetree branch. I'll need an ack from the x86
maintainers before I put it into my -next branch.
g.
> ---
> arch/x86/include/asm/irq.h | 3 +++
> arch/x86/kernel/irq.c | 8 ++++++++
> include/linux/of_irq.h | 1 +
> 3 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
> index 5458380..8ffa06f 100644
> --- a/arch/x86/include/asm/irq.h
> +++ b/arch/x86/include/asm/irq.h
> @@ -10,6 +10,9 @@
> #include <asm/apicdef.h>
> #include <asm/irq_vectors.h>
>
> +/* Even though we don't support this, supply it to appease OF */
> +static inline void irq_dispose_mapping(unsigned int virq) { }
> +
> static inline int irq_canonicalize(int irq)
> {
> return ((irq == 2) ? 9 : irq);
> diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
> index 91fd0c7..b78bb6f 100644
> --- a/arch/x86/kernel/irq.c
> +++ b/arch/x86/kernel/irq.c
> @@ -4,6 +4,7 @@
> #include <linux/cpu.h>
> #include <linux/interrupt.h>
> #include <linux/kernel_stat.h>
> +#include <linux/of.h>
> #include <linux/seq_file.h>
> #include <linux/smp.h>
> #include <linux/ftrace.h>
> @@ -275,6 +276,13 @@ void smp_x86_platform_ipi(struct pt_regs *regs)
>
> EXPORT_SYMBOL_GPL(vector_used_by_percpu_irq);
>
> +unsigned int irq_create_of_mapping(struct device_node *controller,
> + const u32 *intspec, unsigned int intsize)
> +{
> + return intspec[0] + 1;
> +}
> +EXPORT_SYMBOL_GPL(irq_create_of_mapping);
> +
> #ifdef CONFIG_HOTPLUG_CPU
> /* A cpu has been removed from cpu_online_mask. Reset irq affinities. */
> void fixup_irqs(void)
> diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
> index 090cbaa..109e013 100644
> --- a/include/linux/of_irq.h
> +++ b/include/linux/of_irq.h
> @@ -5,6 +5,7 @@
> struct of_irq;
> #include <linux/types.h>
> #include <linux/errno.h>
> +#include <linux/irq.h>
> #include <linux/ioport.h>
> #include <linux/of.h>
>
> --
> 1.5.6.5
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-10 17:25 ` Grant Likely
0 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-10 17:25 UTC (permalink / raw)
To: Andres Salomon
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitch Bradley, mingo-H+wXaHxf7aLQT0dZR+AlfA,
hpa-YMNOUZJC4hwAvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ
On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
>
> - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> drivers/of/irq is further along.
> - Define irq_dispose_mapping for x86 to appease of_i2c.c
>
> Signed-off-by: Andres Salomon <dilinger-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
Applied to my test-devicetree branch. I'll need an ack from the x86
maintainers before I put it into my -next branch.
g.
> ---
> arch/x86/include/asm/irq.h | 3 +++
> arch/x86/kernel/irq.c | 8 ++++++++
> include/linux/of_irq.h | 1 +
> 3 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
> index 5458380..8ffa06f 100644
> --- a/arch/x86/include/asm/irq.h
> +++ b/arch/x86/include/asm/irq.h
> @@ -10,6 +10,9 @@
> #include <asm/apicdef.h>
> #include <asm/irq_vectors.h>
>
> +/* Even though we don't support this, supply it to appease OF */
> +static inline void irq_dispose_mapping(unsigned int virq) { }
> +
> static inline int irq_canonicalize(int irq)
> {
> return ((irq == 2) ? 9 : irq);
> diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
> index 91fd0c7..b78bb6f 100644
> --- a/arch/x86/kernel/irq.c
> +++ b/arch/x86/kernel/irq.c
> @@ -4,6 +4,7 @@
> #include <linux/cpu.h>
> #include <linux/interrupt.h>
> #include <linux/kernel_stat.h>
> +#include <linux/of.h>
> #include <linux/seq_file.h>
> #include <linux/smp.h>
> #include <linux/ftrace.h>
> @@ -275,6 +276,13 @@ void smp_x86_platform_ipi(struct pt_regs *regs)
>
> EXPORT_SYMBOL_GPL(vector_used_by_percpu_irq);
>
> +unsigned int irq_create_of_mapping(struct device_node *controller,
> + const u32 *intspec, unsigned int intsize)
> +{
> + return intspec[0] + 1;
> +}
> +EXPORT_SYMBOL_GPL(irq_create_of_mapping);
> +
> #ifdef CONFIG_HOTPLUG_CPU
> /* A cpu has been removed from cpu_online_mask. Reset irq affinities. */
> void fixup_irqs(void)
> diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
> index 090cbaa..109e013 100644
> --- a/include/linux/of_irq.h
> +++ b/include/linux/of_irq.h
> @@ -5,6 +5,7 @@
> struct of_irq;
> #include <linux/types.h>
> #include <linux/errno.h>
> +#include <linux/irq.h>
> #include <linux/ioport.h>
> #include <linux/of.h>
>
> --
> 1.5.6.5
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-10 17:25 ` Grant Likely
(?)
@ 2010-09-10 18:14 ` Ingo Molnar
2010-09-10 18:21 ` Grant Likely
-1 siblings, 1 reply; 18+ messages in thread
From: Ingo Molnar @ 2010-09-10 18:14 UTC (permalink / raw)
To: Grant Likely
Cc: Andres Salomon, devicetree-discuss, x86, tglx, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
* Grant Likely <grant.likely@secretlab.ca> wrote:
> On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> >
> > - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> > drivers/of/irq is further along.
> > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> >
> > Signed-off-by: Andres Salomon <dilinger@queued.net>
>
> Applied to my test-devicetree branch. I'll need an ack from the x86
> maintainers before I put it into my -next branch.
The purpose of the patch is not clear to me. What does it do and why?
The changelog says it's a stopgap measure - what exactly is the long
term plan and how long will it take?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-10 18:21 ` Grant Likely
0 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-10 18:21 UTC (permalink / raw)
To: Ingo Molnar
Cc: Andres Salomon, devicetree-discuss, x86, tglx, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
>
> * Grant Likely <grant.likely@secretlab.ca> wrote:
>
> > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > >
> > > - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> > > drivers/of/irq is further along.
> > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > >
> > > Signed-off-by: Andres Salomon <dilinger@queued.net>
> >
> > Applied to my test-devicetree branch. I'll need an ack from the x86
> > maintainers before I put it into my -next branch.
>
> The purpose of the patch is not clear to me. What does it do and why?
It allows CONFIG_OF to be enabled on x86 without a build failure.
> The changelog says it's a stopgap measure - what exactly is the long
> term plan and how long will it take?
It is a stop gap because it performs a trivial direct map of an IRQ
number in the device tree data structure to a Linux irq number. This
works for a single IRQ controller, but falls apart when cascaded
controller are described in the device tree. The long term plan is to
have the drivers/of/ code handling the mapping intelligently like
powerpc currently does.
g.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-10 18:21 ` Grant Likely
0 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-10 18:21 UTC (permalink / raw)
To: Ingo Molnar
Cc: Andres Salomon, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitch Bradley, mingo-H+wXaHxf7aLQT0dZR+AlfA,
hpa-YMNOUZJC4hwAvxtiuMwx3w, tglx-hfZtesqFncYOwBW4kG4KsQ
On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
>
> * Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
>
> > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > >
> > > - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> > > drivers/of/irq is further along.
> > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > >
> > > Signed-off-by: Andres Salomon <dilinger-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
> >
> > Applied to my test-devicetree branch. I'll need an ack from the x86
> > maintainers before I put it into my -next branch.
>
> The purpose of the patch is not clear to me. What does it do and why?
It allows CONFIG_OF to be enabled on x86 without a build failure.
> The changelog says it's a stopgap measure - what exactly is the long
> term plan and how long will it take?
It is a stop gap because it performs a trivial direct map of an IRQ
number in the device tree data structure to a Linux irq number. This
works for a single IRQ controller, but falls apart when cascaded
controller are described in the device tree. The long term plan is to
have the drivers/of/ code handling the mapping intelligently like
powerpc currently does.
g.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 2:06 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-21 2:06 UTC (permalink / raw)
To: Ingo Molnar
Cc: Grant Likely, devicetree-discuss, x86, tglx, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Fri, 10 Sep 2010 12:21:35 -0600
Grant Likely <grant.likely@secretlab.ca> wrote:
> On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> >
> > * Grant Likely <grant.likely@secretlab.ca> wrote:
> >
> > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > > >
> > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap
> > > > solution until drivers/of/irq is further along.
> > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > >
> > > > Signed-off-by: Andres Salomon <dilinger@queued.net>
> > >
> > > Applied to my test-devicetree branch. I'll need an ack from the
> > > x86 maintainers before I put it into my -next branch.
> >
> > The purpose of the patch is not clear to me. What does it do and
> > why?
>
> It allows CONFIG_OF to be enabled on x86 without a build failure.
>
> > The changelog says it's a stopgap measure - what exactly is the
> > long term plan and how long will it take?
>
> It is a stop gap because it performs a trivial direct map of an IRQ
> number in the device tree data structure to a Linux irq number. This
> works for a single IRQ controller, but falls apart when cascaded
> controller are described in the device tree. The long term plan is to
> have the drivers/of/ code handling the mapping intelligently like
> powerpc currently does.
>
> g.
>
Any additional comments (ACKs, NACKs, etc) on the patches? If I need
to rework it (or them), I can certainly make the patch description
longer.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 2:06 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-21 2:06 UTC (permalink / raw)
To: Ingo Molnar
Cc: Mitch Bradley, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
mingo-H+wXaHxf7aLQT0dZR+AlfA, hpa-YMNOUZJC4hwAvxtiuMwx3w,
tglx-hfZtesqFncYOwBW4kG4KsQ
On Fri, 10 Sep 2010 12:21:35 -0600
Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
> On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> >
> > * Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
> >
> > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > > >
> > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap
> > > > solution until drivers/of/irq is further along.
> > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > >
> > > > Signed-off-by: Andres Salomon <dilinger-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
> > >
> > > Applied to my test-devicetree branch. I'll need an ack from the
> > > x86 maintainers before I put it into my -next branch.
> >
> > The purpose of the patch is not clear to me. What does it do and
> > why?
>
> It allows CONFIG_OF to be enabled on x86 without a build failure.
>
> > The changelog says it's a stopgap measure - what exactly is the
> > long term plan and how long will it take?
>
> It is a stop gap because it performs a trivial direct map of an IRQ
> number in the device tree data structure to a Linux irq number. This
> works for a single IRQ controller, but falls apart when cascaded
> controller are described in the device tree. The long term plan is to
> have the drivers/of/ code handling the mapping intelligently like
> powerpc currently does.
>
> g.
>
Any additional comments (ACKs, NACKs, etc) on the patches? If I need
to rework it (or them), I can certainly make the patch description
longer.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-21 2:06 ` Andres Salomon
(?)
@ 2010-09-21 2:32 ` H. Peter Anvin
-1 siblings, 0 replies; 18+ messages in thread
From: H. Peter Anvin @ 2010-09-21 2:32 UTC (permalink / raw)
To: Andres Salomon
Cc: Ingo Molnar, Grant Likely, devicetree-discuss, x86, tglx, mingo,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On 09/20/2010 07:06 PM, Andres Salomon wrote:
> Any additional comments (ACKs, NACKs, etc) on the patches? If I need
> to rework it (or them), I can certainly make the patch description
> longer.
Sorry... fell off my radar. Will try to look at it tomorrow.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-10 18:21 ` Grant Likely
(?)
(?)
@ 2010-09-21 9:43 ` Thomas Gleixner
-1 siblings, 0 replies; 18+ messages in thread
From: Thomas Gleixner @ 2010-09-21 9:43 UTC (permalink / raw)
To: Grant Likely
Cc: Ingo Molnar, Andres Salomon, devicetree-discuss, x86, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Fri, 10 Sep 2010, Grant Likely wrote:
> On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> >
> > * Grant Likely <grant.likely@secretlab.ca> wrote:
> >
> > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > > >
> > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap solution until
> > > > drivers/of/irq is further along.
> > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > >
> > > > Signed-off-by: Andres Salomon <dilinger@queued.net>
> > >
> > > Applied to my test-devicetree branch. I'll need an ack from the x86
> > > maintainers before I put it into my -next branch.
> >
> > The purpose of the patch is not clear to me. What does it do and why?
>
> It allows CONFIG_OF to be enabled on x86 without a build failure.
>
> > The changelog says it's a stopgap measure - what exactly is the long
> > term plan and how long will it take?
>
> It is a stop gap because it performs a trivial direct map of an IRQ
> number in the device tree data structure to a Linux irq number. This
> works for a single IRQ controller, but falls apart when cascaded
> controller are described in the device tree. The long term plan is to
> have the drivers/of/ code handling the mapping intelligently like
> powerpc currently does.
Sounds good. We need this for other embedded x86 platforms as well and
I was looking into the powerpc code before and wondered how we can
make that generic. The question is whether this should be tied into
drivers/of/irq or just provided as an OF independent generic facility
in kernel/irq.
Thanks,
tglx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-21 2:06 ` Andres Salomon
(?)
(?)
@ 2010-09-21 9:45 ` Thomas Gleixner
2010-09-21 16:11 ` Andres Salomon
-1 siblings, 1 reply; 18+ messages in thread
From: Thomas Gleixner @ 2010-09-21 9:45 UTC (permalink / raw)
To: Andres Salomon
Cc: Ingo Molnar, Grant Likely, devicetree-discuss, x86, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Mon, 20 Sep 2010, Andres Salomon wrote:
> On Fri, 10 Sep 2010 12:21:35 -0600
> Grant Likely <grant.likely@secretlab.ca> wrote:
>
> > On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> > >
> > > * Grant Likely <grant.likely@secretlab.ca> wrote:
> > >
> > > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon wrote:
> > > > >
> > > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap
> > > > > solution until drivers/of/irq is further along.
> > > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > > >
> > > > > Signed-off-by: Andres Salomon <dilinger@queued.net>
> > > >
> > > > Applied to my test-devicetree branch. I'll need an ack from the
> > > > x86 maintainers before I put it into my -next branch.
> > >
> > > The purpose of the patch is not clear to me. What does it do and
> > > why?
> >
> > It allows CONFIG_OF to be enabled on x86 without a build failure.
> >
> > > The changelog says it's a stopgap measure - what exactly is the
> > > long term plan and how long will it take?
> >
> > It is a stop gap because it performs a trivial direct map of an IRQ
> > number in the device tree data structure to a Linux irq number. This
> > works for a single IRQ controller, but falls apart when cascaded
> > controller are described in the device tree. The long term plan is to
> > have the drivers/of/ code handling the mapping intelligently like
> > powerpc currently does.
> >
> > g.
> >
>
> Any additional comments (ACKs, NACKs, etc) on the patches? If I need
> to rework it (or them), I can certainly make the patch description
> longer.
Fine with me, but you could make the "mapping" function an inline as
well. While at it, some sensible changelog would be helpful :)
Thanks,
tglx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 16:11 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-21 16:11 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Ingo Molnar, Grant Likely, devicetree-discuss, x86, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
Thomas Gleixner <tglx@linutronix.de> wrote:
> On Mon, 20 Sep 2010, Andres Salomon wrote:
> > On Fri, 10 Sep 2010 12:21:35 -0600
> > Grant Likely <grant.likely@secretlab.ca> wrote:
> >
> > > On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> > > >
> > > > * Grant Likely <grant.likely@secretlab.ca> wrote:
> > > >
> > > > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon
> > > > > wrote:
> > > > > >
> > > > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap
> > > > > > solution until drivers/of/irq is further along.
> > > > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > > > >
> > > > > > Signed-off-by: Andres Salomon <dilinger@queued.net>
> > > > >
> > > > > Applied to my test-devicetree branch. I'll need an ack from
> > > > > the x86 maintainers before I put it into my -next branch.
> > > >
> > > > The purpose of the patch is not clear to me. What does it do and
> > > > why?
> > >
> > > It allows CONFIG_OF to be enabled on x86 without a build failure.
> > >
> > > > The changelog says it's a stopgap measure - what exactly is the
> > > > long term plan and how long will it take?
> > >
> > > It is a stop gap because it performs a trivial direct map of an
> > > IRQ number in the device tree data structure to a Linux irq
> > > number. This works for a single IRQ controller, but falls apart
> > > when cascaded controller are described in the device tree. The
> > > long term plan is to have the drivers/of/ code handling the
> > > mapping intelligently like powerpc currently does.
> > >
> > > g.
> > >
> >
> > Any additional comments (ACKs, NACKs, etc) on the patches? If I
> > need to rework it (or them), I can certainly make the patch
> > description longer.
>
> Fine with me, but you could make the "mapping" function an inline as
> well. While at it, some sensible changelog would be helpful :)
>
> Thanks,
>
> tglx
Hm, inlining it would require some additional x86 #ifdefs in
include/linux/of_irq.h (where the mapping function is declared). You'd
prefer that?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 16:11 ` Andres Salomon
0 siblings, 0 replies; 18+ messages in thread
From: Andres Salomon @ 2010-09-21 16:11 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Mitch Bradley, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
mingo-H+wXaHxf7aLQT0dZR+AlfA, hpa-YMNOUZJC4hwAvxtiuMwx3w,
Ingo Molnar
On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
> On Mon, 20 Sep 2010, Andres Salomon wrote:
> > On Fri, 10 Sep 2010 12:21:35 -0600
> > Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
> >
> > > On Fri, Sep 10, 2010 at 08:14:58PM +0200, Ingo Molnar wrote:
> > > >
> > > > * Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
> > > >
> > > > > On Fri, Sep 10, 2010 at 06:01:51AM -0700, Andres Salomon
> > > > > wrote:
> > > > > >
> > > > > > - Define a stub irq_create_of_mapping for x86 as a stop-gap
> > > > > > solution until drivers/of/irq is further along.
> > > > > > - Define irq_dispose_mapping for x86 to appease of_i2c.c
> > > > > >
> > > > > > Signed-off-by: Andres Salomon <dilinger-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
> > > > >
> > > > > Applied to my test-devicetree branch. I'll need an ack from
> > > > > the x86 maintainers before I put it into my -next branch.
> > > >
> > > > The purpose of the patch is not clear to me. What does it do and
> > > > why?
> > >
> > > It allows CONFIG_OF to be enabled on x86 without a build failure.
> > >
> > > > The changelog says it's a stopgap measure - what exactly is the
> > > > long term plan and how long will it take?
> > >
> > > It is a stop gap because it performs a trivial direct map of an
> > > IRQ number in the device tree data structure to a Linux irq
> > > number. This works for a single IRQ controller, but falls apart
> > > when cascaded controller are described in the device tree. The
> > > long term plan is to have the drivers/of/ code handling the
> > > mapping intelligently like powerpc currently does.
> > >
> > > g.
> > >
> >
> > Any additional comments (ACKs, NACKs, etc) on the patches? If I
> > need to rework it (or them), I can certainly make the patch
> > description longer.
>
> Fine with me, but you could make the "mapping" function an inline as
> well. While at it, some sensible changelog would be helpful :)
>
> Thanks,
>
> tglx
Hm, inlining it would require some additional x86 #ifdefs in
include/linux/of_irq.h (where the mapping function is declared). You'd
prefer that?
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
2010-09-21 16:11 ` Andres Salomon
@ 2010-09-21 16:27 ` Thomas Gleixner
-1 siblings, 0 replies; 18+ messages in thread
From: Thomas Gleixner @ 2010-09-21 16:27 UTC (permalink / raw)
To: Andres Salomon
Cc: Ingo Molnar, Grant Likely, devicetree-discuss, x86, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Tue, 21 Sep 2010, Andres Salomon wrote:
> On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
> Thomas Gleixner <tglx@linutronix.de> wrote:
>
> > > Any additional comments (ACKs, NACKs, etc) on the patches? If I
> > > need to rework it (or them), I can certainly make the patch
> > > description longer.
> >
> > Fine with me, but you could make the "mapping" function an inline as
> > well. While at it, some sensible changelog would be helpful :)
> >
> > Thanks,
> >
> > tglx
>
> Hm, inlining it would require some additional x86 #ifdefs in
> include/linux/of_irq.h (where the mapping function is declared). You'd
> prefer that?
Urgh, no.
tglx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 16:27 ` Thomas Gleixner
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Gleixner @ 2010-09-21 16:27 UTC (permalink / raw)
To: Andres Salomon
Cc: Mitch Bradley, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
mingo-H+wXaHxf7aLQT0dZR+AlfA, hpa-YMNOUZJC4hwAvxtiuMwx3w,
Ingo Molnar
On Tue, 21 Sep 2010, Andres Salomon wrote:
> On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
> Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
>
> > > Any additional comments (ACKs, NACKs, etc) on the patches? If I
> > > need to rework it (or them), I can certainly make the patch
> > > description longer.
> >
> > Fine with me, but you could make the "mapping" function an inline as
> > well. While at it, some sensible changelog would be helpful :)
> >
> > Thanks,
> >
> > tglx
>
> Hm, inlining it would require some additional x86 #ifdefs in
> include/linux/of_irq.h (where the mapping function is declared). You'd
> prefer that?
Urgh, no.
tglx
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 19:27 ` Grant Likely
0 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-21 19:27 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Andres Salomon, Ingo Molnar, devicetree-discuss, x86, mingo, hpa,
Mitch Bradley, linux-kernel, Stephen Neuendorffer
On Tue, Sep 21, 2010 at 1:27 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Tue, 21 Sep 2010, Andres Salomon wrote:
>> On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
>> Thomas Gleixner <tglx@linutronix.de> wrote:
>>
>> > > Any additional comments (ACKs, NACKs, etc) on the patches? If I
>> > > need to rework it (or them), I can certainly make the patch
>> > > description longer.
>> >
>> > Fine with me, but you could make the "mapping" function an inline as
>> > well. While at it, some sensible changelog would be helpful :)
>> >
>> > Thanks,
>> >
>> > tglx
>>
>> Hm, inlining it would require some additional x86 #ifdefs in
>> include/linux/of_irq.h (where the mapping function is declared). You'd
>> prefer that?
>
> Urgh, no.
In OF code, I *have* been moving to the following pattern when the OF
code has a sane default:
#ifndef <symbol>
static inline <symbol>(...)
{
<default implementation>
}
#define <symbol> <symbol>
#endif
I'd normally be totally okay with this in of_irq.h, except for the
fact that this implementation is a temporary solution. Once I've got
the irq remapping code generalized for all architecture then the map
function could become a static inline in this form.
Fortunately, this code should never be on a hot path.
g.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86
@ 2010-09-21 19:27 ` Grant Likely
0 siblings, 0 replies; 18+ messages in thread
From: Grant Likely @ 2010-09-21 19:27 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Andres Salomon, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
x86-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
Mitch Bradley, mingo-H+wXaHxf7aLQT0dZR+AlfA,
hpa-YMNOUZJC4hwAvxtiuMwx3w, Ingo Molnar
On Tue, Sep 21, 2010 at 1:27 PM, Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
> On Tue, 21 Sep 2010, Andres Salomon wrote:
>> On Tue, 21 Sep 2010 11:45:37 +0200 (CEST)
>> Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
>>
>> > > Any additional comments (ACKs, NACKs, etc) on the patches? If I
>> > > need to rework it (or them), I can certainly make the patch
>> > > description longer.
>> >
>> > Fine with me, but you could make the "mapping" function an inline as
>> > well. While at it, some sensible changelog would be helpful :)
>> >
>> > Thanks,
>> >
>> > tglx
>>
>> Hm, inlining it would require some additional x86 #ifdefs in
>> include/linux/of_irq.h (where the mapping function is declared). You'd
>> prefer that?
>
> Urgh, no.
In OF code, I *have* been moving to the following pattern when the OF
code has a sane default:
#ifndef <symbol>
static inline <symbol>(...)
{
<default implementation>
}
#define <symbol> <symbol>
#endif
I'd normally be totally okay with this in of_irq.h, except for the
fact that this implementation is a temporary solution. Once I've got
the irq remapping code generalized for all architecture then the map
function could become a static inline in this form.
Fortunately, this code should never be on a hot path.
g.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2010-09-21 19:27 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-10 13:01 [PATCH 2/2] x86: of: define irq functions to allow drivers/of/* to build on x86 Andres Salomon
2010-09-10 13:01 ` Andres Salomon
2010-09-10 17:25 ` Grant Likely
2010-09-10 17:25 ` Grant Likely
2010-09-10 18:14 ` Ingo Molnar
2010-09-10 18:21 ` Grant Likely
2010-09-10 18:21 ` Grant Likely
2010-09-21 2:06 ` Andres Salomon
2010-09-21 2:06 ` Andres Salomon
2010-09-21 2:32 ` H. Peter Anvin
2010-09-21 9:45 ` Thomas Gleixner
2010-09-21 16:11 ` Andres Salomon
2010-09-21 16:11 ` Andres Salomon
2010-09-21 16:27 ` Thomas Gleixner
2010-09-21 16:27 ` Thomas Gleixner
2010-09-21 19:27 ` Grant Likely
2010-09-21 19:27 ` Grant Likely
2010-09-21 9:43 ` Thomas Gleixner
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.