drivers/char/keyboard.c:205: warning: use of conditional expressions as lvalues is deprecated --- drivers/char/keyboard.c | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletion(-) diff -puN drivers/char/keyboard.c~gcc-35-keyboard-fixes drivers/char/keyboard.c --- 25/drivers/char/keyboard.c~gcc-35-keyboard-fixes 2004-01-17 14:24:33.000000000 -0800 +++ 25-akpm/drivers/char/keyboard.c 2004-01-17 14:31:05.000000000 -0800 @@ -202,7 +202,23 @@ int setkeycode(unsigned int scancode, un return -EINVAL; oldkey = INPUT_KEYCODE(dev, scancode); - INPUT_KEYCODE(dev, scancode) = keycode; + switch (dev->keycodesize) { + case 1: { + u8 *k = (u8 *)dev->keycode; + k[scancode] = keycode; + break; + } + case 2: { + u16 *k = (u16 *)dev->keycode; + k[scancode] = keycode; + break; + } + case 4: { + u32 *k = (u32 *)dev->keycode; + k[scancode] = keycode; + break; + } + } clear_bit(oldkey, dev->keybit); set_bit(keycode, dev->keybit); _