Le 26/09/2022 à 12:26, Pali Rohár a écrit :
> On Monday 26 September 2022 10:17:26 Christophe Leroy wrote:
>> Le 26/09/2022 à 11:53, Pali Rohár a écrit :
>>> On Monday 26 September 2022 09:48:02 Christophe Leroy wrote:
>>>> Le 19/08/2022 à 21:15, Pali Rohár a écrit :
>>>>> This moves machine descriptions and all related code for all P2020 boards
>>>>> into new p2020.c source file. This is preparation for code deduplication
>>>>> and providing one unified machine description for all P2020 boards.
>>>>
>>>> I'm having hard time to review this patch.
>>>>
>>>> It looks like you are doing much more than just moving machine
>>>> descriptions and related code into p2020.c
>>>>
>>>> Apparently p2020.c has a lot of code that doesn't seem be move from
>>>> somewhere else.
>>>>
>>>> Maybe there is a need to tidy up in order to ease reviewing.
>>>
>>> This is probably harder to read due to how git format-patch generated
>>> this email. The important is:
>>>
>>>    copy from arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>    copy to arch/powerpc/platforms/85xx/p2020.c
>>>
>>> Which means that git thinks that my newly introduced file p2020.c is
>>> similar to old file mpc85xx_ds.c and generated diff in format which do:
>>>
>>>    1. copy mpc85xx_ds.c to p2020.c
>>>    2. apply diff on newly introduced file p2020.c
>>>
>>> Code is really moved from mpc85xx_ds.c and mpc85xx_rdb.c files into file
>>> p2020.c.
>>>
>>> File p2020.c is new in this patch.
>>
>> Well, I didn't really look in how the patch was generated, I imported
>> your series and mainly reviewed it in git directly.
>>
>> For this patch I have the following diff stat:
>>
>> $ git show --stat e2d8c39e2e32855658d1c5f042a7ce88952f488a
>> commit e2d8c39e2e32855658d1c5f042a7ce88952f488a
>> Author: Pali Rohár <p...@kernel.org>
>> Date:   Fri Aug 19 21:15:53 2022 +0200
>>
>>       powerpc/85xx: p2020: Move all P2020 machine descriptions to p2020.c
>>
>>       This moves machine descriptions and all related code for all P2020
>> boards
>>       into new p2020.c source file. This is preparation for code
>> deduplication
>>       and providing one unified machine description for all P2020 boards.
>>
>>       Signed-off-by: Pali Rohár <p...@kernel.org>
>>
>>    arch/powerpc/platforms/85xx/Makefile      |   2 ++
>>    arch/powerpc/platforms/85xx/mpc85xx_ds.c  |  23 --------------
>>    arch/powerpc/platforms/85xx/mpc85xx_rdb.c |  44 --------------------------
>>    arch/powerpc/platforms/85xx/p2020.c       | 273
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>    4 files changed, 275 insertions(+), 67 deletions(-)
>>
>>
>> So there is a lot more code added than deleted.
>>
>> If it was really a code move as described in the commit message, I would
>> have approximately the same number of inserts as number of deletions.
> 
> I see... The reason is that helper ds/rdb functions are copies (not
> moved) because they are needed still in ds/rdb boards. And in later
> patches in this patch series are then p2020 helper function cleaned and
> simplified.
> 
> So as I see basically this change moves p2020 machine descriptions from
> ds/rdb files into p2020.c, plus copy helper functions.
> 

If that's the case, that's fine. Please describe it like that in the 
commit message.

> Not sure what should be the best case how to do it. I did not wanted to
> introduce regression in the code, so I rather did not touched non-p2020
> code in ds/rdb files.
> 
>>
>>>
>>>>>
>>>>> Signed-off-by: Pali Rohár <p...@kernel.org>
>>>>> ---
>>>>>     arch/powerpc/platforms/85xx/Makefile          |   2 +
>>>>>     arch/powerpc/platforms/85xx/mpc85xx_ds.c      |  23 ---
>>>>>     arch/powerpc/platforms/85xx/mpc85xx_rdb.c     |  44 ------
>>>>>     .../platforms/85xx/{mpc85xx_ds.c => p2020.c}  | 134 ++++++++++++------
>>>>>     4 files changed, 91 insertions(+), 112 deletions(-)
>>>>>     copy arch/powerpc/platforms/85xx/{mpc85xx_ds.c => p2020.c} (65%)
>>>>>
>>>>> diff --git a/arch/powerpc/platforms/85xx/Makefile 
>>>>> b/arch/powerpc/platforms/85xx/Makefile
>>>>> index 260fbad7967b..1ad261b4eeb6 100644
>>>>> --- a/arch/powerpc/platforms/85xx/Makefile
>>>>> +++ b/arch/powerpc/platforms/85xx/Makefile
>>>>> @@ -23,6 +23,8 @@ obj-$(CONFIG_P1010_RDB)   += p1010rdb.o
>>>>>     obj-$(CONFIG_P1022_DS)    += p1022_ds.o
>>>>>     obj-$(CONFIG_P1022_RDK)   += p1022_rdk.o
>>>>>     obj-$(CONFIG_P1023_RDB)   += p1023_rdb.o
>>>>> +obj-$(CONFIG_MPC85xx_DS)  += p2020.o
>>>>> +obj-$(CONFIG_MPC85xx_RDB) += p2020.o
>>>>>     obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
>>>>>     obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
>>>>>     obj-$(CONFIG_FB_FSL_DIU)      += t1042rdb_diu.o
>>>>> diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c 
>>>>> b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>>> index 9a6d637ef54a..05aac997b5ed 100644
>>>>> --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>>> +++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>>> @@ -168,7 +168,6 @@ static int __init mpc8544_ds_probe(void)
>>>>>     
>>>>>     machine_arch_initcall(mpc8544_ds, mpc85xx_common_publish_devices);
>>>>>     machine_arch_initcall(mpc8572_ds, mpc85xx_common_publish_devices);
>>>>> -machine_arch_initcall(p2020_ds, mpc85xx_common_publish_devices);
>>>>>     
>>>>>     /*
>>>>>      * Called very early, device-tree isn't unflattened
>>>>> @@ -178,14 +177,6 @@ static int __init mpc8572_ds_probe(void)
>>>>>           return !!of_machine_is_compatible("fsl,MPC8572DS");
>>>>>     }
>>>>>     
>>>>> -/*
>>>>> - * Called very early, device-tree isn't unflattened
>>>>> - */
>>>>> -static int __init p2020_ds_probe(void)
>>>>> -{
>>>>> - return !!of_machine_is_compatible("fsl,P2020DS");
>>>>> -}
>>>>> -
>>>>>     define_machine(mpc8544_ds) {
>>>>>           .name                   = "MPC8544 DS",
>>>>>           .probe                  = mpc8544_ds_probe,
>>>>> @@ -213,17 +204,3 @@ define_machine(mpc8572_ds) {
>>>>>           .calibrate_decr         = generic_calibrate_decr,
>>>>>           .progress               = udbg_progress,
>>>>>     };
>>>>> -
>>>>> -define_machine(p2020_ds) {
>>>>> - .name                   = "P2020 DS",
>>>>> - .probe                  = p2020_ds_probe,
>>>>> - .setup_arch             = mpc85xx_ds_setup_arch,
>>>>> - .init_IRQ               = mpc85xx_ds_pic_init,
>>>>> -#ifdef CONFIG_PCI
>>>>> - .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
>>>>> - .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
>>>>> -#endif
>>>>> - .get_irq                = mpic_get_irq,
>>>>> - .calibrate_decr         = generic_calibrate_decr,
>>>>> - .progress               = udbg_progress,
>>>>> -};
>>>>> diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c 
>>>>> b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
>>>>> index b6129c148fea..05f1ed635735 100644
>>>>> --- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
>>>>> +++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
>>>>> @@ -108,8 +108,6 @@ static void __init mpc85xx_rdb_setup_arch(void)
>>>>>           printk(KERN_INFO "MPC85xx RDB board from Freescale 
>>>>> Semiconductor\n");
>>>>>     }
>>>>>     
>>>>> -machine_arch_initcall(p2020_rdb, mpc85xx_common_publish_devices);
>>>>> -machine_arch_initcall(p2020_rdb_pc, mpc85xx_common_publish_devices);
>>>>>     machine_arch_initcall(p1020_mbg_pc, mpc85xx_common_publish_devices);
>>>>>     machine_arch_initcall(p1020_rdb, mpc85xx_common_publish_devices);
>>>>>     machine_arch_initcall(p1020_rdb_pc, mpc85xx_common_publish_devices);
>>>>> @@ -122,13 +120,6 @@ machine_arch_initcall(p1024_rdb, 
>>>>> mpc85xx_common_publish_devices);
>>>>>     /*
>>>>>      * Called very early, device-tree isn't unflattened
>>>>>      */
>>>>> -static int __init p2020_rdb_probe(void)
>>>>> -{
>>>>> - if (of_machine_is_compatible("fsl,P2020RDB"))
>>>>> -         return 1;
>>>>> - return 0;
>>>>> -}
>>>>> -
>>>>>     static int __init p1020_rdb_probe(void)
>>>>>     {
>>>>>           if (of_machine_is_compatible("fsl,P1020RDB"))
>>>>> @@ -153,13 +144,6 @@ static int __init p1021_rdb_pc_probe(void)
>>>>>           return 0;
>>>>>     }
>>>>>     
>>>>> -static int __init p2020_rdb_pc_probe(void)
>>>>> -{
>>>>> - if (of_machine_is_compatible("fsl,P2020RDB-PC"))
>>>>> -         return 1;
>>>>> - return 0;
>>>>> -}
>>>>> -
>>>>>     static int __init p1025_rdb_probe(void)
>>>>>     {
>>>>>           return of_machine_is_compatible("fsl,P1025RDB");
>>>>> @@ -180,20 +164,6 @@ static int __init p1024_rdb_probe(void)
>>>>>           return of_machine_is_compatible("fsl,P1024RDB");
>>>>>     }
>>>>>     
>>>>> -define_machine(p2020_rdb) {
>>>>> - .name                   = "P2020 RDB",
>>>>> - .probe                  = p2020_rdb_probe,
>>>>> - .setup_arch             = mpc85xx_rdb_setup_arch,
>>>>> - .init_IRQ               = mpc85xx_rdb_pic_init,
>>>>> -#ifdef CONFIG_PCI
>>>>> - .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
>>>>> - .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
>>>>> -#endif
>>>>> - .get_irq                = mpic_get_irq,
>>>>> - .calibrate_decr         = generic_calibrate_decr,
>>>>> - .progress               = udbg_progress,
>>>>> -};
>>>>> -
>>>>>     define_machine(p1020_rdb) {
>>>>>           .name                   = "P1020 RDB",
>>>>>           .probe                  = p1020_rdb_probe,
>>>>> @@ -222,20 +192,6 @@ define_machine(p1021_rdb_pc) {
>>>>>           .progress               = udbg_progress,
>>>>>     };
>>>>>     
>>>>> -define_machine(p2020_rdb_pc) {
>>>>> - .name                   = "P2020RDB-PC",
>>>>> - .probe                  = p2020_rdb_pc_probe,
>>>>> - .setup_arch             = mpc85xx_rdb_setup_arch,
>>>>> - .init_IRQ               = mpc85xx_rdb_pic_init,
>>>>> -#ifdef CONFIG_PCI
>>>>> - .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
>>>>> - .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
>>>>> -#endif
>>>>> - .get_irq                = mpic_get_irq,
>>>>> - .calibrate_decr         = generic_calibrate_decr,
>>>>> - .progress               = udbg_progress,
>>>>> -};
>>>>> -
>>>>>     define_machine(p1025_rdb) {
>>>>>           .name                   = "P1025 RDB",
>>>>>           .probe                  = p1025_rdb_probe,
>>>>> diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c 
>>>>> b/arch/powerpc/platforms/85xx/p2020.c
>>>>> similarity index 65%
>>>>> copy from arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>>> copy to arch/powerpc/platforms/85xx/p2020.c
>>>>> index 9a6d637ef54a..d65d4c88ac47 100644
>>>>> --- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
>>>>> +++ b/arch/powerpc/platforms/85xx/p2020.c
>>>>> @@ -1,11 +1,9 @@
>>>>>     // SPDX-License-Identifier: GPL-2.0-or-later
>>>>>     /*
>>>>> - * MPC85xx DS Board Setup
>>>>> + * Freescale P2020 board Setup
>>>>>      *
>>>>> - * Author Xianghua Xiao (x.x...@freescale.com)
>>>>> - * Roy Zang <tie-fei.z...@freescale.com>
>>>>> - *       - Add PCI/PCI Exprees support
>>>>> - * Copyright 2007 Freescale Semiconductor Inc.
>>>>> + * Copyright 2007,2009,2012-2013 Freescale Semiconductor Inc.
>>>>> + * Copyright 2022 Pali Rohár <p...@kernel.org>
>>>>>      */
>>>>>     
>>>>>     #include <linux/stddef.h>
>>>>> @@ -17,6 +15,7 @@
>>>>>     #include <linux/interrupt.h>
>>>>>     #include <linux/of_irq.h>
>>>>>     #include <linux/of_platform.h>
>>>>> +#include <linux/fsl/guts.h>
>>>>>     
>>>>>     #include <asm/time.h>
>>>>>     #include <asm/machdep.h>
>>>>> @@ -27,6 +26,8 @@
>>>>>     #include <asm/i8259.h>
>>>>>     #include <asm/swiotlb.h>
>>>>>     
>>>>> +#include <soc/fsl/qe/qe.h>
>>>>> +
>>>>>     #include <sysdev/fsl_soc.h>
>>>>>     #include <sysdev/fsl_pci.h>
>>>>>     #include "smp.h"
>>>>> @@ -41,6 +42,8 @@
>>>>>     #define DBG(fmt, args...)
>>>>>     #endif
>>>>>     
>>>>> +#ifdef CONFIG_MPC85xx_DS
>>>>> +
>>>>>     #ifdef CONFIG_PPC_I8259
>>>>>     static void mpc85xx_8259_cascade(struct irq_desc *desc)
>>>>>     {
>>>>> @@ -62,18 +65,11 @@ static void __init mpc85xx_ds_pic_init(void)
>>>>>           struct device_node *cascade_node = NULL;
>>>>>           int cascade_irq;
>>>>>     #endif
>>>>> - if (of_machine_is_compatible("fsl,MPC8572DS-CAMP")) {
>>>>> -         mpic = mpic_alloc(NULL, 0,
>>>>> -                 MPIC_NO_RESET |
>>>>> -                 MPIC_BIG_ENDIAN |
>>>>> -                 MPIC_SINGLE_DEST_CPU,
>>>>> -                 0, 256, " OpenPIC  ");
>>>>> - } else {
>>>>> -         mpic = mpic_alloc(NULL, 0,
>>>>> -                   MPIC_BIG_ENDIAN |
>>>>> -                   MPIC_SINGLE_DEST_CPU,
>>>>> -                 0, 256, " OpenPIC  ");
>>>>> - }
>>>>> +
>>>>> + mpic = mpic_alloc(NULL, 0,
>>>>> +           MPIC_BIG_ENDIAN |
>>>>> +           MPIC_SINGLE_DEST_CPU,
>>>>> +         0, 256, " OpenPIC  ");
>>>>>     
>>>>>           BUG_ON(mpic == NULL);
>>>>>           mpic_init(mpic);
>>>>> @@ -142,9 +138,27 @@ static void __init mpc85xx_ds_uli_init(void)
>>>>>     #endif
>>>>>     }
>>>>>     
>>>>> +#endif /* CONFIG_MPC85xx_DS */
>>>>> +
>>>>> +#ifdef CONFIG_MPC85xx_RDB
>>>>> +static void __init mpc85xx_rdb_pic_init(void)
>>>>> +{
>>>>> + struct mpic *mpic;
>>>>> +
>>>>> + mpic = mpic_alloc(NULL, 0,
>>>>> +   MPIC_BIG_ENDIAN |
>>>>> +   MPIC_SINGLE_DEST_CPU,
>>>>> +   0, 256, " OpenPIC  ");
>>>>> +
>>>>> + BUG_ON(mpic == NULL);
>>>>> + mpic_init(mpic);
>>>>> +}
>>>>> +#endif /* CONFIG_MPC85xx_RDB */
>>>>> +
>>>>>     /*
>>>>>      * Setup the architecture
>>>>>      */
>>>>> +#ifdef CONFIG_MPC85xx_DS
>>>>>     static void __init mpc85xx_ds_setup_arch(void)
>>>>>     {
>>>>>           if (ppc_md.progress)
>>>>> @@ -157,38 +171,65 @@ static void __init mpc85xx_ds_setup_arch(void)
>>>>>     
>>>>>           printk("MPC85xx DS board from Freescale Semiconductor\n");
>>>>>     }
>>>>> +#endif /* CONFIG_MPC85xx_DS */
>>>>>     
>>>>> -/*
>>>>> - * Called very early, device-tree isn't unflattened
>>>>> - */
>>>>> -static int __init mpc8544_ds_probe(void)
>>>>> +#ifdef CONFIG_MPC85xx_RDB
>>>>> +static void __init mpc85xx_rdb_setup_arch(void)
>>>>>     {
>>>>> - return !!of_machine_is_compatible("MPC8544DS");
>>>>> + if (ppc_md.progress)
>>>>> +         ppc_md.progress("mpc85xx_rdb_setup_arch()", 0);
>>>>> +
>>>>> + mpc85xx_smp_init();
>>>>> +
>>>>> + fsl_pci_assign_primary();
>>>>> +
>>>>> +#ifdef CONFIG_QUICC_ENGINE
>>>>> + mpc85xx_qe_par_io_init();
>>>>> +#endif   /* CONFIG_QUICC_ENGINE */
>>>>> +
>>>>> + printk(KERN_INFO "MPC85xx RDB board from Freescale Semiconductor\n");
>>>>>     }
>>>>> +#endif /* CONFIG_MPC85xx_RDB */
>>>>>     
>>>>> -machine_arch_initcall(mpc8544_ds, mpc85xx_common_publish_devices);
>>>>> -machine_arch_initcall(mpc8572_ds, mpc85xx_common_publish_devices);
>>>>> +#ifdef CONFIG_MPC85xx_DS
>>>>>     machine_arch_initcall(p2020_ds, mpc85xx_common_publish_devices);
>>>>> +#endif /* CONFIG_MPC85xx_DS */
>>>>>     
>>>>> -/*
>>>>> - * Called very early, device-tree isn't unflattened
>>>>> - */
>>>>> -static int __init mpc8572_ds_probe(void)
>>>>> -{
>>>>> - return !!of_machine_is_compatible("fsl,MPC8572DS");
>>>>> -}
>>>>> +#ifdef CONFIG_MPC85xx_RDB
>>>>> +machine_arch_initcall(p2020_rdb, mpc85xx_common_publish_devices);
>>>>> +machine_arch_initcall(p2020_rdb_pc, mpc85xx_common_publish_devices);
>>>>> +#endif /* CONFIG_MPC85xx_RDB */
>>>>>     
>>>>>     /*
>>>>>      * Called very early, device-tree isn't unflattened
>>>>>      */
>>>>> +#ifdef CONFIG_MPC85xx_DS
>>>>>     static int __init p2020_ds_probe(void)
>>>>>     {
>>>>>           return !!of_machine_is_compatible("fsl,P2020DS");
>>>>>     }
>>>>> +#endif /* CONFIG_MPC85xx_DS */
>>>>> +
>>>>> +#ifdef CONFIG_MPC85xx_RDB
>>>>> +static int __init p2020_rdb_probe(void)
>>>>> +{
>>>>> + if (of_machine_is_compatible("fsl,P2020RDB"))
>>>>> +         return 1;
>>>>> + return 0;
>>>>> +}
>>>>> +
>>>>> +static int __init p2020_rdb_pc_probe(void)
>>>>> +{
>>>>> + if (of_machine_is_compatible("fsl,P2020RDB-PC"))
>>>>> +         return 1;
>>>>> + return 0;
>>>>> +}
>>>>> +#endif /* CONFIG_MPC85xx_RDB */
>>>>>     
>>>>> -define_machine(mpc8544_ds) {
>>>>> - .name                   = "MPC8544 DS",
>>>>> - .probe                  = mpc8544_ds_probe,
>>>>> +#ifdef CONFIG_MPC85xx_DS
>>>>> +define_machine(p2020_ds) {
>>>>> + .name                   = "P2020 DS",
>>>>> + .probe                  = p2020_ds_probe,
>>>>>           .setup_arch             = mpc85xx_ds_setup_arch,
>>>>>           .init_IRQ               = mpc85xx_ds_pic_init,
>>>>>     #ifdef CONFIG_PCI
>>>>> @@ -199,12 +240,14 @@ define_machine(mpc8544_ds) {
>>>>>           .calibrate_decr         = generic_calibrate_decr,
>>>>>           .progress               = udbg_progress,
>>>>>     };
>>>>> -
>>>>> -define_machine(mpc8572_ds) {
>>>>> - .name                   = "MPC8572 DS",
>>>>> - .probe                  = mpc8572_ds_probe,
>>>>> - .setup_arch             = mpc85xx_ds_setup_arch,
>>>>> - .init_IRQ               = mpc85xx_ds_pic_init,
>>>>> +#endif /* CONFIG_MPC85xx_DS */
>>>>> +
>>>>> +#ifdef CONFIG_MPC85xx_RDB
>>>>> +define_machine(p2020_rdb) {
>>>>> + .name                   = "P2020 RDB",
>>>>> + .probe                  = p2020_rdb_probe,
>>>>> + .setup_arch             = mpc85xx_rdb_setup_arch,
>>>>> + .init_IRQ               = mpc85xx_rdb_pic_init,
>>>>>     #ifdef CONFIG_PCI
>>>>>           .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
>>>>>           .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
>>>>> @@ -214,11 +257,11 @@ define_machine(mpc8572_ds) {
>>>>>           .progress               = udbg_progress,
>>>>>     };
>>>>>     
>>>>> -define_machine(p2020_ds) {
>>>>> - .name                   = "P2020 DS",
>>>>> - .probe                  = p2020_ds_probe,
>>>>> - .setup_arch             = mpc85xx_ds_setup_arch,
>>>>> - .init_IRQ               = mpc85xx_ds_pic_init,
>>>>> +define_machine(p2020_rdb_pc) {
>>>>> + .name                   = "P2020RDB-PC",
>>>>> + .probe                  = p2020_rdb_pc_probe,
>>>>> + .setup_arch             = mpc85xx_rdb_setup_arch,
>>>>> + .init_IRQ               = mpc85xx_rdb_pic_init,
>>>>>     #ifdef CONFIG_PCI
>>>>>           .pcibios_fixup_bus      = fsl_pcibios_fixup_bus,
>>>>>           .pcibios_fixup_phb      = fsl_pcibios_fixup_phb,
>>>>> @@ -227,3 +270,4 @@ define_machine(p2020_ds) {
>>>>>           .calibrate_decr         = generic_calibrate_decr,
>>>>>           .progress               = udbg_progress,
>>>>>     };
>>>>> +#endif /* CONFIG_MPC85xx_RDB */

Reply via email to