From: Mark Lord <lkml@rtr.ca>
To: Jean Delvare <khali@linux-fr.org>
Cc: Andy Walls <awalls@radix.net>,
linux-media@vger.kernel.org, Jarod Wilson <jarod@redhat.com>,
Mike Isely <isely@pobox.com>, Hans Verkuil <hverkuil@xs4all.nl>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Janne Grunau <j@jannau.net>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-input@vger.kernel.org
Subject: Regression 2.6.31: ioctl(EVIOCGNAME) no longer returns device name
Date: Sun, 19 Jul 2009 15:20:50 -0400 [thread overview]
Message-ID: <4A637212.2000002@rtr.ca> (raw)
In-Reply-To: <4A63656D.4070901@rtr.ca>
Mark Lord wrote:
> (resending.. somebody trimmed linux-kernel from the CC: earlier)
>
> Jean Delvare wrote:
>> On Sun, 19 Jul 2009 10:38:37 -0400, Mark Lord wrote:
>>> I'm debugging various other b0rked things in 2.6.31 here right now,
>>> so I had a closer look at the Hauppauge I/R remote issue.
>>>
>>> The ir_kbd_i2c driver *does* still find it after all.
>>> But the difference is that the output from 'lsinput' has changed
>>> and no longer says "Hauppauge". Which prevents the application from
>>> finding the remote control in the same way as before.
>>
>> OK, thanks for the investigation.
>>
>>> I'll hack the application code here now to use the new output,
>>> but I wonder what the the thousands of other users will do when
>>> they first try 2.6.31 after release ?
..
Mmm.. appears to be a systemwide thing, not just for the i2c stuff.
*All* of the input devices now no longer show their real names
when queried with ioctl(EVIOCGNAME). This is a regression from 2.6.30.
Note that the real names *are* still stored somewhere, because they
do still show up correctly under /sys/
> Here's a test program for you:
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <errno.h>
> #include <fcntl.h>
> #include <sys/ioctl.h>
> #include <linux/input.h>
>
> // Invoke with "/dev/input/event4" as argv[1]
> //
> // On 2.6.30, this gives the real name, eg. "i2c IR (Hauppauge)".
> // On 2.6.31, it simply gives "event4" as the "name".
>
> int main(int argc, char *argv[])
> {
> char buf[32];
> int fd, rc;
>
> fd = open(argv[1], O_RDONLY);
> if (fd == -1) {
> perror(argv[1]);
> exit(1);
> }
> rc = ioctl(fd,EVIOCGNAME(sizeof(buf)),buf);
> if (rc >= 0)
> fprintf(stderr," name : \"%.*s\"\n", rc, buf);
> return 0;
> }
..
Since this regression should be visible on *any* system, not just mine,
I think perhaps the input-subsystem developers ought to be the ones to
go and burn some time on a git-bisect, if need be.
Eg. Here's what's different on my notebook here:
--- lsinput.2.6.30 2009-07-19 15:14:38.278293568 -0400
+++ lsinput.2.6.31 2009-07-19 15:15:43.725375340 -0400
@@ -3,7 +3,7 @@
vendor : 0x1
product : 0x1
version : 43841
- name : "AT Translated Set 2 keyboard"
+ name : "event0"
phys : "isa0060/serio0/input0"
bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
@@ -12,7 +12,7 @@
vendor : 0x2
product : 0x7
version : 4017
- name : "SynPS/2 Synaptics TouchPad"
+ name : "event1"
phys : "isa0060/serio1/input0"
bits ev : EV_SYN EV_KEY EV_ABS
@@ -21,7 +21,7 @@
vendor : 0x0
product : 0x5
version : 0
- name : "Lid Switch"
+ name : "event2"
phys : "PNP0C0D/button/input0"
bits ev : EV_SYN EV_SW
@@ -30,7 +30,7 @@
vendor : 0x0
product : 0x1
version : 0
- name : "Power Button"
+ name : "event3"
phys : "PNP0C0C/button/input0"
bits ev : EV_SYN EV_KEY
@@ -39,7 +39,7 @@
vendor : 0x0
product : 0x3
version : 0
- name : "Sleep Button"
+ name : "event4"
phys : "PNP0C0E/button/input0"
bits ev : EV_SYN EV_KEY
@@ -48,34 +48,16 @@
vendor : 0x1f
product : 0x1
version : 256
- name : "PC Speaker"
+ name : "event5"
phys : "isa0061/input0"
bits ev : EV_SYN EV_SND
/dev/input/event6
- bustype : (null)
- vendor : 0x0
- product : 0x0
- version : 0
- name : "HDA Intel Mic at Ext Right Jack"
- phys : "ALSA"
- bits ev : EV_SYN EV_SW
-
-/dev/input/event7
- bustype : (null)
- vendor : 0x0
- product : 0x0
- version : 0
- name : "HDA Intel HP Out at Ext Right Ja"
- phys : "ALSA"
- bits ev : EV_SYN EV_SW
-
-/dev/input/event8
bustype : BUS_USB
vendor : 0x46d
product : 0xc016
version : 272
- name : "Logitech Optical USB Mouse"
+ name : "event6"
phys : "usb-0000:00:1d.7-5.4/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_MSC
next prev parent reply other threads:[~2009-07-19 19:20 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-17 20:29 [PATCH 0/3] ir-kbd-i2c, cx18: IR devices for CX23418 boards Andy Walls
2009-07-17 20:35 ` [PATCH 1/3] ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_type Andy Walls
2009-07-19 12:47 ` Jean Delvare
2009-07-19 12:52 ` Mark Lord
2009-07-19 12:55 ` Jean Delvare
2009-07-19 13:10 ` Mark Lord
2009-07-19 13:17 ` Mark Lord
2009-07-19 14:38 ` Mark Lord
2009-07-19 17:08 ` Jean Delvare
2009-07-19 18:15 ` Mark Lord
2009-07-19 18:26 ` Mark Lord
2009-07-19 19:20 ` Mark Lord [this message]
2009-07-19 19:39 ` Regression 2.6.31: ioctl(EVIOCGNAME) no longer returns device name Dmitry Torokhov
2009-07-19 20:14 ` Mark Lord
2009-07-20 11:21 ` Andy Walls
2009-07-19 19:40 ` Jean Delvare
2009-07-19 19:31 ` [PATCH 1/3] ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_type Dmitry Torokhov
2009-07-19 16:29 ` Jean Delvare
2009-07-21 0:07 ` Andy Walls
2009-07-21 9:14 ` Jean Delvare
2009-07-17 20:46 ` [PATCH 2/3] 2/3: cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers Andy Walls
2009-07-19 13:38 ` Jean Delvare
2009-07-20 18:51 ` Jarod Wilson
2009-07-20 23:40 ` Andy Walls
2009-07-21 0:26 ` Andy Walls
2009-07-17 20:49 ` [PATCH 3/3] ir-kbd-i2c: Add support " Andy Walls
2009-07-19 19:22 ` Jean Delvare
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A637212.2000002@rtr.ca \
--to=lkml@rtr.ca \
--cc=akpm@linux-foundation.org \
--cc=awalls@radix.net \
--cc=hverkuil@xs4all.nl \
--cc=isely@pobox.com \
--cc=j@jannau.net \
--cc=jarod@redhat.com \
--cc=khali@linux-fr.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.