![]() | |||||||||||||
Messages in this thread
|
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 13:02 [from the cache] ©2003-2008 | |||||||||||||