Re: [PATCH v2 02/19] MIPS: Loongson64: separate loongson2ef/loongson64 code

From: Paul Burton
Date: Mon Sep 09 2019 - 20:19:45 EST


Hi Jiaxun & Huacai,

On Thu, Sep 05, 2019 at 10:42:59PM +0800, Jiaxun Yang wrote:
> As later model of GSx64 family processors including 2-series-soc have
> similar design with initial loongson3a while loongson2e/f seems less
> identical, we separate loongson2e/f support code out of mach-loongson64
> to make our life easier.
>
> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>

I looked at applying the first 3 patches of this series to mips-next &
squashed in the relevant defconfig updates, then was looking at applying
Huacai's recent 3 patch series.

One issue is that they conflict, but beyond that it showed me that this
patch deletes kernel-entry-init.h entirely. Was that intentional? If so
it should be a separate patch & it needs an explanation.

Please could the two of you make it clear what branch & commit your
patches are based upon? Ideally it should be the current head of the
mips-next branch.

Also Jiaxun, it's really hard to see whether this patch is making any
functional changes in addition to the duplication & renaming. I think it
would be much better to split this into a few steps across multiple
commits, something like this:

1) Copy the loongson64 directory to loongson2ef, and keep the copy as-is
*except* for the removal of the loongson2ef/loongon-3 subdirectory.
Delete loongson64/fuloong-2e & loongson64/lemote-2f.

2) Now clean up the loongson64 directory by moving files up from the
loongson-3 subdirectory.

3) Now clean up code, removing #ifdef's etc that no longer make sense.

Provide the -M & -C flags to git format-patch when generating your
patches. --find-copies-harder might help with the first step, if it's
practical to run.

That way each commit will be easier to review, and issues like the
deletion of kernel-entry-init.h will be easier to spot.

For now I undid the whole thing. It's getting late in the cycle anyway,
so this will probably be v5.5 material.

Thanks,
Paul

> ---
> arch/mips/Kbuild.platforms | 1 +
> arch/mips/Kconfig | 51 +++++--
> arch/mips/include/asm/bootinfo.h | 1 -
> .../mach-loongson2ef/cpu-feature-overrides.h | 45 +++++++
> .../cs5536/cs5536.h | 0
> .../cs5536/cs5536_mfgpt.h | 0
> .../cs5536/cs5536_pci.h | 0
> .../cs5536/cs5536_vsm.h | 0
> .../loongson2ef.h} | 29 +---
> .../machine.h | 6 -
> .../mc146818rtc.h | 5 +-
> .../mem.h | 6 +-
> arch/mips/include/asm/mach-loongson2ef/pci.h | 43 ++++++
> .../include/asm/mach-loongson2ef/spaces.h | 10 ++
> .../mach-loongson64/cpu-feature-overrides.h | 8 +-
> arch/mips/include/asm/mach-loongson64/irq.h | 7 +-
> .../asm/mach-loongson64/kernel-entry-init.h | 74 ----------
> .../include/asm/mach-loongson64/loongson64.h | 48 +++++++
> .../mips/include/asm/mach-loongson64/mmzone.h | 16 ---
> arch/mips/include/asm/mach-loongson64/pci.h | 41 +-----
> .../include/asm/mach-loongson64/workarounds.h | 4 +-
> arch/mips/loongson2ef/Kconfig | 93 +++++++++++++
> arch/mips/loongson2ef/Makefile | 18 +++
> arch/mips/loongson2ef/Platform | 32 +++++
> .../common/Makefile | 0
> .../common/bonito-irq.c | 2 +-
> .../common/cmdline.c | 2 +-
> .../common/cs5536/Makefile | 0
> .../common/cs5536/cs5536_acc.c | 0
> .../common/cs5536/cs5536_ehci.c | 0
> .../common/cs5536/cs5536_ide.c | 0
> .../common/cs5536/cs5536_isa.c | 0
> .../common/cs5536/cs5536_mfgpt.c | 0
> .../common/cs5536/cs5536_ohci.c | 0
> .../common/cs5536/cs5536_pci.c | 0
> .../common/early_printk.c | 2 +-
> arch/mips/loongson2ef/common/env.c | 71 ++++++++++
> .../{loongson64 => loongson2ef}/common/init.c | 7 +-
> .../{loongson64 => loongson2ef}/common/irq.c | 2 +-
> .../common/machtype.c | 3 +-
> .../{loongson64 => loongson2ef}/common/mem.c | 40 +-----
> .../{loongson64 => loongson2ef}/common/pci.c | 11 +-
> .../common/platform.c | 0
> .../{loongson64 => loongson2ef}/common/pm.c | 2 +-
> .../common/reset.c | 23 +---
> .../{loongson64 => loongson2ef}/common/rtc.c | 0
> .../common/serial.c | 37 +----
> .../common/setup.c | 2 +-
> .../{loongson64 => loongson2ef}/common/time.c | 2 +-
> .../common/uart_base.c | 10 +-
> .../fuloong-2e/Makefile | 0
> .../fuloong-2e/dma.c | 0
> .../fuloong-2e/irq.c | 2 +-
> .../fuloong-2e/reset.c | 2 +-
> .../lemote-2f/Makefile | 0
> .../lemote-2f/clock.c | 2 +-
> .../lemote-2f/dma.c | 0
> .../lemote-2f/ec_kb3310b.c | 0
> .../lemote-2f/ec_kb3310b.h | 0
> .../lemote-2f/irq.c | 2 +-
> .../lemote-2f/machtype.c | 2 +-
> .../lemote-2f/pm.c | 2 +-
> .../lemote-2f/reset.c | 2 +-
> arch/mips/loongson64/Kconfig | 126 +-----------------
> arch/mips/loongson64/Makefile | 23 +---
> arch/mips/loongson64/Platform | 26 +---
> .../loongson64/{loongson-3 => }/acpi_init.c | 3 +-
> .../loongson64/{loongson-3 => }/cop2-ex.c | 5 +-
> arch/mips/loongson64/{loongson-3 => }/dma.c | 6 +-
> arch/mips/loongson64/{common => }/env.c | 72 +++-------
> arch/mips/loongson64/{loongson-3 => }/hpet.c | 0
> arch/mips/loongson64/{loongson-3 => }/irq.c | 40 +++++-
> arch/mips/loongson64/loongson-3/Makefile | 11 --
> arch/mips/loongson64/{loongson-3 => }/numa.c | 4 +-
> arch/mips/loongson64/pci.c | 45 +++++++
> .../loongson64/{loongson-3 => }/platform.c | 0
> arch/mips/loongson64/reset.c | 58 ++++++++
> arch/mips/loongson64/setup.c | 91 +++++++++++++
> arch/mips/loongson64/{loongson-3 => }/smp.c | 4 +-
> arch/mips/loongson64/{loongson-3 => }/smp.h | 0
> arch/mips/oprofile/op_model_loongson2.c | 2 +-
> arch/mips/oprofile/op_model_loongson3.c | 2 +-
> arch/mips/pci/Makefile | 2 +-
> arch/mips/pci/fixup-fuloong2e.c | 2 +-
> arch/mips/pci/fixup-lemote2f.c | 2 +-
> arch/mips/pci/ops-loongson2.c | 2 +-
> arch/mips/pci/ops-loongson3.c | 2 +-
> drivers/cpufreq/loongson2_cpufreq.c | 2 +-
> drivers/gpio/gpio-loongson.c | 2 +-
> drivers/platform/mips/cpu_hwmon.c | 2 +-
> 90 files changed, 720 insertions(+), 582 deletions(-)
> create mode 100644 arch/mips/include/asm/mach-loongson2ef/cpu-feature-overrides.h
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/cs5536/cs5536.h (100%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/cs5536/cs5536_mfgpt.h (100%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/cs5536/cs5536_pci.h (100%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/cs5536/cs5536_vsm.h (100%)
> rename arch/mips/include/asm/{mach-loongson64/loongson.h => mach-loongson2ef/loongson2ef.h} (91%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/machine.h (80%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/mc146818rtc.h (80%)
> rename arch/mips/include/asm/{mach-loongson64 => mach-loongson2ef}/mem.h (86%)
> create mode 100644 arch/mips/include/asm/mach-loongson2ef/pci.h
> create mode 100644 arch/mips/include/asm/mach-loongson2ef/spaces.h
> delete mode 100644 arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
> create mode 100644 arch/mips/include/asm/mach-loongson64/loongson64.h
> create mode 100644 arch/mips/loongson2ef/Kconfig
> create mode 100644 arch/mips/loongson2ef/Makefile
> create mode 100644 arch/mips/loongson2ef/Platform
> rename arch/mips/{loongson64 => loongson2ef}/common/Makefile (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/bonito-irq.c (97%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cmdline.c (97%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/Makefile (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_acc.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_ehci.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_ide.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_isa.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_mfgpt.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_ohci.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/cs5536/cs5536_pci.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/early_printk.c (97%)
> create mode 100644 arch/mips/loongson2ef/common/env.c
> rename arch/mips/{loongson64 => loongson2ef}/common/init.c (90%)
> rename arch/mips/{loongson64 => loongson2ef}/common/irq.c (98%)
> rename arch/mips/{loongson64 => loongson2ef}/common/machtype.c (94%)
> rename arch/mips/{loongson64 => loongson2ef}/common/mem.c (72%)
> rename arch/mips/{loongson64 => loongson2ef}/common/pci.c (89%)
> rename arch/mips/{loongson64 => loongson2ef}/common/platform.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/pm.c (99%)
> rename arch/mips/{loongson64 => loongson2ef}/common/reset.c (77%)
> rename arch/mips/{loongson64 => loongson2ef}/common/rtc.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/common/serial.c (63%)
> rename arch/mips/{loongson64 => loongson2ef}/common/setup.c (97%)
> rename arch/mips/{loongson64 => loongson2ef}/common/time.c (96%)
> rename arch/mips/{loongson64 => loongson2ef}/common/uart_base.c (77%)
> rename arch/mips/{loongson64 => loongson2ef}/fuloong-2e/Makefile (100%)
> rename arch/mips/{loongson64 => loongson2ef}/fuloong-2e/dma.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/fuloong-2e/irq.c (98%)
> rename arch/mips/{loongson64 => loongson2ef}/fuloong-2e/reset.c (93%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/Makefile (100%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/clock.c (98%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/dma.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/ec_kb3310b.c (100%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/ec_kb3310b.h (100%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/irq.c (99%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/machtype.c (98%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/pm.c (99%)
> rename arch/mips/{loongson64 => loongson2ef}/lemote-2f/reset.c (99%)
> rename arch/mips/loongson64/{loongson-3 => }/acpi_init.c (99%)
> rename arch/mips/loongson64/{loongson-3 => }/cop2-ex.c (88%)
> rename arch/mips/loongson64/{loongson-3 => }/dma.c (82%)
> rename arch/mips/loongson64/{common => }/env.c (79%)
> rename arch/mips/loongson64/{loongson-3 => }/hpet.c (100%)
> rename arch/mips/loongson64/{loongson-3 => }/irq.c (77%)
> delete mode 100644 arch/mips/loongson64/loongson-3/Makefile
> rename arch/mips/loongson64/{loongson-3 => }/numa.c (98%)
> create mode 100644 arch/mips/loongson64/pci.c
> rename arch/mips/loongson64/{loongson-3 => }/platform.c (100%)
> create mode 100644 arch/mips/loongson64/reset.c
> create mode 100644 arch/mips/loongson64/setup.c
> rename arch/mips/loongson64/{loongson-3 => }/smp.c (99%)
> rename arch/mips/loongson64/{loongson-3 => }/smp.h (100%)