* Re: [RFC] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 [not found] ` <20101209191647.GC23781@core.coreip.homeip.net> @ 2010-12-13 9:06 ` Dmitry Torokhov 2010-12-13 18:31 ` Jarod Wilson 0 siblings, 1 reply; 3+ messages in thread From: Dmitry Torokhov @ 2010-12-13 9:06 UTC (permalink / raw) To: Henrik Rydberg Cc: Linux Input, LKML, linux-media, Mauro Carvalho Chehab, Jiri Kosina, Jarod Wilson, David Härdeman On Thu, Dec 09, 2010 at 11:16:47AM -0800, Dmitry Torokhov wrote: > On Thu, Dec 09, 2010 at 08:04:36PM +0100, Henrik Rydberg wrote: > > On 12/09/2010 10:39 AM, Dmitry Torokhov wrote: > > > > > The desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while > > > extending them to support large scancodes was a mistake. While we tried > > > to keep ABI intact (and we succeeded in doing that, programs compiled > > > on older kernels will work on newer ones) there is still a problem with > > > recompiling existing software with newer kernel headers. > > > > > > New kernel headers will supply updated ioctl numbers and kernel will > > > expect that userspace will use struct input_keymap_entry to set and > > > retrieve keymap data. But since the names of ioctls are still the same > > > userspace will happily compile even if not adjusted to make use of the > > > new structure and will start miraculously fail in the field. > > > > > > To avoid this issue let's revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions > > > and add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly > > > select the style of ioctls it wants to employ. > > > > > > Signed-off-by: Dmitry Torokhov <dtor@mail.ru> > > > --- > > > > > > Would the header change suffice in itself? > > We still need to change evdev to return -EINVAL on wrong sizes but yes, > the amount of change there could be more limited. I just thought that > splitting it up explicitly shows the differences in handling better. If > people prefer the previos version we could leave it, I am 50/50 between > them. > *ping* Mauro, Jarod, do you have an opinion on this? I think we need to settle on a solution before 2.6.37 is out. Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 2010-12-13 9:06 ` [RFC] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 Dmitry Torokhov @ 2010-12-13 18:31 ` Jarod Wilson 2010-12-14 1:54 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 3+ messages in thread From: Jarod Wilson @ 2010-12-13 18:31 UTC (permalink / raw) To: Dmitry Torokhov Cc: Henrik Rydberg, Linux Input, LKML, linux-media, Mauro Carvalho Chehab, Jiri Kosina, David Härdeman On Mon, Dec 13, 2010 at 01:06:00AM -0800, Dmitry Torokhov wrote: > On Thu, Dec 09, 2010 at 11:16:47AM -0800, Dmitry Torokhov wrote: > > On Thu, Dec 09, 2010 at 08:04:36PM +0100, Henrik Rydberg wrote: > > > On 12/09/2010 10:39 AM, Dmitry Torokhov wrote: > > > > > > > The desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while > > > > extending them to support large scancodes was a mistake. While we tried > > > > to keep ABI intact (and we succeeded in doing that, programs compiled > > > > on older kernels will work on newer ones) there is still a problem with > > > > recompiling existing software with newer kernel headers. > > > > > > > > New kernel headers will supply updated ioctl numbers and kernel will > > > > expect that userspace will use struct input_keymap_entry to set and > > > > retrieve keymap data. But since the names of ioctls are still the same > > > > userspace will happily compile even if not adjusted to make use of the > > > > new structure and will start miraculously fail in the field. > > > > > > > > To avoid this issue let's revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions > > > > and add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly > > > > select the style of ioctls it wants to employ. > > > > > > > > Signed-off-by: Dmitry Torokhov <dtor@mail.ru> > > > > --- > > > > > > > > > Would the header change suffice in itself? > > > > We still need to change evdev to return -EINVAL on wrong sizes but yes, > > the amount of change there could be more limited. I just thought that > > splitting it up explicitly shows the differences in handling better. If > > people prefer the previos version we could leave it, I am 50/50 between > > them. > > > > *ping* > > Mauro, Jarod, do you have an opinion on this? I think we need to settle > on a solution before 2.6.37 is out. Sorry, been meaning to reply, just been quite tied up with other work... I'm of two minds on this as well, but probably leaning slightly in favor of going ahead with an explicit _V2 so as to not break existing userspace in new and unexpected ways. There presumably isn't much in the way of userspace already adapted to the new interface, and its simple to do another rev of those that have been. Okay, yeah, this is probably the best way to go about it. Acked-by: Jarod Wilson <jarod@redhat.com> -- Jarod Wilson jarod@redhat.com ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [RFC] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 2010-12-13 18:31 ` Jarod Wilson @ 2010-12-14 1:54 ` Mauro Carvalho Chehab 0 siblings, 0 replies; 3+ messages in thread From: Mauro Carvalho Chehab @ 2010-12-14 1:54 UTC (permalink / raw) To: Jarod Wilson Cc: Dmitry Torokhov, Henrik Rydberg, Linux Input, LKML, linux-media, Jiri Kosina, David Härdeman Em 13-12-2010 16:31, Jarod Wilson escreveu: > On Mon, Dec 13, 2010 at 01:06:00AM -0800, Dmitry Torokhov wrote: >> On Thu, Dec 09, 2010 at 11:16:47AM -0800, Dmitry Torokhov wrote: >>> On Thu, Dec 09, 2010 at 08:04:36PM +0100, Henrik Rydberg wrote: >>>> On 12/09/2010 10:39 AM, Dmitry Torokhov wrote: >>>> >>>>> The desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while >>>>> extending them to support large scancodes was a mistake. While we tried >>>>> to keep ABI intact (and we succeeded in doing that, programs compiled >>>>> on older kernels will work on newer ones) there is still a problem with >>>>> recompiling existing software with newer kernel headers. >>>>> >>>>> New kernel headers will supply updated ioctl numbers and kernel will >>>>> expect that userspace will use struct input_keymap_entry to set and >>>>> retrieve keymap data. But since the names of ioctls are still the same >>>>> userspace will happily compile even if not adjusted to make use of the >>>>> new structure and will start miraculously fail in the field. >>>>> >>>>> To avoid this issue let's revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions >>>>> and add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly >>>>> select the style of ioctls it wants to employ. >>>>> >>>>> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> >>>>> --- >>>> >>>> >>>> Would the header change suffice in itself? >>> >>> We still need to change evdev to return -EINVAL on wrong sizes but yes, >>> the amount of change there could be more limited. I just thought that >>> splitting it up explicitly shows the differences in handling better. If >>> people prefer the previos version we could leave it, I am 50/50 between >>> them. >>> >> >> *ping* >> >> Mauro, Jarod, do you have an opinion on this? I think we need to settle >> on a solution before 2.6.37 is out. > > Sorry, been meaning to reply, just been quite tied up with other work... > I'm of two minds on this as well, but probably leaning slightly in favor > of going ahead with an explicit _V2 so as to not break existing userspace > in new and unexpected ways. There presumably isn't much in the way of > userspace already adapted to the new interface, and its simple to do > another rev of those that have been. Okay, yeah, this is probably the best > way to go about it. > > Acked-by: Jarod Wilson <jarod@redhat.com> > > I'm with some email troubles here. Not sure if you got my answer. I'm OK with those changes. Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com Cheers, Mauro ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-12-14 1:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20101209093948.GD8821@core.coreip.homeip.net>
[not found] ` <4D012844.3020009@euromail.se>
[not found] ` <20101209191647.GC23781@core.coreip.homeip.net>
2010-12-13 9:06 ` [RFC] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 Dmitry Torokhov
2010-12-13 18:31 ` Jarod Wilson
2010-12-14 1:54 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox