[PATCH 4/4] mtd: nandsim: add __init attribute

Boris Brezillon boris.brezillon at free-electrons.com
Fri Apr 22 02:13:24 PDT 2016


On Tue, 19 Apr 2016 14:33:35 +0200
Julia Lawall <Julia.Lawall at lip6.fr> wrote:

> Add __init attribute on functions that are only called from other __init
> functions and that are not inlined, at least with gcc version 4.8.4 on an
> x86 machine with allyesconfig.  Currently, the functions are put in the
> .text.unlikely segment.  Declaring them as __init will cause them to be
> put in the .init.text and to disappear after initialization.
> 
> The result of objdump -x on the functions before the change is as follows:
> 
> 000000000000059a l     F .text.unlikely 0000000000000239 alloc_device
> 000000000000034e l     F .text.unlikely 000000000000002e get_partition_name
> 00000000000007d3 l     F .text.unlikely 00000000000005da init_nandsim
> 
> And after the change it is as follows:
> 
> 0000000000000029 l     F .init.text	0000000000000234 alloc_device
> 0000000000000000 l     F .init.text	0000000000000029 get_partition_name
> 000000000000025d l     F .init.text	00000000000005d5 init_nandsim
> 
> Done with the help of Coccinelle.  The semantic patch checks for local
> static non-init functions that are called from an __init function and are
> not called from any other function.
> 
> Signed-off-by: Julia Lawall <Julia.Lawall at lip6.fr>
> 
> ---
>  drivers/mtd/nand/nandsim.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Applied, thanks.

Boris
-- 
Boris Brezillon, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the linux-mtd mailing list