Re: [PATCH -queue 2/2] [loongson] 2f: Cleanups of the #if clauses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ralf,

Could you please apply this one?

This is needed by the coming CPUFreq and Suspend patchset, I plan to
resend them respectively after incorporating their feedbacks.

Thanks & Regards,
	Wu Zhangjin

On Wed, 2009-11-11 at 13:39 +0800, Wu Zhangjin wrote:
> From: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
> 
> This patch adds two new kernel options: CPU_SUPPORT_CPUFREQ and
> CPU_SUPPORT_ADDRWINCFG to describe the new features of loongons2f, and
> replaces the several ugly #if clauses by them.
> 
> These two options will be utilized by the future loongson revisions
> and/or by the relative drivers, such as the coming Loongson2F CPUFreq
> driver.
> 
> Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
> ---
>  arch/mips/Kconfig                              |    8 ++++++++
>  arch/mips/include/asm/mach-loongson/loongson.h |    6 +++---
>  arch/mips/include/asm/mach-loongson/pci.h      |    4 ++--
>  arch/mips/loongson/common/init.c               |    2 +-
>  arch/mips/loongson/common/mem.c                |    8 ++++----
>  arch/mips/loongson/common/pci.c                |    2 +-
>  6 files changed, 19 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 240a3ca..539c384 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -1318,8 +1318,16 @@ config CPU_LOONGSON2
>  config SYS_HAS_CPU_LOONGSON2E
>  	bool
>  
> +config CPU_SUPPORT_CPUFREQ
> +	bool
> +
> +config CPU_SUPPORT_ADDRWINCFG
> +	bool
> +
>  config SYS_HAS_CPU_LOONGSON2F
>  	bool
> +	select CPU_SUPPORT_CPUFREQ
> +	select CPU_SUPPORT_ADDRWINCFG if 64BIT
>  
>  config SYS_HAS_CPU_MIPS32_R1
>  	bool
> diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h
> index 5b83bea..008c768 100644
> --- a/arch/mips/include/asm/mach-loongson/loongson.h
> +++ b/arch/mips/include/asm/mach-loongson/loongson.h
> @@ -227,7 +227,7 @@ extern void mach_irq_dispatch(unsigned int pending);
>  	((((ADDR)>>26) & LOONGSON_PCIMAP_PCIMAP_LO0) << ((WIN)*6))
>  
>  /* Chip Config */
> -#ifdef CONFIG_CPU_LOONGSON2F
> +#ifdef CONFIG_CPU_SUPPORT_CPUFREQ
>  #define LOONGSON_CHIPCFG0		LOONGSON_REG(LOONGSON_REGBASE + 0x80)
>  #endif
>  
> @@ -236,7 +236,7 @@ extern void mach_irq_dispatch(unsigned int pending);
>   *
>   * loongson2e do not have this module
>   */
> -#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
> +#ifdef CONFIG_CPU_SUPPORT_ADDRWINCFG
>  
>  /* address window config module base address */
>  #define LOONGSON_ADDRWINCFG_BASE		0x3ff00000ul
> @@ -306,6 +306,6 @@ extern unsigned long _loongson_addrwincfg_base;
>  #define LOONGSON_ADDRWIN_PCITODDR(win, src, dst, size) \
>  	LOONGSON_ADDRWIN_CFG(PCIDMA, DDR, win, src, dst, size)
>  
> -#endif	/* ! CONFIG_CPU_LOONGSON2F && CONFIG_64BIT */
> +#endif	/* ! CONFIG_CPU_SUPPORT_ADDRWINCFG */
>  
>  #endif /* __ASM_MACH_LOONGSON_LOONGSON_H */
> diff --git a/arch/mips/include/asm/mach-loongson/pci.h b/arch/mips/include/asm/mach-loongson/pci.h
> index 31ba908..a2b78fa 100644
> --- a/arch/mips/include/asm/mach-loongson/pci.h
> +++ b/arch/mips/include/asm/mach-loongson/pci.h
> @@ -28,7 +28,7 @@ extern struct pci_ops loongson_pci_ops;
>  /* this is an offset from mips_io_port_base */
>  #define LOONGSON_PCI_IO_START	0x00004000UL
>  
> -#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
> +#ifdef CONFIG_CPU_SUPPORT_ADDRWINCFG
>  
>  /*
>   * we use address window2 to map cpu address space to pci space
> @@ -56,6 +56,6 @@ extern struct pci_ops loongson_pci_ops;
>  /* this is an offset from mips_io_port_base */
>  #define LOONGSON_PCI_IO_START	0x00004000UL
>  
> -#endif	/* !(defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT))*/
> +#endif	/* !CONFIG_CPU_SUPPORT_ADDRWINCFG */
>  
>  #endif /* !__ASM_MACH_LOONGSON_PCI_H_ */
> diff --git a/arch/mips/loongson/common/init.c b/arch/mips/loongson/common/init.c
> index 743d357..000bebd 100644
> --- a/arch/mips/loongson/common/init.c
> +++ b/arch/mips/loongson/common/init.c
> @@ -21,7 +21,7 @@ void __init prom_init(void)
>  	set_io_port_base((unsigned long)
>  		ioremap(LOONGSON_PCIIO_BASE, LOONGSON_PCIIO_SIZE));
>  
> -#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
> +#ifdef CONFIG_CPU_SUPPORT_ADDRWINCFG
>  	_loongson_addrwincfg_base = (unsigned long)
>  		ioremap(LOONGSON_ADDRWINCFG_BASE, LOONGSON_ADDRWINCFG_SIZE);
>  #endif
> diff --git a/arch/mips/loongson/common/mem.c b/arch/mips/loongson/common/mem.c
> index 312c765..467a91e 100644
> --- a/arch/mips/loongson/common/mem.c
> +++ b/arch/mips/loongson/common/mem.c
> @@ -21,8 +21,7 @@ void __init prom_init_memory(void)
>  	add_memory_region(memsize << 20,
>  			LOONGSON_PCI_MEM_START - (memsize << 20),
>  			  BOOT_MEM_RESERVED);
> -#ifdef CONFIG_64BIT
> -#ifdef CONFIG_CPU_LOONGSON2F
> +#ifdef CONFIG_CPU_SUPPORT_ADDRWINCFG
>  	{
>  		int bit;
>  
> @@ -37,8 +36,9 @@ void __init prom_init_memory(void)
>  					  0x80000000ul, (1 << bit));
>  		mmiowb();
>  	}
> -#endif				/* CONFIG_CPU_LOONGSON2F */
> +#endif				/* !CONFIG_CPU_SUPPORT_ADDRWINCFG */
>  
> +#ifdef CONFIG_64BIT
>  	if (highmemsize > 0)
>  		add_memory_region(LOONGSON_HIGHMEM_START,
>  				  highmemsize << 20, BOOT_MEM_RAM);
> @@ -46,7 +46,7 @@ void __init prom_init_memory(void)
>  	add_memory_region(LOONGSON_PCI_MEM_END + 1, LOONGSON_HIGHMEM_START -
>  			  LOONGSON_PCI_MEM_END - 1, BOOT_MEM_RESERVED);
>  
> -#endif				/* CONFIG_64BIT */
> +#endif				/* !CONFIG_64BIT */
>  }
>  
>  /* override of arch/mips/mm/cache.c: __uncached_access */
> diff --git a/arch/mips/loongson/common/pci.c b/arch/mips/loongson/common/pci.c
> index eac43b8..cc3fa17 100644
> --- a/arch/mips/loongson/common/pci.c
> +++ b/arch/mips/loongson/common/pci.c
> @@ -68,7 +68,7 @@ static void __init setup_pcimap(void)
>  	deassert for some broken device */
>  	LOONGSON_PXARB_CFG = 0x00fe0105ul;
>  
> -#if defined(CONFIG_CPU_LOONGSON2F) && defined(CONFIG_64BIT)
> +#ifdef CONFIG_CPU_SUPPORT_ADDRWINCFG
>  	/*
>  	 * set cpu addr window2 to map CPU address space to PCI address space
>  	 */




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux