Subject: Re: [PATCH] powerpc/cell: fix dependency in cpufreq

From: Michael Neuling <[email-masked]>
Date: Wed, 11 Feb 2009 09:27:23 +1100

> cbe_cpufreq has a partial dependency on cbe_cpufreq_pmi, which cannot
> be easily expressed in Kconfig. This fixes it by introducing an
> extra Kconfig symbol CBE_CPUFREQ_PMI_ENABLE. To make the dependency
> clearer, turn PPC_PMI into an automatic symbol.
> 
> Reported-by: Michael Neuling <[email-masked]>
> Signed-off-by: Arnd Bergmann <[email-masked]>

Acked-by: Michael Neuling <[email-masked]>

Arnd, this fixes one of the problems, but not the cbe table issue I
reported in the same thread here (sorry I should have stared a new
thread):

http://ozlabs.org/pipermail/linuxppc-dev/2009-February/068154.html

Seems to be a similar problem when CONFIG_CPU_FREQ_TABLE is a module.

Mikey

> 
> ---
> 
> This is the best I could come up with.
> 
> --- a/arch/powerpc/platforms/Kconfig
> +++ b/arch/powerpc/platforms/Kconfig
> @@ -91,15 +91,6 @@ config RTAS_FLASH
>  	tristate "Firmware flash interface"
>  	depends on PPC64 && RTAS_PROC
>  
> -config PPC_PMI
> -	tristate "Support for PMI"
> -	depends on PPC_IBM_CELL_BLADE
> -	help
> -	  PMI (Platform Management Interrupt) is a way to
> -	  communicate with the BMC (Baseboard Management Controller).
> -	  It is used in some IBM Cell blades.
> -	default m
> -
>  config MMIO_NVRAM
>  	bool
>  	default n
> diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cel
l/Kconfig
> index 5cc3279..037f59a 100644
> --- a/arch/powerpc/platforms/cell/Kconfig
> +++ b/arch/powerpc/platforms/cell/Kconfig
> @@ -98,7 +98,7 @@ config PPC_IBM_CELL_RESETBUTTON
>  
>  config PPC_IBM_CELL_POWERBUTTON
>  	tristate "IBM Cell Blade power button"
> -	depends on PPC_IBM_CELL_BLADE && PPC_PMI && INPUT_EVDEV
> +	depends on PPC_IBM_CELL_BLADE && INPUT_EVDEV
>  	default y
>  	help
>  	  Support Powerbutton on IBM Cell blades.
> @@ -118,9 +118,9 @@ config CBE_CPUFREQ
>  	  For details, take a look at <file:Documentation/cpu-freq/>.
>  	  If you don't have such processor, say N
>  
> -config CBE_CPUFREQ_PMI
> -	tristate "CBE frequency scaling using PMI interface"
> -	depends on CBE_CPUFREQ && PPC_PMI && EXPERIMENTAL
> +config CBE_CPUFREQ_PMI_ENABLE
> +	bool "CBE frequency scaling using PMI interface"
> +	depends on CBE_CPUFREQ && EXPERIMENTAL
>  	default n
>  	help
>  	  Select this, if you want to use the PMI interface
> @@ -128,6 +128,20 @@ config CBE_CPUFREQ_PMI
>  	  processor will not only be able to run at lower speed,
>  	  but also at lower core voltage.
>  
> +config CBE_CPUFREQ_PMI
> +	tristate
> +	depends on CBE_CPUFREQ_PMI_ENABLE
> +	default CBE_CPUFREQ
> +
> +config PPC_PMI
> +	tristate
> +	default y
> +	depends on CBE_CPUFREQ_PMI || PPC_IBM_CELL_POWERBUTTON
> +	help
> +	  PMI (Platform Management Interrupt) is a way to
> +	  communicate with the BMC (Baseboard Management Controller).
> +	  It is used in some IBM Cell blades.
> +
>  config CBE_CPUFREQ_SPU_GOVERNOR
>  	tristate "CBE frequency scaling based on SPU usage"
>  	depends on SPU_FS && CPU_FREQ
>