[v3,0/8] powerpc/85xx: p2020: Create one unified machine description

Message ID 20230218111405.27688-1-pali@kernel.org
Headers
Series powerpc/85xx: p2020: Create one unified machine description |

Message

Pali Rohár Feb. 18, 2023, 11:13 a.m. UTC
  This patch series unifies all P2020 boards and machine descriptions into
one generic unified P2020 machine description. With this generic machine
description, kernel can boot on any P2020-based board with correct DTS
file.

Tested on CZ.NIC Turris 1.1 board with has Freescale P2020 processor.
Kernel during booting correctly detects P2020 and prints:
[    0.000000] Using Freescale P2020 machine description

Changes in v3:
* Use 'if (IS_ENABLED(CONFIG_PPC_I8259))' instead of '#ifdef CONFIG_PPC_I8259'
* Simplify p2020_probe()
* Patches generated by -M and -C git options

Link to v2: https://lore.kernel.org/linuxppc-dev/20221224211425.14983-1-pali@kernel.org/

Changes in v2:
* Added patch "p2020: Move i8259 code into own function" (separated from the next one)
* Renamed CONFIG_P2020 to CONFIG_PPC_P2020
* Fixed descriptions

Link to v1: https://lore.kernel.org/linuxppc-dev/20220819191557.28116-1-pali@kernel.org/

Pali Rohár (8):
  powerpc/85xx: Mark mpc85xx_rdb_pic_init() as static
  powerpc/85xx: Mark mpc85xx_ds_pic_init() as static
  powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
  powerpc/85xx: p2020: Move i8259 code into own function
  powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks
  powerpc/85xx: p2020: Define just one machine description
  powerpc/85xx: p2020: Enable boards by new config option
    CONFIG_PPC_P2020
  powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string

 arch/powerpc/boot/dts/turris1x.dts            |   2 +-
 arch/powerpc/platforms/85xx/Kconfig           |  22 ++-
 arch/powerpc/platforms/85xx/Makefile          |   1 +
 arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  25 +---
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  46 +-----
 .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 135 ++++++------------
 6 files changed, 68 insertions(+), 163 deletions(-)
 copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (52%)
  

Comments

Pali Rohár Feb. 21, 2023, 10:07 p.m. UTC | #1
Hello Christophe! Could you look at this v3 series?
I addressed those small issues and hopefully it should be ready.
It would be great to have this finally in v6.3 release.

On Saturday 18 February 2023 12:13:57 Pali Rohár wrote:
> This patch series unifies all P2020 boards and machine descriptions into
> one generic unified P2020 machine description. With this generic machine
> description, kernel can boot on any P2020-based board with correct DTS
> file.
> 
> Tested on CZ.NIC Turris 1.1 board with has Freescale P2020 processor.
> Kernel during booting correctly detects P2020 and prints:
> [    0.000000] Using Freescale P2020 machine description
> 
> Changes in v3:
> * Use 'if (IS_ENABLED(CONFIG_PPC_I8259))' instead of '#ifdef CONFIG_PPC_I8259'
> * Simplify p2020_probe()
> * Patches generated by -M and -C git options
> 
> Link to v2: https://lore.kernel.org/linuxppc-dev/20221224211425.14983-1-pali@kernel.org/
> 
> Changes in v2:
> * Added patch "p2020: Move i8259 code into own function" (separated from the next one)
> * Renamed CONFIG_P2020 to CONFIG_PPC_P2020
> * Fixed descriptions
> 
> Link to v1: https://lore.kernel.org/linuxppc-dev/20220819191557.28116-1-pali@kernel.org/
> 
> Pali Rohár (8):
>   powerpc/85xx: Mark mpc85xx_rdb_pic_init() as static
>   powerpc/85xx: Mark mpc85xx_ds_pic_init() as static
>   powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
>   powerpc/85xx: p2020: Move i8259 code into own function
>   powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks
>   powerpc/85xx: p2020: Define just one machine description
>   powerpc/85xx: p2020: Enable boards by new config option
>     CONFIG_PPC_P2020
>   powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
> 
>  arch/powerpc/boot/dts/turris1x.dts            |   2 +-
>  arch/powerpc/platforms/85xx/Kconfig           |  22 ++-
>  arch/powerpc/platforms/85xx/Makefile          |   1 +
>  arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  25 +---
>  arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  46 +-----
>  .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 135 ++++++------------
>  6 files changed, 68 insertions(+), 163 deletions(-)
>  copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (52%)
> 
> -- 
> 2.20.1
>
  
Christophe Leroy Feb. 22, 2023, 6:39 a.m. UTC | #2
Hi,

Le 21/02/2023 à 23:07, Pali Rohár a écrit :
> Hello Christophe! Could you look at this v3 series?
> I addressed those small issues and hopefully it should be ready.
> It would be great to have this finally in v6.3 release.

I started looking at your series and I will try to provide a feedback 
within a few days.

By the way I see that Paul Gortmaker has started removal of several 85xx 
boards. Should we first take Paul's removal series then see what remains 
before applying yours ? That would make your series even more efficient.

Christoph

> 
> On Saturday 18 February 2023 12:13:57 Pali Rohár wrote:
>> This patch series unifies all P2020 boards and machine descriptions into
>> one generic unified P2020 machine description. With this generic machine
>> description, kernel can boot on any P2020-based board with correct DTS
>> file.
>>
>> Tested on CZ.NIC Turris 1.1 board with has Freescale P2020 processor.
>> Kernel during booting correctly detects P2020 and prints:
>> [    0.000000] Using Freescale P2020 machine description
>>
>> Changes in v3:
>> * Use 'if (IS_ENABLED(CONFIG_PPC_I8259))' instead of '#ifdef CONFIG_PPC_I8259'
>> * Simplify p2020_probe()
>> * Patches generated by -M and -C git options
>>
>> Link to v2: https://lore.kernel.org/linuxppc-dev/20221224211425.14983-1-pali@kernel.org/
>>
>> Changes in v2:
>> * Added patch "p2020: Move i8259 code into own function" (separated from the next one)
>> * Renamed CONFIG_P2020 to CONFIG_PPC_P2020
>> * Fixed descriptions
>>
>> Link to v1: https://lore.kernel.org/linuxppc-dev/20220819191557.28116-1-pali@kernel.org/
>>
>> Pali Rohár (8):
>>    powerpc/85xx: Mark mpc85xx_rdb_pic_init() as static
>>    powerpc/85xx: Mark mpc85xx_ds_pic_init() as static
>>    powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
>>    powerpc/85xx: p2020: Move i8259 code into own function
>>    powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks
>>    powerpc/85xx: p2020: Define just one machine description
>>    powerpc/85xx: p2020: Enable boards by new config option
>>      CONFIG_PPC_P2020
>>    powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
>>
>>   arch/powerpc/boot/dts/turris1x.dts            |   2 +-
>>   arch/powerpc/platforms/85xx/Kconfig           |  22 ++-
>>   arch/powerpc/platforms/85xx/Makefile          |   1 +
>>   arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  25 +---
>>   arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  46 +-----
>>   .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 135 ++++++------------
>>   6 files changed, 68 insertions(+), 163 deletions(-)
>>   copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (52%)
>>
>> -- 
>> 2.20.1
>>
  
Pali Rohár Feb. 22, 2023, 7:52 a.m. UTC | #3
On Wednesday 22 February 2023 06:39:07 Christophe Leroy wrote:
> Hi,
> 
> Le 21/02/2023 à 23:07, Pali Rohár a écrit :
> > Hello Christophe! Could you look at this v3 series?
> > I addressed those small issues and hopefully it should be ready.
> > It would be great to have this finally in v6.3 release.
> 
> I started looking at your series and I will try to provide a feedback 
> within a few days.
> 
> By the way I see that Paul Gortmaker has started removal of several 85xx 
> boards. Should we first take Paul's removal series then see what remains 
> before applying yours ? That would make your series even more efficient.

I have already replied to Paul patch series. The important thing is that
we are touching different files, so patch series should be independent.

> Christoph
> 
> > 
> > On Saturday 18 February 2023 12:13:57 Pali Rohár wrote:
> >> This patch series unifies all P2020 boards and machine descriptions into
> >> one generic unified P2020 machine description. With this generic machine
> >> description, kernel can boot on any P2020-based board with correct DTS
> >> file.
> >>
> >> Tested on CZ.NIC Turris 1.1 board with has Freescale P2020 processor.
> >> Kernel during booting correctly detects P2020 and prints:
> >> [    0.000000] Using Freescale P2020 machine description
> >>
> >> Changes in v3:
> >> * Use 'if (IS_ENABLED(CONFIG_PPC_I8259))' instead of '#ifdef CONFIG_PPC_I8259'
> >> * Simplify p2020_probe()
> >> * Patches generated by -M and -C git options
> >>
> >> Link to v2: https://lore.kernel.org/linuxppc-dev/20221224211425.14983-1-pali@kernel.org/
> >>
> >> Changes in v2:
> >> * Added patch "p2020: Move i8259 code into own function" (separated from the next one)
> >> * Renamed CONFIG_P2020 to CONFIG_PPC_P2020
> >> * Fixed descriptions
> >>
> >> Link to v1: https://lore.kernel.org/linuxppc-dev/20220819191557.28116-1-pali@kernel.org/
> >>
> >> Pali Rohár (8):
> >>    powerpc/85xx: Mark mpc85xx_rdb_pic_init() as static
> >>    powerpc/85xx: Mark mpc85xx_ds_pic_init() as static
> >>    powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
> >>    powerpc/85xx: p2020: Move i8259 code into own function
> >>    powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks
> >>    powerpc/85xx: p2020: Define just one machine description
> >>    powerpc/85xx: p2020: Enable boards by new config option
> >>      CONFIG_PPC_P2020
> >>    powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
> >>
> >>   arch/powerpc/boot/dts/turris1x.dts            |   2 +-
> >>   arch/powerpc/platforms/85xx/Kconfig           |  22 ++-
> >>   arch/powerpc/platforms/85xx/Makefile          |   1 +
> >>   arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  25 +---
> >>   arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  46 +-----
> >>   .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 135 ++++++------------
> >>   6 files changed, 68 insertions(+), 163 deletions(-)
> >>   copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (52%)
> >>
> >> -- 
> >> 2.20.1
> >>
  
Christophe Leroy Feb. 22, 2023, 2:41 p.m. UTC | #4
Le 22/02/2023 à 08:52, Pali Rohár a écrit :
> On Wednesday 22 February 2023 06:39:07 Christophe Leroy wrote:
>> Hi,
>>
>> Le 21/02/2023 à 23:07, Pali Rohár a écrit :
>>> Hello Christophe! Could you look at this v3 series?
>>> I addressed those small issues and hopefully it should be ready.
>>> It would be great to have this finally in v6.3 release.
>>
>> I started looking at your series and I will try to provide a feedback
>> within a few days.
>>
>> By the way I see that Paul Gortmaker has started removal of several 85xx
>> boards. Should we first take Paul's removal series then see what remains
>> before applying yours ? That would make your series even more efficient.
> 
> I have already replied to Paul patch series. The important thing is that
> we are touching different files, so patch series should be independent.

Ok.

Because exemples are always better than long writings, I have prepared a 
v4 of your series and will send it out shortly.

If that approach is ok for you, feel free to restart from there.

Christophe

> 
>> Christoph
>>
>>>
>>> On Saturday 18 February 2023 12:13:57 Pali Rohár wrote:
>>>> This patch series unifies all P2020 boards and machine descriptions into
>>>> one generic unified P2020 machine description. With this generic machine
>>>> description, kernel can boot on any P2020-based board with correct DTS
>>>> file.
>>>>
>>>> Tested on CZ.NIC Turris 1.1 board with has Freescale P2020 processor.
>>>> Kernel during booting correctly detects P2020 and prints:
>>>> [    0.000000] Using Freescale P2020 machine description
>>>>
>>>> Changes in v3:
>>>> * Use 'if (IS_ENABLED(CONFIG_PPC_I8259))' instead of '#ifdef CONFIG_PPC_I8259'
>>>> * Simplify p2020_probe()
>>>> * Patches generated by -M and -C git options
>>>>
>>>> Link to v2: https://lore.kernel.org/linuxppc-dev/20221224211425.14983-1-pali@kernel.org/
>>>>
>>>> Changes in v2:
>>>> * Added patch "p2020: Move i8259 code into own function" (separated from the next one)
>>>> * Renamed CONFIG_P2020 to CONFIG_PPC_P2020
>>>> * Fixed descriptions
>>>>
>>>> Link to v1: https://lore.kernel.org/linuxppc-dev/20220819191557.28116-1-pali@kernel.org/
>>>>
>>>> Pali Rohár (8):
>>>>     powerpc/85xx: Mark mpc85xx_rdb_pic_init() as static
>>>>     powerpc/85xx: Mark mpc85xx_ds_pic_init() as static
>>>>     powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
>>>>     powerpc/85xx: p2020: Move i8259 code into own function
>>>>     powerpc/85xx: p2020: Unify .setup_arch and .init_IRQ callbacks
>>>>     powerpc/85xx: p2020: Define just one machine description
>>>>     powerpc/85xx: p2020: Enable boards by new config option
>>>>       CONFIG_PPC_P2020
>>>>     powerpc: dts: turris1x.dts: Remove "fsl,P2020RDB-PC" compatible string
>>>>
>>>>    arch/powerpc/boot/dts/turris1x.dts            |   2 +-
>>>>    arch/powerpc/platforms/85xx/Kconfig           |  22 ++-
>>>>    arch/powerpc/platforms/85xx/Makefile          |   1 +
>>>>    arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  25 +---
>>>>    arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  46 +-----
>>>>    .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 135 ++++++------------
>>>>    6 files changed, 68 insertions(+), 163 deletions(-)
>>>>    copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (52%)
>>>>
>>>> -- 
>>>> 2.20.1
>>>>