Re: [PATCH 2/2] MIPS: Loongson64: Move loongson_system_configuration to loongson.h

From: Philippe Mathieu-Daudé
Date: Fri Mar 05 2021 - 05:02:50 EST


Hi,

On Thu, Mar 4, 2021 at 5:35 PM Qing Zhang <zhangqing@xxxxxxxxxxx> wrote:
>
> The purpose of separating loongson_system_configuration from boot_param.h
> is to keep the other structure consistent with the firmware.

This is supposed to be a trivial patch, but the description actually
confuses me.

Why is the move out of "boot_param.h" keeping it consistent with fw?

> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
> Signed-off-by: Qing Zhang <zhangqing@xxxxxxxxxxx>
> ---
> .../include/asm/mach-loongson64/boot_param.h | 18 ------------------
> .../include/asm/mach-loongson64/loongson.h | 18 ++++++++++++++++++
> drivers/irqchip/irq-loongson-liointc.c | 2 +-
> 3 files changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/arch/mips/include/asm/mach-loongson64/boot_param.h b/arch/mips/include/asm/mach-loongson64/boot_param.h
> index 1c1cdf57137e..035b1a69e2d0 100644
> --- a/arch/mips/include/asm/mach-loongson64/boot_param.h
> +++ b/arch/mips/include/asm/mach-loongson64/boot_param.h
> @@ -198,24 +198,6 @@ enum loongson_bridge_type {
> VIRTUAL = 3
> };
>
> -struct loongson_system_configuration {
> - u32 nr_cpus;
> - u32 nr_nodes;
> - int cores_per_node;
> - int cores_per_package;
> - u16 boot_cpu_id;
> - u16 reserved_cpus_mask;
> - enum loongson_cpu_type cputype;
> - enum loongson_bridge_type bridgetype;
> - u64 restart_addr;
> - u64 poweroff_addr;
> - u64 suspend_addr;
> - u64 vgabios_addr;
> - u32 dma_mask_bits;
> - u64 workarounds;
> - void (*early_config)(void);
> -};
> -
> extern struct efi_memory_map_loongson *loongson_memmap;
> extern struct loongson_system_configuration loongson_sysconf;
>
> diff --git a/arch/mips/include/asm/mach-loongson64/loongson.h b/arch/mips/include/asm/mach-loongson64/loongson.h
> index ac1c20e172a2..6189deb188cf 100644
> --- a/arch/mips/include/asm/mach-loongson64/loongson.h
> +++ b/arch/mips/include/asm/mach-loongson64/loongson.h
> @@ -12,6 +12,24 @@
> #include <linux/irq.h>
> #include <boot_param.h>
>
> +/* machine-specific boot configuration */
> +struct loongson_system_configuration {
> + u32 nr_cpus;
> + u32 nr_nodes;
> + int cores_per_node;
> + int cores_per_package;
> + u16 boot_cpu_id;
> + u16 reserved_cpus_mask;
> + enum loongson_cpu_type cputype;
> + enum loongson_bridge_type bridgetype;
> + u64 restart_addr;
> + u64 poweroff_addr;
> + u64 suspend_addr;
> + u64 vgabios_addr;
> + u32 dma_mask_bits;
> + u64 workarounds;
> + void (*early_config)(void);
> +};
>
> /* machine-specific reboot/halt operation */
> extern void mach_prepare_reboot(void);
> diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c
> index 09b91b81851c..249566a23cc4 100644
> --- a/drivers/irqchip/irq-loongson-liointc.c
> +++ b/drivers/irqchip/irq-loongson-liointc.c
> @@ -16,7 +16,7 @@
> #include <linux/smp.h>
> #include <linux/irqchip/chained_irq.h>
>
> -#include <boot_param.h>
> +#include <loongson.h>
>
> #define LIOINTC_CHIP_IRQ 32
> #define LIOINTC_NUM_PARENT 4
> --
> 2.20.1
>