tree 58581a02cc06bb1a2991209c9e4d559353cbec6f
parent b52402c783d8c16b11f146a244bb21086a94bf84
author Benoit Boissinot <benoit.boissinot@ens-lyon.org> 1113690359 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> 1113690359 -0700

[PATCH] cpuset: remove function attribute const

gcc-4 warns with
include/linux/cpuset.h:21: warning: type qualifiers ignored on function
return type

cpuset_cpus_allowed is declared with const
extern const cpumask_t cpuset_cpus_allowed(const struct task_struct *p);

First const should be __attribute__((const)), but the gcc manual
explains that:

"Note that a function that has pointer arguments and examines the data
pointed to must not be declared const. Likewise, a function that calls a
non-const function usually must not be const. It does not make sense for
a const function to return void."

The following patch remove const from the function declaration.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Acked-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
