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

From: Boris Brezillon
Date: Fri Apr 22 2016 - 05:13:32 EST


On Tue, 19 Apr 2016 14:33:35 +0200
Julia Lawall <Julia.Lawall@xxxxxxx> 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@xxxxxxx>
>
> ---
> 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