diff mbox

ARM: b.L: fix unmet dependency for CPU_PM

Message ID 1415857098-16928-1-git-send-email-pankaj.dubey@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Pankaj Dubey Nov. 13, 2014, 5:38 a.m. UTC
If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
we are getting following config warning.

warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
dependencies (SUSPEND || CPU_IDLE)

So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
CPU_IDLE is selected.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
---
 arch/arm/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nicolas Pitre Nov. 13, 2014, 5:44 p.m. UTC | #1
On Thu, 13 Nov 2014, Pankaj Dubey wrote:

> If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
> we are getting following config warning.
> 
> warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
> dependencies (SUSPEND || CPU_IDLE)
> 
> So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
> CPU_IDLE is selected.
> 
> Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> ---
>  arch/arm/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 9d580d0..fe3d969 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1417,7 +1417,7 @@ config BL_SWITCHER
>  	bool "big.LITTLE switcher support"
>  	depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
>  	select ARM_CPU_SUSPEND
> -	select CPU_PM
> +	select CPU_PM if (SUSPEND || CPU_IDLE)

NAK.  You just broke the code by doing this. CPU_PM is a requirement 
here.  The dependencies for CPU_PM is lacking.


Nicolas
Russell King - ARM Linux Nov. 13, 2014, 5:48 p.m. UTC | #2
On Thu, Nov 13, 2014 at 12:44:22PM -0500, Nicolas Pitre wrote:
> On Thu, 13 Nov 2014, Pankaj Dubey wrote:
> 
> > If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
> > we are getting following config warning.
> > 
> > warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
> > dependencies (SUSPEND || CPU_IDLE)
> > 
> > So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
> > CPU_IDLE is selected.
> > 
> > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> > ---
> >  arch/arm/Kconfig |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 9d580d0..fe3d969 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -1417,7 +1417,7 @@ config BL_SWITCHER
> >  	bool "big.LITTLE switcher support"
> >  	depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
> >  	select ARM_CPU_SUSPEND
> > -	select CPU_PM
> > +	select CPU_PM if (SUSPEND || CPU_IDLE)
> 
> NAK.  You just broke the code by doing this. CPU_PM is a requirement 
> here.  The dependencies for CPU_PM is lacking.

Is there any real technical reason that CPU_PM depends on SUSPEND ||
CPU_IDLE ?  If not, those dependencies should be killed.
Nicolas Pitre Nov. 13, 2014, 6 p.m. UTC | #3
On Thu, 13 Nov 2014, Russell King - ARM Linux wrote:

> On Thu, Nov 13, 2014 at 12:44:22PM -0500, Nicolas Pitre wrote:
> > On Thu, 13 Nov 2014, Pankaj Dubey wrote:
> > 
> > > If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
> > > we are getting following config warning.
> > > 
> > > warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
> > > dependencies (SUSPEND || CPU_IDLE)
> > > 
> > > So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
> > > CPU_IDLE is selected.
> > > 
> > > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> > > ---
> > >  arch/arm/Kconfig |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > index 9d580d0..fe3d969 100644
> > > --- a/arch/arm/Kconfig
> > > +++ b/arch/arm/Kconfig
> > > @@ -1417,7 +1417,7 @@ config BL_SWITCHER
> > >  	bool "big.LITTLE switcher support"
> > >  	depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
> > >  	select ARM_CPU_SUSPEND
> > > -	select CPU_PM
> > > +	select CPU_PM if (SUSPEND || CPU_IDLE)
> > 
> > NAK.  You just broke the code by doing this. CPU_PM is a requirement 
> > here.  The dependencies for CPU_PM is lacking.
> 
> Is there any real technical reason that CPU_PM depends on SUSPEND ||
> CPU_IDLE ?  If not, those dependencies should be killed.

Those dependencies look artificial to me.


Nicolas
Pankaj Dubey Nov. 14, 2014, 6:10 a.m. UTC | #4
+CC: Colin Cross, James Hogan

On Thursday, November 13, 2014 11:30 PM, Nicolas Pitre wrote:
> To: Russell King - ARM Linux
> Cc: Pankaj Dubey; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH] ARM: b.L: fix unmet dependency for CPU_PM
> 
> On Thu, 13 Nov 2014, Russell King - ARM Linux wrote:
> 
> > On Thu, Nov 13, 2014 at 12:44:22PM -0500, Nicolas Pitre wrote:
> > > On Thu, 13 Nov 2014, Pankaj Dubey wrote:
> > >
> > > > If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
> > > > we are getting following config warning.
> > > >
> > > > warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
> > > > dependencies (SUSPEND || CPU_IDLE)
> > > >
> > > > So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
> > > > CPU_IDLE is selected.
> > > >
> > > > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> > > > ---
> > > >  arch/arm/Kconfig |    2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index
> > > > 9d580d0..fe3d969 100644
> > > > --- a/arch/arm/Kconfig
> > > > +++ b/arch/arm/Kconfig
> > > > @@ -1417,7 +1417,7 @@ config BL_SWITCHER
> > > >  	bool "big.LITTLE switcher support"
> > > >  	depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
> > > >  	select ARM_CPU_SUSPEND
> > > > -	select CPU_PM
> > > > +	select CPU_PM if (SUSPEND || CPU_IDLE)
> > >
> > > NAK.  You just broke the code by doing this. CPU_PM is a requirement
> > > here.  The dependencies for CPU_PM is lacking.
> >

OK, got it. Even though compilation worked, but as you mentioned by doing
this way
bL_switcher functionality may broke.

> > Is there any real technical reason that CPU_PM depends on SUSPEND ||
> > CPU_IDLE ?  If not, those dependencies should be killed.
> 
> Those dependencies look artificial to me.
> 

For me also it looks like these dependencies are artificial.
As far as I can see CONFIG_CPU_PM compiles following two files 
1: kernel/cpu_pm.c - I can't see any dependency of SUSPEND or CPU_IDLE in
this file.
2: arch/mips/kernel/pm.c: A quick look does not show any dependency of
SUSPEND or
   CPU_IDLE here too.

So for me it looks like it is OK to kill these dependencies of CPU_PM. 
Still safer side I am CCing this to author of these files for confirmation.

Thanks,
Pankaj Dubey
> 
> Nicolas
Colin Cross Nov. 14, 2014, 10:06 p.m. UTC | #5
On Thu, Nov 13, 2014 at 10:10 PM, Pankaj Dubey <pankaj.dubey@samsung.com> wrote:
> +CC: Colin Cross, James Hogan
>
> On Thursday, November 13, 2014 11:30 PM, Nicolas Pitre wrote:
>> To: Russell King - ARM Linux
>> Cc: Pankaj Dubey; linux-arm-kernel@lists.infradead.org; linux-
>> kernel@vger.kernel.org
>> Subject: Re: [PATCH] ARM: b.L: fix unmet dependency for CPU_PM
>>
>> On Thu, 13 Nov 2014, Russell King - ARM Linux wrote:
>>
>> > On Thu, Nov 13, 2014 at 12:44:22PM -0500, Nicolas Pitre wrote:
>> > > On Thu, 13 Nov 2014, Pankaj Dubey wrote:
>> > >
>> > > > If BL_SWITCHER is enabled but SUSPEND and CPU_IDLE is not enabled
>> > > > we are getting following config warning.
>> > > >
>> > > > warning: (BL_SWITCHER) selects CPU_PM which has unmet direct
>> > > > dependencies (SUSPEND || CPU_IDLE)
>> > > >
>> > > > So BL_SWITCHER should enable CPU_PM only if either of SUSPEND or
>> > > > CPU_IDLE is selected.
>> > > >
>> > > > Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
>> > > > ---
>> > > >  arch/arm/Kconfig |    2 +-
>> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
>> > > >
>> > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index
>> > > > 9d580d0..fe3d969 100644
>> > > > --- a/arch/arm/Kconfig
>> > > > +++ b/arch/arm/Kconfig
>> > > > @@ -1417,7 +1417,7 @@ config BL_SWITCHER
>> > > >         bool "big.LITTLE switcher support"
>> > > >         depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
>> > > >         select ARM_CPU_SUSPEND
>> > > > -       select CPU_PM
>> > > > +       select CPU_PM if (SUSPEND || CPU_IDLE)
>> > >
>> > > NAK.  You just broke the code by doing this. CPU_PM is a requirement
>> > > here.  The dependencies for CPU_PM is lacking.
>> >
>
> OK, got it. Even though compilation worked, but as you mentioned by doing
> this way
> bL_switcher functionality may broke.
>
>> > Is there any real technical reason that CPU_PM depends on SUSPEND ||
>> > CPU_IDLE ?  If not, those dependencies should be killed.
>>
>> Those dependencies look artificial to me.
>>
>
> For me also it looks like these dependencies are artificial.
> As far as I can see CONFIG_CPU_PM compiles following two files
> 1: kernel/cpu_pm.c - I can't see any dependency of SUSPEND or CPU_IDLE in
> this file.
> 2: arch/mips/kernel/pm.c: A quick look does not show any dependency of
> SUSPEND or
>    CPU_IDLE here too.
>
> So for me it looks like it is OK to kill these dependencies of CPU_PM.
> Still safer side I am CCing this to author of these files for confirmation.
>
> Thanks,
> Pankaj Dubey
>>
>> Nicolas
>

I agree, the dependencies in kernel/power/Kconfig should be removed.
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9d580d0..fe3d969 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1417,7 +1417,7 @@  config BL_SWITCHER
 	bool "big.LITTLE switcher support"
 	depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
 	select ARM_CPU_SUSPEND
-	select CPU_PM
+	select CPU_PM if (SUSPEND || CPU_IDLE)
 	help
 	  The big.LITTLE "switcher" provides the core functionality to
 	  transparently handle transition between a cluster of A15's