keyboard.c/kd.h field width fixes
These guys get massive numbers of warnings about comparisons always true or false due to limited ranges of data types. This appears to kill off the warnings.
-- wli
drivers/char/keyboard.c +16 -16
@@ -76,7 +76,7 @@ void compute_shiftstate(void); k_meta, k_ascii, k_lock, k_lowercase,\ k_slock, k_dead2, k_ignore,k_ignore -typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value, +typedef void (k_handler_fn)(struct vc_data *vc, unsigned short value, char up_flag, struct pt_regs *regs);static k_handler_fn K_HANDLERS ;static k_handler_fn *k_handler[16 ] = {K_HANDLERS };
@@ -589,11 +589,11 @@ static void fn_null(struct vc_data *vc,/* * Special key handlers */ -static void k_ignore (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_ignore (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) { } -static void k_spec (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_spec (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;
@@ -606,12 +606,12 @@ static void k_spec(struct vc_data *vc, u fn_handler[value](vc, regs); } -static void k_lowercase (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_lowercase (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {printk (KERN_ERR "keyboard.c: k_lowercase was called - impossible\n" ); } -static void k_self (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_self (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;/* no action, if this is a key release */
@@ -632,7 +632,7 @@ static void k_self(struct vc_data *vc, u* dead keys modifying the same character. Very useful * for Vietnamese. */ -static void k_dead2 (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_dead2 (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;
@@ -642,21 +642,21 @@ static void k_dead2(struct vc_data *vc,/* * Obsolete - for backwards compatibility only */ -static void k_dead (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_dead (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {static unsigned char ret_diacr[NR_DEAD ] = {'`' ,'\'' ,'^' ,'~' ,'"' ,',' }; value = ret_diacr[value];k_dead2 (vc, value, up_flag, regs); } -static void k_cons (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_cons (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;set_console (value); } -static void k_fn (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_fn (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;
@@ -667,7 +667,7 @@ static void k_fn(struct vc_data *vc, unsprintk (KERN_ERR "k_fn called with value=%d\n" , value); } -static void k_cur (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_cur (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {static const char *cur_chars ="BDCA" ;
@@ -676,7 +676,7 @@ static void k_cur(struct vc_data *vc, unapplkey (vc, cur_chars[value],vc_kbd_mode (kbd,VC_CKMODE )); } -static void k_pad (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_pad (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {static const char *pad_chars ="0123456789+-*/\015,.?()#" ;static const char *app_map ="pqrstuvwxylSRQMnnmPQS" ;
@@ -733,7 +733,7 @@ static void k_pad(struct vc_data *vc, unput_queue (vc,10 ); } -static void k_shift (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_shift (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {int old_state = shift_state;
@@ -774,7 +774,7 @@ static void k_shift(struct vc_data *vc, } } -static void k_meta (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_meta (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag)return ;
@@ -786,7 +786,7 @@ static void k_meta(struct vc_data *vc, uput_queue (vc, value |0x80 ); } -static void k_ascii (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_ascii (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {int base;
@@ -808,14 +808,14 @@ static void k_ascii(struct vc_data *vc, npadch = npadch * base + value; } -static void k_lock (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_lock (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {if (up_flag || rep)return ;chg_vc_kbd_lock (kbd, value); } -static void k_slock (struct vc_data *vc,unsigned char value,char up_flag,struct pt_regs *regs) +static void k_slock (struct vc_data *vc,unsigned short value,char up_flag,struct pt_regs *regs) {k_shift (vc, value, up_flag, regs);if (up_flag || rep)
include/linux/kd.h +3 -3
@@ -95,8 +95,8 @@ struct unimapinit {#define KDSKBLED 0x4B65/* set led flags (not lights) */ struct kbentry { -unsigned char kb_table; -unsigned char kb_index; +unsigned short kb_table; +unsigned short kb_index;unsigned short kb_value; };#define K_NORMTAB 0x00
@@ -108,7 +108,7 @@ struct kbentry {#define KDSKBENT 0x4B47/* sets one entry in translation table */ struct kbsentry { -unsigned char kb_func; +unsigned short kb_func;unsigned char kb_string[512 ]; };#define KDGKBSENT 0x4B48/* gets one function key string entry */