lkml.org 
[lkml]   [2015]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: mips build failures due to commit 8dd928915a73 (mips: fix up obsolete cpu function usage)
Date
Aaro Koskinen <aaro.koskinen@iki.fi> writes:
> Hi,
>
> On Mon, Apr 20, 2015 at 12:40:28PM -0700, Guenter Roeck wrote:
>> the upstream kernel fails to build mips:nlm_xlp_defconfig,
>> mips:nlm_xlp_defconfig, mips:cavium_octeon_defconfig, and possibly
>> other targets, with errors such as
>>
>> arch/mips/kernel/smp.c:211:2: error:
>> passing argument 2 of 'cpumask_set_cpu' discards 'volatile' qualifier
>> from pointer target type
>> arch/mips/kernel/process.c:52:2: error:
>> passing argument 2 of 'cpumask_test_cpu' discards 'volatile' qualifier
>> from pointer target type
>> arch/mips/cavium-octeon/smp.c:242:2: error:
>> passing argument 2 of 'cpumask_clear_cpu' discards 'volatile' qualifier
>> from pointer target type
>>
>> The problem was introduced with commit 8dd928915a73 (" mips: fix up
>> obsolete cpu function usage"). I would send a patch to fix it, but I
>> am not sure if removing 'volatile' from the variable declaration(s)
>> would be a good idea.
>
> I think removing volatile from cpu_callin_map declaration should be OK,
> since test_cpu (only reader) uses test_bit which takes care of it:
>
> static inline int test_bit(int nr, const volatile unsigned long *addr)

No, that got replaced too, with cpumask_test_cpu AFAICT.

You can open-code it, like so:

test_bit(0, cpumask_bits(cpu_callin_map));

But you probably want to put a barrier in that loop instead of relying
on volatile.

Thanks,
Rusty.


\
 
 \ /
  Last update: 2015-04-21 13:21    [W:0.098 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site