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 >