Input: amikbd - allocate temporary keymap buffer on the stack
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 3 Dec 2014 22:59:49 +0000 (14:59 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 3 Dec 2014 23:28:27 +0000 (15:28 -0800)
Allocate the temporary buffer needed for initialization of the console
keyboard maps (512 bytes, as NR_KEYS = 256) on the stack instead of
statically, to reduce kernel size.

add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-512 (-512)
function                                     old     new   delta
temp_map                                     512       -    -512

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/amikbd.c

index 4f81e65..3196f2d 100644 (file)
@@ -147,10 +147,11 @@ static unsigned char amikbd_keycode[0x78] __initdata = {
 
 static void __init amikbd_init_console_keymaps(void)
 {
+       /* We can spare 512 bytes on stack for temp_map in init path. */
+       unsigned short temp_map[NR_KEYS];
        int i, j;
 
        for (i = 0; i < MAX_NR_KEYMAPS; i++) {
-               static u_short temp_map[NR_KEYS] __initdata;
                if (!key_maps[i])
                        continue;
                memset(temp_map, 0, sizeof(temp_map));