linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add generic GIC compat strings
@ 2014-05-21  9:28 Nikolay Borisov
  2014-05-21  9:28 ` [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 " Nikolay Borisov
  2014-05-21  9:28 ` [PATCH 2/2] documentation/devicetree: Update GIC " Nikolay Borisov
  0 siblings, 2 replies; 6+ messages in thread
From: Nikolay Borisov @ 2014-05-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Currently the GIC (in drivers/irqchip/irq-gic.c) is referred to with
implementation-specific strings (e.g. "arm.cortex-a9-gic"), which is a
little unwieldy due to the number of different CPUs we now have with GIC
support.

These 2 patches add the generic arm,gic-v[1,2] compat strings and also change
the respective documentation.

Nikolay Borisov (2):
  irqchip: Add generic gic-v1/gic-v2 compat strings.
  documentation/devicetree: Update GIC compat strings

 Documentation/devicetree/bindings/arm/gic.txt | 2 ++
 drivers/irqchip/irq-gic.c                     | 2 ++
 2 files changed, 4 insertions(+)

-- 
1.8.1.5

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 compat strings.
  2014-05-21  9:28 [PATCH 0/2] Add generic GIC compat strings Nikolay Borisov
@ 2014-05-21  9:28 ` Nikolay Borisov
  2014-05-21 10:27   ` Mark Rutland
  2014-05-21  9:28 ` [PATCH 2/2] documentation/devicetree: Update GIC " Nikolay Borisov
  1 sibling, 1 reply; 6+ messages in thread
From: Nikolay Borisov @ 2014-05-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

The current set of GIC compatible strings only contains specific
implementations (e.g. arm,cortex-a9-gic) rather than revisions of the
standard (e.g. arm,gic-v2), so each new implementation must either claim
to be an extension of an existing implementation or have a new string
added to the driver. This may be problematic when workarounds are
required for bugs in particular implementations, as said workaround may
end up targeting a wider set of implementations than intended.

To prevent these issues, this patch adds compatible strings for the
revisions of the GIC spec which all GIC implementations should be able
to claim conformance to in addition to any particular implementation
specific string, e.g.

compatible = "$VENDOR,specific-gic-variant", "arm,gic-v2";

Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
---
 drivers/irqchip/irq-gic.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index 57d165e..89e9b05 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -1073,6 +1073,8 @@ gic_of_init(struct device_node *node, struct device_node *parent)
 }
 IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init);
 IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init);
+IRQCHIP_DECLARE(gic_v1, "arm,gic-v1", gic_of_init);
+IRQCHIP_DECLARE(gic_v2, "arm,gic-v2", gic_of_init);
 IRQCHIP_DECLARE(msm_8660_qgic, "qcom,msm-8660-qgic", gic_of_init);
 IRQCHIP_DECLARE(msm_qgic2, "qcom,msm-qgic2", gic_of_init);
 
-- 
1.8.1.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] documentation/devicetree: Update GIC compat strings
  2014-05-21  9:28 [PATCH 0/2] Add generic GIC compat strings Nikolay Borisov
  2014-05-21  9:28 ` [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 " Nikolay Borisov
@ 2014-05-21  9:28 ` Nikolay Borisov
  2014-05-21 10:24   ` Mark Rutland
  1 sibling, 1 reply; 6+ messages in thread
From: Nikolay Borisov @ 2014-05-21  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

Document the addition of 2 new, implementation-agnostic compatible
strings. This allows for more flexibility such that new implementation 
can either state whether they are an extension of an existing implementation,
a brand new implementation or just that they conform to a standard revision
of the GIC spec.

Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
---
 Documentation/devicetree/bindings/arm/gic.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
index 5573c08..223b4cc 100644
--- a/Documentation/devicetree/bindings/arm/gic.txt
+++ b/Documentation/devicetree/bindings/arm/gic.txt
@@ -12,6 +12,8 @@ Main node required properties:
 
 - compatible : should be one of:
 	"arm,gic-400"
+	"arm,gic-v1"
+	"arm,gic-v2"
 	"arm,cortex-a15-gic"
 	"arm,cortex-a9-gic"
 	"arm,cortex-a7-gic"
-- 
1.8.1.5

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] documentation/devicetree: Update GIC compat strings
  2014-05-21  9:28 ` [PATCH 2/2] documentation/devicetree: Update GIC " Nikolay Borisov
@ 2014-05-21 10:24   ` Mark Rutland
  2014-05-21 13:01     ` Jason Cooper
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Rutland @ 2014-05-21 10:24 UTC (permalink / raw)
  To: linux-arm-kernel

[Adding devicetree at vger.kernel.org]

On Wed, May 21, 2014 at 10:28:21AM +0100, Nikolay Borisov wrote:
> Document the addition of 2 new, implementation-agnostic compatible
> strings. This allows for more flexibility such that new implementation 
> can either state whether they are an extension of an existing implementation,
> a brand new implementation or just that they conform to a standard revision
> of the GIC spec.

>From my POV it makes sense to have these to make it possible to write
DTs with new GIC variants which are implementations of the standard
rather than extensions of existing implementations.

However, DTs using these should also state exactly what variant they
are, and those strings should be documented (even if not supported
directly by the driver). It would be nice to have that mentioned in the
commit message.

Otherwise:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Cheers,
Mark.

> 
> Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
> ---
>  Documentation/devicetree/bindings/arm/gic.txt | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
> index 5573c08..223b4cc 100644
> --- a/Documentation/devicetree/bindings/arm/gic.txt
> +++ b/Documentation/devicetree/bindings/arm/gic.txt
> @@ -12,6 +12,8 @@ Main node required properties:
>  
>  - compatible : should be one of:
>  	"arm,gic-400"
> +	"arm,gic-v1"
> +	"arm,gic-v2"
>  	"arm,cortex-a15-gic"
>  	"arm,cortex-a9-gic"
>  	"arm,cortex-a7-gic"
> -- 
> 1.8.1.5
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 compat strings.
  2014-05-21  9:28 ` [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 " Nikolay Borisov
@ 2014-05-21 10:27   ` Mark Rutland
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Rutland @ 2014-05-21 10:27 UTC (permalink / raw)
  To: linux-arm-kernel

[adding devicetree at vger.kernel.org]

On Wed, May 21, 2014 at 10:28:20AM +0100, Nikolay Borisov wrote:
> The current set of GIC compatible strings only contains specific
> implementations (e.g. arm,cortex-a9-gic) rather than revisions of the
> standard (e.g. arm,gic-v2), so each new implementation must either claim
> to be an extension of an existing implementation or have a new string
> added to the driver. This may be problematic when workarounds are
> required for bugs in particular implementations, as said workaround may
> end up targeting a wider set of implementations than intended.
> 
> To prevent these issues, this patch adds compatible strings for the
> revisions of the GIC spec which all GIC implementations should be able
> to claim conformance to in addition to any particular implementation
> specific string, e.g.
> 
> compatible = "$VENDOR,specific-gic-variant", "arm,gic-v2";

This makes sense to me, so:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Cheers,
Mark.

> 
> Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
> ---
>  drivers/irqchip/irq-gic.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index 57d165e..89e9b05 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -1073,6 +1073,8 @@ gic_of_init(struct device_node *node, struct device_node *parent)
>  }
>  IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init);
>  IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init);
> +IRQCHIP_DECLARE(gic_v1, "arm,gic-v1", gic_of_init);
> +IRQCHIP_DECLARE(gic_v2, "arm,gic-v2", gic_of_init);
>  IRQCHIP_DECLARE(msm_8660_qgic, "qcom,msm-8660-qgic", gic_of_init);
>  IRQCHIP_DECLARE(msm_qgic2, "qcom,msm-qgic2", gic_of_init);
>  
> -- 
> 1.8.1.5
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/2] documentation/devicetree: Update GIC compat strings
  2014-05-21 10:24   ` Mark Rutland
@ 2014-05-21 13:01     ` Jason Cooper
  0 siblings, 0 replies; 6+ messages in thread
From: Jason Cooper @ 2014-05-21 13:01 UTC (permalink / raw)
  To: linux-arm-kernel

Nikolay,

On Wed, May 21, 2014 at 11:24:39AM +0100, Mark Rutland wrote:
> [Adding devicetree at vger.kernel.org]
> 
> On Wed, May 21, 2014 at 10:28:21AM +0100, Nikolay Borisov wrote:
> > Document the addition of 2 new, implementation-agnostic compatible
> > strings. This allows for more flexibility such that new implementation 
> > can either state whether they are an extension of an existing implementation,
> > a brand new implementation or just that they conform to a standard revision
> > of the GIC spec.
> 
> From my POV it makes sense to have these to make it possible to write
> DTs with new GIC variants which are implementations of the standard
> rather than extensions of existing implementations.
> 
> However, DTs using these should also state exactly what variant they
> are, and those strings should be documented (even if not supported
> directly by the driver). It would be nice to have that mentioned in the
> commit message.

Please tweak the commit message as Mark suggested and resend, including
me in the Cc.  I'll queue it up for tglx.

> Otherwise:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 

Also, please include Mark's Acks.

thx,

Jason.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-05-21 13:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-21  9:28 [PATCH 0/2] Add generic GIC compat strings Nikolay Borisov
2014-05-21  9:28 ` [PATCH 1/2] irqchip: Add generic gic-v1/gic-v2 " Nikolay Borisov
2014-05-21 10:27   ` Mark Rutland
2014-05-21  9:28 ` [PATCH 2/2] documentation/devicetree: Update GIC " Nikolay Borisov
2014-05-21 10:24   ` Mark Rutland
2014-05-21 13:01     ` Jason Cooper

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).