diff -uprN ./linux-2.6.10/drivers/input/evdev.c ./linux-2.6.10-input/drivers/input/evdev.c --- ./linux-2.6.10/drivers/input/evdev.c 2004-12-24 15:35:23.000000000 -0600 +++ ./linux-2.6.10-input/drivers/input/evdev.c 2005-01-11 13:51:43.000000000 -0600 @@ -188,6 +188,9 @@ static ssize_t evdev_read(struct file * retval += sizeof(struct input_event); } + if (retval > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + return retval; } diff -uprN ./linux-2.6.10/drivers/input/joydev.c ./linux-2.6.10-input/drivers/input/joydev.c --- ./linux-2.6.10/drivers/input/joydev.c 2004-12-24 15:34:45.000000000 -0600 +++ ./linux-2.6.10-input/drivers/input/joydev.c 2005-01-11 13:51:43.000000000 -0600 @@ -273,6 +273,9 @@ static ssize_t joydev_read(struct file * retval += sizeof(struct js_event); } + if (retval > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + return retval; } diff -uprN ./linux-2.6.10/drivers/input/mousedev.c ./linux-2.6.10-input/drivers/input/mousedev.c --- ./linux-2.6.10/drivers/input/mousedev.c 2004-12-24 15:35:28.000000000 -0600 +++ ./linux-2.6.10-input/drivers/input/mousedev.c 2005-01-11 13:51:43.000000000 -0600 @@ -571,6 +571,9 @@ static ssize_t mousedev_read(struct file if (copy_to_user(buffer, list->ps2 + list->bufsiz - list->buffer - count, count)) return -EFAULT; + if (count > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + return count; } diff -uprN ./linux-2.6.10/drivers/input/tsdev.c ./linux-2.6.10-input/drivers/input/tsdev.c --- ./linux-2.6.10/drivers/input/tsdev.c 2004-12-24 15:35:39.000000000 -0600 +++ ./linux-2.6.10-input/drivers/input/tsdev.c 2005-01-11 13:51:43.000000000 -0600 @@ -225,6 +225,9 @@ static ssize_t tsdev_read(struct file *f retval += sizeof (struct ts_event); } + if (retval > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + return retval; } diff -uprN ./linux-2.6.10/drivers/usb/core/devio.c ./linux-2.6.10-input/drivers/usb/core/devio.c --- ./linux-2.6.10/drivers/usb/core/devio.c 2004-12-24 15:34:45.000000000 -0600 +++ ./linux-2.6.10-input/drivers/usb/core/devio.c 2005-01-11 13:51:43.000000000 -0600 @@ -174,6 +174,9 @@ static ssize_t usbdev_read(struct file * pos += length; } + if (ret > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + err: usb_unlock_device(dev); return ret; diff -uprN ./linux-2.6.10/drivers/usb/input/hiddev.c ./linux-2.6.10-input/drivers/usb/input/hiddev.c --- ./linux-2.6.10/drivers/usb/input/hiddev.c 2004-12-24 15:34:32.000000000 -0600 +++ ./linux-2.6.10-input/drivers/usb/input/hiddev.c 2005-01-11 13:51:43.000000000 -0600 @@ -358,6 +358,9 @@ static ssize_t hiddev_read(struct file * } + if(retval > 0) + file->f_dentry->d_inode->i_atime = CURRENT_TIME; + return retval; }