Re: [PATCH 16/32] cris: delete __cpuinit usage from all cris files

From: Jesper Nilsson
Date: Tue Jun 25 2013 - 06:51:30 EST


On Mon, Jun 24, 2013 at 09:30:21PM +0200, Paul Gortmaker wrote:
> The __cpuinit type of throwaway sections might have made sense
> some time ago when RAM was more constrained, but now the savings
> do not offset the cost and complications. For example, the fix in
> commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
> is a good example of the nasty type of bugs that can be created
> with improper use of the various __init prefixes.
>
> After a discussion on LKML[1] it was decided that cpuinit should go
> the way of devinit and be phased out. Once all the users are gone,
> we can then finally remove the macros themselves from linux/init.h.
>
> Note that some harmless section mismatch warnings may result, since
> notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
> are flagged as __cpuinit -- so if we remove the __cpuinit from
> arch specific callers, we will also get section mismatch warnings.
> As an intermediate step, we intend to turn the linux/init.h cpuinit
> content into no-ops as early as possible, since that will get rid
> of these warnings. In any case, they are temporary and harmless.
>
> This removes all the arch/cris uses of the __cpuinit macros from
> all C files. Currently cris does not have any __CPUINIT used in
> assembly files.
>
> [1] https://lkml.org/lkml/2013/5/20/589
>
> Cc: Mikael Starvik <starvik@xxxxxxxx>

Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>

> Cc: linux-cris-kernel@xxxxxxxx
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> ---
>
> [This commit is part of the __cpuinit removal work. If you don't see
> any problems with it, then you don't have to do anything ; it will be
> submitted with all the rest of the __cpuinit removal work. On the
> other hand, if you want to carry this patch in with your other pending
> changes so as to handle conflicts with other pending work yourself, then
> that is fine too, as the commits can largely be treated independently.
> For more information, please see: https://lkml.org/lkml/2013/6/20/513 ]
>
> arch/cris/arch-v32/kernel/smp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/cris/arch-v32/kernel/smp.c b/arch/cris/arch-v32/kernel/smp.c
> index cdd1202..fe8e603 100644
> --- a/arch/cris/arch-v32/kernel/smp.c
> +++ b/arch/cris/arch-v32/kernel/smp.c
> @@ -197,7 +197,7 @@ int setup_profiling_timer(unsigned int multiplier)
> */
> unsigned long cache_decay_ticks = 1;
>
> -int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
> +int __cpu_up(unsigned int cpu, struct task_struct *tidle)
> {
> smp_boot_one_cpu(cpu, tidle);
> return cpu_online(cpu) ? 0 : -ENOSYS;
> --
> 1.8.1.2

/^JN - Jesper Nilsson
--
Jesper Nilsson -- jesper.nilsson@xxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/