2014-04-16 05:49:09

by Srivatsa S. Bhat

[permalink] [raw]
Subject: [PATCH] cpufreq, powernv: Fix build failure on UP

On 04/15/2014 07:41 PM, Paul Gortmaker wrote:
> Hi all,
>
> This new driver is causing build fails on linux-next for non-SMP.
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/10911507/
>
> I didn't bisect since there are only two commits in total. :)
>
> Looks like some header foo where <linux/smp.h> is not getting <asm/smp.h>
>

Hi Paul,

Thanks a lot for reporting the build failure. Please find the fix
below.

Regards,
Srivatsa S. Bhat

---------------------------------------------------------------------------

From: Srivatsa S. Bhat <[email protected]>
Subject: [PATCH] cpufreq, powernv: Fix build failure on UP

Paul Gortmaker reported the following build failure of the powernv cpufreq
driver on UP configs:

drivers/cpufreq/powernv-cpufreq.c:241:2: error: implicit declaration of
function 'cpu_sibling_mask' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[3]: *** [drivers/cpufreq/powernv-cpufreq.o] Error 1
make[2]: *** [drivers/cpufreq] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2

The trouble here is that cpu_sibling_mask is defined only in <asm/smp.h>, and
<linux/smp.h> includes <asm/smp.h> only in SMP builds.

So fix this build failure by explicitly including <asm/smp.h> in the driver,
so that we get the definition of cpu_sibling_mask even in UP configurations.

Reported-by: Paul Gortmaker <[email protected]>
Signed-off-by: Srivatsa S. Bhat <[email protected]>
---

drivers/cpufreq/powernv-cpufreq.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 9edccc6..ed1c7e5 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -29,6 +29,7 @@

#include <asm/cputhreads.h>
#include <asm/reg.h>
+#include <asm/smp.h>

#define POWERNV_MAX_PSTATES 256


2014-04-16 05:55:17

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH] cpufreq, powernv: Fix build failure on UP

On 16 April 2014 11:18, Srivatsa S. Bhat
<[email protected]> wrote:
> From: Srivatsa S. Bhat <[email protected]>
> Subject: [PATCH] cpufreq, powernv: Fix build failure on UP
>
> Paul Gortmaker reported the following build failure of the powernv cpufreq
> driver on UP configs:
>
> drivers/cpufreq/powernv-cpufreq.c:241:2: error: implicit declaration of
> function 'cpu_sibling_mask' [-Werror=implicit-function-declaration]
> cc1: some warnings being treated as errors
> make[3]: *** [drivers/cpufreq/powernv-cpufreq.o] Error 1
> make[2]: *** [drivers/cpufreq] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [sub-make] Error 2
>
> The trouble here is that cpu_sibling_mask is defined only in <asm/smp.h>, and
> <linux/smp.h> includes <asm/smp.h> only in SMP builds.
>
> So fix this build failure by explicitly including <asm/smp.h> in the driver,
> so that we get the definition of cpu_sibling_mask even in UP configurations.
>
> Reported-by: Paul Gortmaker <[email protected]>
> Signed-off-by: Srivatsa S. Bhat <[email protected]>
> ---
>
> drivers/cpufreq/powernv-cpufreq.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
> index 9edccc6..ed1c7e5 100644
> --- a/drivers/cpufreq/powernv-cpufreq.c
> +++ b/drivers/cpufreq/powernv-cpufreq.c
> @@ -29,6 +29,7 @@
>
> #include <asm/cputhreads.h>
> #include <asm/reg.h>

Probably a comment here ?, so that people don't try to remove it in future.

/* Required for cpu_sibling_mask() in UP configurations */

> +#include <asm/smp.h>
>
> #define POWERNV_MAX_PSTATES 256

Acked-by: Viresh Kumar <[email protected]>

2014-04-16 06:01:49

by Srivatsa S. Bhat

[permalink] [raw]
Subject: Re: [PATCH] cpufreq, powernv: Fix build failure on UP

On 04/16/2014 11:25 AM, Viresh Kumar wrote:
> On 16 April 2014 11:18, Srivatsa S. Bhat
> <[email protected]> wrote:
>> From: Srivatsa S. Bhat <[email protected]>
>> Subject: [PATCH] cpufreq, powernv: Fix build failure on UP
>>
>> Paul Gortmaker reported the following build failure of the powernv cpufreq
>> driver on UP configs:
>>
>> drivers/cpufreq/powernv-cpufreq.c:241:2: error: implicit declaration of
>> function 'cpu_sibling_mask' [-Werror=implicit-function-declaration]
>> cc1: some warnings being treated as errors
>> make[3]: *** [drivers/cpufreq/powernv-cpufreq.o] Error 1
>> make[2]: *** [drivers/cpufreq] Error 2
>> make[1]: *** [drivers] Error 2
>> make: *** [sub-make] Error 2
>>
>> The trouble here is that cpu_sibling_mask is defined only in <asm/smp.h>, and
>> <linux/smp.h> includes <asm/smp.h> only in SMP builds.
>>
>> So fix this build failure by explicitly including <asm/smp.h> in the driver,
>> so that we get the definition of cpu_sibling_mask even in UP configurations.
>>
>> Reported-by: Paul Gortmaker <[email protected]>
>> Signed-off-by: Srivatsa S. Bhat <[email protected]>
>> ---
>>
>> drivers/cpufreq/powernv-cpufreq.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
>> index 9edccc6..ed1c7e5 100644
>> --- a/drivers/cpufreq/powernv-cpufreq.c
>> +++ b/drivers/cpufreq/powernv-cpufreq.c
>> @@ -29,6 +29,7 @@
>>
>> #include <asm/cputhreads.h>
>> #include <asm/reg.h>
>
> Probably a comment here ?, so that people don't try to remove it in future.
>

Sure, that sounds like a good idea.

> /* Required for cpu_sibling_mask() in UP configurations */
>
>> +#include <asm/smp.h>
>>
>> #define POWERNV_MAX_PSTATES 256
>
> Acked-by: Viresh Kumar <[email protected]>

Thank you!

Regards,
Srivatsa S. Bhat