lkml.org 
[lkml]   [2004]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 8/15] New set of input patches: atkbd - use bitfields
On Wed, Apr 21, 2004 at 12:57:51AM -0500, Dmitry Torokhov wrote:
>
> ===================================================================
>
>
> ChangeSet@1.1909, 2004-04-20 22:29:12-05:00, dtor_core@ameritech.net
> Input: remove unneeded fields in atkbd structure, convert to bitfields

I think this is incorrect. We cannot set the bits in bitfields
atomically, which we need in some cases. We probably need to add
volatiles to some of them, too.


> diff -Nru a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
> --- a/drivers/input/keyboard/atkbd.c Tue Apr 20 23:08:14 2004
> +++ b/drivers/input/keyboard/atkbd.c Tue Apr 20 23:08:14 2004
> @@ -26,7 +26,6 @@
> #include <linux/input.h>
> #include <linux/serio.h>
> #include <linux/workqueue.h>
> -#include <linux/timer.h>
>
> MODULE_AUTHOR("Vojtech Pavlik <vojtech@suse.cz>");
> MODULE_DESCRIPTION("AT and PS/2 keyboard driver");
> @@ -173,22 +172,23 @@
> unsigned char keycode[512];
> struct input_dev dev;
> struct serio *serio;
> - struct timer_list timer;
> +
> char name[64];
> char phys[32];
> + unsigned short id;
> + unsigned char set;
> + unsigned int translated:1;
> + unsigned int extra:1;
> + unsigned int write:1;
> +
> unsigned char cmdbuf[4];
> unsigned char cmdcnt;
> - unsigned char set;
> - unsigned char extra;
> - unsigned char release;
> - int lastkey;
> volatile signed char ack;
> unsigned char emul;
> - unsigned short id;
> - unsigned char write;
> - unsigned char translated;
> - unsigned char resend;
> - unsigned char bat_xl;
> + unsigned int resend:1;
> + unsigned int release:1;
> + unsigned int bat_xl:1;
> +
> unsigned int last;
> unsigned long time;
> };
>

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.110 / U:1.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site