* keyboard.c/kd.h field width fixes
@ 2003-05-22 16:00 William Lee Irwin III
0 siblings, 0 replies; 3+ messages in thread
From: William Lee Irwin III @ 2003-05-22 16:00 UTC (permalink / raw)
To: jsimmons; +Cc: linux-kernel
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
diff -prauN mm8-2.5.69-1/drivers/char/keyboard.c mm8-2.5.69-2/drivers/char/keyboard.c
--- mm8-2.5.69-1/drivers/char/keyboard.c 2003-05-22 04:54:50.000000000 -0700
+++ mm8-2.5.69-2/drivers/char/keyboard.c 2003-05-22 08:02:02.000000000 -0700
@@ -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, uns
printk(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, un
applkey(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, un
put_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, u
put_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)
diff -prauN mm8-2.5.69-1/include/linux/kd.h mm8-2.5.69-2/include/linux/kd.h
--- mm8-2.5.69-1/include/linux/kd.h 2003-05-04 16:53:37.000000000 -0700
+++ mm8-2.5.69-2/include/linux/kd.h 2003-05-22 07:57:24.000000000 -0700
@@ -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 */
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: keyboard.c/kd.h field width fixes
@ 2003-05-22 16:22 Andries.Brouwer
2003-05-22 16:24 ` William Lee Irwin III
0 siblings, 1 reply; 3+ messages in thread
From: Andries.Brouwer @ 2003-05-22 16:22 UTC (permalink / raw)
To: jsimmons, wli; +Cc: linux-kernel
From: William Lee Irwin III <wli@holomorphy.com>
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.
diff -prauN mm8-2.5.69-1/include/linux/kd.h mm8-2.5.69-2/include/linux/kd.h
--- mm8-2.5.69-1/include/linux/kd.h 2003-05-04 16:53:37.000000000 -0700
+++ mm8-2.5.69-2/include/linux/kd.h 2003-05-22 07:57:24.000000000 -0700
@@ -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
Unfortunately it also changes the ioctl interface.
This should not be applied.
Andries
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: keyboard.c/kd.h field width fixes
2003-05-22 16:22 Andries.Brouwer
@ 2003-05-22 16:24 ` William Lee Irwin III
0 siblings, 0 replies; 3+ messages in thread
From: William Lee Irwin III @ 2003-05-22 16:24 UTC (permalink / raw)
To: Andries.Brouwer; +Cc: jsimmons, linux-kernel
On Thu, May 22, 2003 at 06:22:49PM +0200, Andries.Brouwer@cwi.nl wrote:
> Unfortunately it also changes the ioctl interface.
> This should not be applied.
Okay, James, drop this one.
Andries, do you have a better attack on this one?
-- wli
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-05-22 16:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-22 16:00 keyboard.c/kd.h field width fixes William Lee Irwin III
-- strict thread matches above, loose matches on Subject: below --
2003-05-22 16:22 Andries.Brouwer
2003-05-22 16:24 ` William Lee Irwin III
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.