[Linux-Xtensa] [PFC PATCH] xtensa: standardize devicetree compatible strings

Max Filippov jcmvbkbc at gmail.com
Sun Dec 1 06:43:27 UTC 2013


Hi Baruch,

On Tue, Nov 19, 2013 at 11:29 PM, Baruch Siach <baruch at tkos.co.il> wrote:
> The recommended compatible string format, according to the ePAPR v1.1 standard,
> is "manufacturer,model". Change the xtensa cpu and pic compatible strings to
> "cdns,xtensa-cpu" and "cdns,xtensa-pic" respectively. Also, change the boards
> compatible strings in a similar way. Accept older non-standard compatible
> strings for now, to not break existing installations.
>
> Signed-off-by: Baruch Siach <baruch at tkos.co.il>

I agree with the changes. irq.c part doesn't apply after the SMP series,
I can take the rest and add a separate patch for irqchips. OK?

> ---
> Should we just remove support for the old compatible strings?

I'm pretty sure there are no DTBs in the field yet, so we can do it unless
anyone objects.

> ---
>  arch/xtensa/boot/dts/lx60.dts        | 2 +-
>  arch/xtensa/boot/dts/ml605.dts       | 2 +-
>  arch/xtensa/boot/dts/xtfpga.dtsi     | 6 +++---
>  arch/xtensa/kernel/irq.c             | 5 ++++-
>  arch/xtensa/platforms/xtfpga/setup.c | 3 +++
>  5 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/arch/xtensa/boot/dts/lx60.dts b/arch/xtensa/boot/dts/lx60.dts
> index 2eab365..a0f8b8a 100644
> --- a/arch/xtensa/boot/dts/lx60.dts
> +++ b/arch/xtensa/boot/dts/lx60.dts
> @@ -3,7 +3,7 @@
>  /include/ "xtfpga-flash-4m.dtsi"
>
>  / {
> -       compatible = "xtensa,lx60";
> +       compatible = "cdns,xtensa-lx60";
>         memory at 0 {
>                 device_type = "memory";
>                 reg = <0x00000000 0x04000000>;
> diff --git a/arch/xtensa/boot/dts/ml605.dts b/arch/xtensa/boot/dts/ml605.dts
> index 6ed51d6..905c3a5 100644
> --- a/arch/xtensa/boot/dts/ml605.dts
> +++ b/arch/xtensa/boot/dts/ml605.dts
> @@ -3,7 +3,7 @@
>  /include/ "xtfpga-flash-16m.dtsi"
>
>  / {
> -       compatible = "xtensa,ml605";
> +       compatible = "cdns,xtensa-ml605";
>         memory at 0 {
>                 device_type = "memory";
>                 reg = <0x00000000 0x08000000>;
> diff --git a/arch/xtensa/boot/dts/xtfpga.dtsi b/arch/xtensa/boot/dts/xtfpga.dtsi
> index 7eda6ec..46b4f5e 100644
> --- a/arch/xtensa/boot/dts/xtfpga.dtsi
> +++ b/arch/xtensa/boot/dts/xtfpga.dtsi
> @@ -1,5 +1,5 @@
>  / {
> -       compatible = "xtensa,xtfpga";
> +       compatible = "cdns,xtensa-xtfpga";
>         #address-cells = <1>;
>         #size-cells = <1>;
>         interrupt-parent = <&pic>;
> @@ -17,7 +17,7 @@
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 cpu at 0 {
> -                       compatible = "xtensa,cpu";
> +                       compatible = "cdns,xtensa-cpu";
>                         reg = <0>;
>                         /* Filled in by platform_setup from FPGA register
>                          * clock-frequency = <100000000>;
> @@ -26,7 +26,7 @@
>         };
>
>         pic: pic {
> -               compatible = "xtensa,pic";
> +               compatible = "cdns,xtensa-pic";
>                 /* one cell: internal irq number,
>                  * two cells: second cell == 0: internal irq number
>                  *            second cell == 1: external irq number
> diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c
> index 6f4f974..7b64a9d 100644
> --- a/arch/xtensa/kernel/irq.c
> +++ b/arch/xtensa/kernel/irq.c
> @@ -202,7 +202,10 @@ void __init init_IRQ(void)
>
>  #ifdef CONFIG_OF
>         /* The interrupt controller device node is mandatory */
> -       intc = of_find_compatible_node(NULL, NULL, "xtensa,pic");
> +       intc = of_find_compatible_node(NULL, NULL, "cdns,xtensa-pic");
> +       /* Try the deprecated compatible string */
> +       if (!intc)
> +               intc = of_find_compatible_node(NULL, NULL, "xtensa,pic");
>         BUG_ON(!intc);
>
>         root_domain = irq_domain_add_linear(intc, NR_IRQS,
> diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c
> index 74bb74f..288af60 100644
> --- a/arch/xtensa/platforms/xtfpga/setup.c
> +++ b/arch/xtensa/platforms/xtfpga/setup.c
> @@ -168,6 +168,9 @@ void __init platform_calibrate_ccount(void)
>         long clk_freq = 0;
>  #ifdef CONFIG_OF
>         struct device_node *cpu =
> +               of_find_compatible_node(NULL, NULL, "cdns,xtensa-cpu");
> +       /* Try the deprecated compatible string */
> +       if (!cpu)
>                 of_find_compatible_node(NULL, NULL, "xtensa,cpu");
>         if (cpu) {
>                 u32 freq;
> --
> 1.8.4.2
>



-- 
Thanks.
-- Max


More information about the linux-xtensa mailing list