Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11369f35 authored by Mike Travis's avatar Mike Travis Committed by Ingo Molnar
Browse files

x86: change _node_to_cpumask_ptr to return const ptr



  * Strengthen the return type for the _node_to_cpumask_ptr to be
    a const pointer.  This adds compiler checking to insure that
    node_to_cpumask_map[] is not changed inadvertently.

Signed-off-by: default avatarMike Travis <travis@sgi.com>
Cc: "akpm@linux-foundation.org" <akpm@linux-foundation.org>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Acked-by: default avatarVegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ce8b06b9
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -343,23 +343,23 @@ static const cpumask_t cpu_mask_none;
/*
 * Returns a pointer to the bitmask of CPUs on Node 'node'.
 */
cpumask_t *_node_to_cpumask_ptr(int node)
const cpumask_t *_node_to_cpumask_ptr(int node)
{
	if (node_to_cpumask_map == NULL) {
		printk(KERN_WARNING
			"_node_to_cpumask_ptr(%d): no node_to_cpumask_map!\n",
			node);
		dump_stack();
		return &cpu_online_map;
		return (const cpumask_t *)&cpu_online_map;
	}
	if (node >= nr_node_ids) {
		printk(KERN_WARNING
			"_node_to_cpumask_ptr(%d): node > nr_node_ids(%d)\n",
			node, nr_node_ids);
		dump_stack();
		return (cpumask_t *)&cpu_mask_none;
		return &cpu_mask_none;
	}
	return (cpumask_t *)&node_to_cpumask_map[node];
	return &node_to_cpumask_map[node];
}
EXPORT_SYMBOL(_node_to_cpumask_ptr);

+2 −1
Original line number Diff line number Diff line
@@ -60,7 +60,8 @@
#ifndef node_to_cpumask_ptr

#define	node_to_cpumask_ptr(v, node) 					\
		cpumask_t _##v = node_to_cpumask(node), *v = &_##v
		cpumask_t _##v = node_to_cpumask(node);			\
		const cpumask_t *v = &_##v

#define node_to_cpumask_ptr_next(v, node)				\
			  _##v = node_to_cpumask(node)
+5 −5
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ DECLARE_EARLY_PER_CPU(int, x86_cpu_to_node_map);
#ifdef CONFIG_DEBUG_PER_CPU_MAPS
extern int cpu_to_node(int cpu);
extern int early_cpu_to_node(int cpu);
extern cpumask_t *_node_to_cpumask_ptr(int node);
extern const cpumask_t *_node_to_cpumask_ptr(int node);
extern cpumask_t node_to_cpumask(int node);

#else	/* !CONFIG_DEBUG_PER_CPU_MAPS */
@@ -103,7 +103,7 @@ static inline int early_cpu_to_node(int cpu)
}

/* Returns a pointer to the cpumask of CPUs on Node 'node'. */
static inline cpumask_t *_node_to_cpumask_ptr(int node)
static inline const cpumask_t *_node_to_cpumask_ptr(int node)
{
	return &node_to_cpumask_map[node];
}
@@ -118,7 +118,7 @@ static inline cpumask_t node_to_cpumask(int node)

/* Replace default node_to_cpumask_ptr with optimized version */
#define node_to_cpumask_ptr(v, node)		\
		cpumask_t *v = _node_to_cpumask_ptr(node)
		const cpumask_t *v = _node_to_cpumask_ptr(node)

#define node_to_cpumask_ptr_next(v, node)	\
			   v = _node_to_cpumask_ptr(node)
@@ -186,7 +186,7 @@ extern int __node_distance(int, int);
#define	cpu_to_node(cpu)	0
#define	early_cpu_to_node(cpu)	0

static inline cpumask_t *_node_to_cpumask_ptr(int node)
static inline const cpumask_t *_node_to_cpumask_ptr(int node)
{
	return &cpu_online_map;
}
@@ -201,7 +201,7 @@ static inline int node_to_first_cpu(int node)

/* Replace default node_to_cpumask_ptr with optimized version */
#define node_to_cpumask_ptr(v, node)		\
		cpumask_t *v = _node_to_cpumask_ptr(node)
		const cpumask_t *v = _node_to_cpumask_ptr(node)

#define node_to_cpumask_ptr_next(v, node)	\
			   v = _node_to_cpumask_ptr(node)