LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [RFC 0/2] Add EVIOC mechanism to extract the MT slot state
@ 2011-01-27 10:35 Benjamin Tissoires
2011-01-27 10:35 ` [RFC 1/2] input: mt: Add method " Benjamin Tissoires
2011-01-27 10:35 ` [RFC 2/2] input: evdev: Add EVIOC mechanism " Benjamin Tissoires
0 siblings, 2 replies; 10+ messages in thread
From: Benjamin Tissoires @ 2011-01-27 10:35 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Ping Cheng, Benjamin Tissoires,
Jiri Kosina, Chris Bagwell, Rafi Rubin, Stephane Chatty,
Peter Hutterer, linux-input, linux-kernel
Hi guys,
This patchset is a rework of Henrik's original work.
Henrik, I kept your signed-off-by, please tell me if it's ok with you.
I just changed the method call (and signature) for it to be compliant with the new EVIOC handling.
I'm not very happy with it (for instance, there is a call of an mt stuff in generic input), but it's a start.
Cheers,
Benjamin
^ permalink raw reply [flat|nested] 10+ messages in thread
* [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-27 10:35 [RFC 0/2] Add EVIOC mechanism to extract the MT slot state Benjamin Tissoires
@ 2011-01-27 10:35 ` Benjamin Tissoires
2011-01-27 12:06 ` Henrik Rydberg
2011-01-27 10:35 ` [RFC 2/2] input: evdev: Add EVIOC mechanism " Benjamin Tissoires
1 sibling, 1 reply; 10+ messages in thread
From: Benjamin Tissoires @ 2011-01-27 10:35 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Ping Cheng, Benjamin Tissoires,
Jiri Kosina, Chris Bagwell, Rafi Rubin, Stephane Chatty,
Peter Hutterer, linux-input, linux-kernel
This patch adds the function input_mt_get_abs_value(), which may be
used to extract the current state of the MT slots.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
drivers/input/input-mt.c | 32 ++++++++++++++++++++++++++++++++
include/linux/input/mt.h | 1 +
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index c48c81f..5b95e38 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -168,3 +168,35 @@ void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count)
}
}
EXPORT_SYMBOL(input_mt_report_pointer_emulation);
+
+/**
+ * input_mt_get_absinfo - retrieve MT state variables from a device slot
+ * @dev: input device which state is being queried
+ * @code: ABS code to retrieve
+ * @slot: slot to retrieve from
+ *
+ * Return the ABS state of the given MT slot. If code is not an MT
+ * event, the corresponding ABS event is returned.
+ *
+ * This function may be called by anyone interested in extracting the
+ * current MT state. Used by evdev handlers.
+ */
+struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot)
+{
+ unsigned int mtmap = code > ABS_MT_FIRST ? code - ABS_MT_FIRST : 0;
+ unsigned long flags;
+ struct input_absinfo retval;
+
+ spin_lock_irqsave(&dev->event_lock, flags);
+ if (!mtmap)
+ retval = dev->absinfo[code];
+ else if (slot >= 0 && slot < dev->mtsize) {
+ retval = dev->absinfo[code];
+ retval.value = dev->mt[slot].abs[mtmap];
+ } else
+ retval.value = 0;
+ spin_unlock_irqrestore(&dev->event_lock, flags);
+
+ return retval;
+}
+EXPORT_SYMBOL(input_mt_get_absinfo);
diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
index b3ac06a..a71a27f 100644
--- a/include/linux/input/mt.h
+++ b/include/linux/input/mt.h
@@ -54,4 +54,5 @@ void input_mt_report_slot_state(struct input_dev *dev,
void input_mt_report_finger_count(struct input_dev *dev, int count);
void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count);
+struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot);
#endif
--
1.7.3.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [RFC 2/2] input: evdev: Add EVIOC mechanism to extract the MT slot state
2011-01-27 10:35 [RFC 0/2] Add EVIOC mechanism to extract the MT slot state Benjamin Tissoires
2011-01-27 10:35 ` [RFC 1/2] input: mt: Add method " Benjamin Tissoires
@ 2011-01-27 10:35 ` Benjamin Tissoires
2011-01-27 12:09 ` Henrik Rydberg
1 sibling, 1 reply; 10+ messages in thread
From: Benjamin Tissoires @ 2011-01-27 10:35 UTC (permalink / raw)
To: Dmitry Torokhov, Henrik Rydberg, Ping Cheng, Benjamin Tissoires,
Jiri Kosina, Chris Bagwell, Rafi Rubin, Stephane Chatty,
Peter Hutterer, linux-input, linux-kernel
This patch adds the ability to extract the MT slot state sequentially
via EVIOCGABS. The slot parameter is first selected by calling
EVIOCSABS with ABS_MT_SLOT as argument, followed by a set of EVIOCGABS
calls. The slot selection is local to the evdev client handler, and
does not affect the actual input state.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
---
drivers/input/evdev.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index c8471a2..a689079 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -23,6 +23,7 @@
#include <linux/input.h>
#include <linux/major.h>
#include <linux/device.h>
+#include <linux/input/mt.h>
#include "input-compat.h"
struct evdev {
@@ -45,6 +46,7 @@ struct evdev_client {
struct fasync_struct *fasync;
struct evdev *evdev;
struct list_head node;
+ int slot; /* used to extract MT events via EVIOC */
int bufsize;
struct input_event buffer[];
};
@@ -741,7 +743,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
return -EINVAL;
t = _IOC_NR(cmd) & ABS_MAX;
- abs = dev->absinfo[t];
+ abs = input_mt_get_absinfo(dev, t, client->slot);
if (copy_to_user(p, &abs, min_t(size_t,
size, sizeof(struct input_absinfo))))
@@ -767,9 +769,10 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
if (size < sizeof(struct input_absinfo))
abs.resolution = 0;
- /* We can't change number of reserved MT slots */
- if (t == ABS_MT_SLOT)
- return -EINVAL;
+ if (t == ABS_MT_SLOT) {
+ client->slot = abs.value;
+ return 0;
+ }
/*
* Take event lock to ensure that we are not
--
1.7.3.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-27 10:35 ` [RFC 1/2] input: mt: Add method " Benjamin Tissoires
@ 2011-01-27 12:06 ` Henrik Rydberg
2011-01-27 12:49 ` Benjamin Tissoires
0 siblings, 1 reply; 10+ messages in thread
From: Henrik Rydberg @ 2011-01-27 12:06 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
Hi Benjamin,
On Thu, Jan 27, 2011 at 11:35:46AM +0100, Benjamin Tissoires wrote:
> This patch adds the function input_mt_get_abs_value(), which may be
Ehm, input_mt_get_absinfo?
> used to extract the current state of the MT slots.
>
> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
I had rather re-add this myself, thanks.
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
> ---
> drivers/input/input-mt.c | 32 ++++++++++++++++++++++++++++++++
> include/linux/input/mt.h | 1 +
> 2 files changed, 33 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
> index c48c81f..5b95e38 100644
> --- a/drivers/input/input-mt.c
> +++ b/drivers/input/input-mt.c
> @@ -168,3 +168,35 @@ void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count)
> }
> }
> EXPORT_SYMBOL(input_mt_report_pointer_emulation);
> +
> +/**
> + * input_mt_get_absinfo - retrieve MT state variables from a device slot
> + * @dev: input device which state is being queried
> + * @code: ABS code to retrieve
> + * @slot: slot to retrieve from
> + *
> + * Return the ABS state of the given MT slot. If code is not an MT
> + * event, the corresponding ABS event is returned.
> + *
> + * This function may be called by anyone interested in extracting the
> + * current MT state. Used by evdev handlers.
> + */
> +struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot)
Why return the struct? Give it a pointer instead, so the return value
can be used for errors.
Also, I wonder about the usefulness of extracting the absinfo here -
only the value depends on the slot argument, and absinfo does not
require the same lock protection. Why not keep the layout from the
original patch?
> +{
> + unsigned int mtmap = code > ABS_MT_FIRST ? code - ABS_MT_FIRST : 0;
Should rather return -EINVAL on bad argument.
> + unsigned long flags;
> + struct input_absinfo retval;
> +
> + spin_lock_irqsave(&dev->event_lock, flags);
> + if (!mtmap)
> + retval = dev->absinfo[code];
> + else if (slot >= 0 && slot < dev->mtsize) {
> + retval = dev->absinfo[code];
> + retval.value = dev->mt[slot].abs[mtmap];
Please use input_mt_get_value().
> + } else
> + retval.value = 0;
> + spin_unlock_irqrestore(&dev->event_lock, flags);
> +
> + return retval;
> +}
> +EXPORT_SYMBOL(input_mt_get_absinfo);
> diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
> index b3ac06a..a71a27f 100644
> --- a/include/linux/input/mt.h
> +++ b/include/linux/input/mt.h
> @@ -54,4 +54,5 @@ void input_mt_report_slot_state(struct input_dev *dev,
> void input_mt_report_finger_count(struct input_dev *dev, int count);
> void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count);
>
> +struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot);
> #endif
Thanks,
Henrik
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 2/2] input: evdev: Add EVIOC mechanism to extract the MT slot state
2011-01-27 10:35 ` [RFC 2/2] input: evdev: Add EVIOC mechanism " Benjamin Tissoires
@ 2011-01-27 12:09 ` Henrik Rydberg
2011-01-28 17:39 ` Dmitry Torokhov
0 siblings, 1 reply; 10+ messages in thread
From: Henrik Rydberg @ 2011-01-27 12:09 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
On Thu, Jan 27, 2011 at 11:35:47AM +0100, Benjamin Tissoires wrote:
> This patch adds the ability to extract the MT slot state sequentially
> via EVIOCGABS. The slot parameter is first selected by calling
> EVIOCSABS with ABS_MT_SLOT as argument, followed by a set of EVIOCGABS
> calls. The slot selection is local to the evdev client handler, and
> does not affect the actual input state.
Ok - it seemed like a reasonable idea at the time, but..
> @@ -767,9 +769,10 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
> if (size < sizeof(struct input_absinfo))
> abs.resolution = 0;
>
> - /* We can't change number of reserved MT slots */
> - if (t == ABS_MT_SLOT)
> - return -EINVAL;
> + if (t == ABS_MT_SLOT) {
> + client->slot = abs.value;
> + return 0;
> + }
...this just does not look right. Perhaps there should really be a
different ioctl to retrieve the slot values instead. Dmitry?
Thanks,
Henrik
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-27 12:06 ` Henrik Rydberg
@ 2011-01-27 12:49 ` Benjamin Tissoires
2011-01-28 17:33 ` Henrik Rydberg
0 siblings, 1 reply; 10+ messages in thread
From: Benjamin Tissoires @ 2011-01-27 12:49 UTC (permalink / raw)
To: Henrik Rydberg
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
Hi Henrik,
On Thu, Jan 27, 2011 at 13:06, Henrik Rydberg <rydberg@euromail.se> wrote:
> Hi Benjamin,
>
> On Thu, Jan 27, 2011 at 11:35:46AM +0100, Benjamin Tissoires wrote:
>> This patch adds the function input_mt_get_abs_value(), which may be
>
> Ehm, input_mt_get_absinfo?
In fact, the idea was to put this on the table again ;). I have no
idea of what is the right think to do in such case.
So I'll take all comments.
>
>> used to extract the current state of the MT slots.
>>
>> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
>
> I had rather re-add this myself, thanks.
That was my question. Plus I had a subliminal message in which I
intend you to take the drive on this work. ;)
>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
>> ---
>> drivers/input/input-mt.c | 32 ++++++++++++++++++++++++++++++++
>> include/linux/input/mt.h | 1 +
>> 2 files changed, 33 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
>> index c48c81f..5b95e38 100644
>> --- a/drivers/input/input-mt.c
>> +++ b/drivers/input/input-mt.c
>> @@ -168,3 +168,35 @@ void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count)
>> }
>> }
>> EXPORT_SYMBOL(input_mt_report_pointer_emulation);
>> +
>> +/**
>> + * input_mt_get_absinfo - retrieve MT state variables from a device slot
>> + * @dev: input device which state is being queried
>> + * @code: ABS code to retrieve
>> + * @slot: slot to retrieve from
>> + *
>> + * Return the ABS state of the given MT slot. If code is not an MT
>> + * event, the corresponding ABS event is returned.
>> + *
>> + * This function may be called by anyone interested in extracting the
>> + * current MT state. Used by evdev handlers.
>> + */
>> +struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot)
>
> Why return the struct? Give it a pointer instead, so the return value
> can be used for errors.
Quick and dirty think. Maybe the old implementation is better.
>
> Also, I wonder about the usefulness of extracting the absinfo here -
> only the value depends on the slot argument, and absinfo does not
> require the same lock protection. Why not keep the layout from the
> original patch?
same above
>
>> +{
>> + unsigned int mtmap = code > ABS_MT_FIRST ? code - ABS_MT_FIRST : 0;
>
> Should rather return -EINVAL on bad argument.
I did not know how to handle the original code:
"unsigned int mtmap = input_mt_abs_map[code];"
Now I know.
>
>> + unsigned long flags;
>> + struct input_absinfo retval;
>> +
>> + spin_lock_irqsave(&dev->event_lock, flags);
>> + if (!mtmap)
>> + retval = dev->absinfo[code];
>> + else if (slot >= 0 && slot < dev->mtsize) {
>> + retval = dev->absinfo[code];
>> + retval.value = dev->mt[slot].abs[mtmap];
>
> Please use input_mt_get_value().
This is a problem when working with code that was send 6 months ago.
>
>> + } else
>> + retval.value = 0;
>> + spin_unlock_irqrestore(&dev->event_lock, flags);
>> +
>> + return retval;
>> +}
>> +EXPORT_SYMBOL(input_mt_get_absinfo);
>> diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h
>> index b3ac06a..a71a27f 100644
>> --- a/include/linux/input/mt.h
>> +++ b/include/linux/input/mt.h
>> @@ -54,4 +54,5 @@ void input_mt_report_slot_state(struct input_dev *dev,
>> void input_mt_report_finger_count(struct input_dev *dev, int count);
>> void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count);
>>
>> +struct input_absinfo input_mt_get_absinfo(struct input_dev *dev, unsigned int code, int slot);
>> #endif
>
> Thanks,
> Henrik
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-27 12:49 ` Benjamin Tissoires
@ 2011-01-28 17:33 ` Henrik Rydberg
2011-01-28 18:10 ` Benjamin Tissoires
0 siblings, 1 reply; 10+ messages in thread
From: Henrik Rydberg @ 2011-01-28 17:33 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
On Thu, Jan 27, 2011 at 01:49:18PM +0100, Benjamin Tissoires wrote:
> Hi Henrik,
>
> On Thu, Jan 27, 2011 at 13:06, Henrik Rydberg <rydberg@euromail.se> wrote:
> > Hi Benjamin,
> >
> > On Thu, Jan 27, 2011 at 11:35:46AM +0100, Benjamin Tissoires wrote:
> >> This patch adds the function input_mt_get_abs_value(), which may be
> >
> > Ehm, input_mt_get_absinfo?
>
> In fact, the idea was to put this on the table again ;). I have no
> idea of what is the right think to do in such case.
> So I'll take all comments.
>
> >
> >> used to extract the current state of the MT slots.
> >>
> >> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
> >
> > I had rather re-add this myself, thanks.
>
> That was my question. Plus I had a subliminal message in which I
> intend you to take the drive on this work. ;)
Thanks for the patches, Benjamin, perhaps they do need a bit of
rewrite or a new ioctl. We will see what happens.
Thanks,
Henrik
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 2/2] input: evdev: Add EVIOC mechanism to extract the MT slot state
2011-01-27 12:09 ` Henrik Rydberg
@ 2011-01-28 17:39 ` Dmitry Torokhov
0 siblings, 0 replies; 10+ messages in thread
From: Dmitry Torokhov @ 2011-01-28 17:39 UTC (permalink / raw)
To: Henrik Rydberg
Cc: Benjamin Tissoires, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
On Thu, Jan 27, 2011 at 01:09:45PM +0100, Henrik Rydberg wrote:
> On Thu, Jan 27, 2011 at 11:35:47AM +0100, Benjamin Tissoires wrote:
> > This patch adds the ability to extract the MT slot state sequentially
> > via EVIOCGABS. The slot parameter is first selected by calling
> > EVIOCSABS with ABS_MT_SLOT as argument, followed by a set of EVIOCGABS
> > calls. The slot selection is local to the evdev client handler, and
> > does not affect the actual input state.
>
> Ok - it seemed like a reasonable idea at the time, but..
>
> > @@ -767,9 +769,10 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
> > if (size < sizeof(struct input_absinfo))
> > abs.resolution = 0;
> >
> > - /* We can't change number of reserved MT slots */
> > - if (t == ABS_MT_SLOT)
> > - return -EINVAL;
> > + if (t == ABS_MT_SLOT) {
> > + client->slot = abs.value;
> > + return 0;
> > + }
>
> ...this just does not look right. Perhaps there should really be a
> different ioctl to retrieve the slot values instead. Dmitry?
>
Yes, a separate ioctl with explicit slot number is much better option.
Then it is automatically multi-thread safe and just does not look
ugly as hell.
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-28 17:33 ` Henrik Rydberg
@ 2011-01-28 18:10 ` Benjamin Tissoires
2011-01-28 18:34 ` Henrik Rydberg
0 siblings, 1 reply; 10+ messages in thread
From: Benjamin Tissoires @ 2011-01-28 18:10 UTC (permalink / raw)
To: Henrik Rydberg
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
On Fri, Jan 28, 2011 at 18:33, Henrik Rydberg <rydberg@euromail.se> wrote:
> On Thu, Jan 27, 2011 at 01:49:18PM +0100, Benjamin Tissoires wrote:
>> Hi Henrik,
>>
>> On Thu, Jan 27, 2011 at 13:06, Henrik Rydberg <rydberg@euromail.se> wrote:
>> > Hi Benjamin,
>> >
>> > On Thu, Jan 27, 2011 at 11:35:46AM +0100, Benjamin Tissoires wrote:
>> >> This patch adds the function input_mt_get_abs_value(), which may be
>> >
>> > Ehm, input_mt_get_absinfo?
>>
>> In fact, the idea was to put this on the table again ;). I have no
>> idea of what is the right think to do in such case.
>> So I'll take all comments.
>>
>> >
>> >> used to extract the current state of the MT slots.
>> >>
>> >> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
>> >
>> > I had rather re-add this myself, thanks.
>>
>> That was my question. Plus I had a subliminal message in which I
>> intend you to take the drive on this work. ;)
>
> Thanks for the patches, Benjamin, perhaps they do need a bit of
> rewrite or a new ioctl. We will see what happens.
>
Today I found a bug in these 2 patches: they send garbage with
devices that use protocol A.
This is definitely a bad idea to send the input_absinfo.
In addition to that, using the original behavior (which seems better)
does not seems to add sth in regard to input_mt_get_value.
It would just add some guards that can be resumed in just a test:
(code >= ABS_MT_FIRST && code <= ABS_MT_LAST && dev->mt &&
slot >= 0 && slot < dev->mtsize)
Henrik, if you want to introduce the new IOCTL, feel free, I don't
need it right now.
Cheers,
Benjamin
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [RFC 1/2] input: mt: Add method to extract the MT slot state
2011-01-28 18:10 ` Benjamin Tissoires
@ 2011-01-28 18:34 ` Henrik Rydberg
0 siblings, 0 replies; 10+ messages in thread
From: Henrik Rydberg @ 2011-01-28 18:34 UTC (permalink / raw)
To: Benjamin Tissoires
Cc: Dmitry Torokhov, Ping Cheng, Jiri Kosina, Chris Bagwell,
Rafi Rubin, Stephane Chatty, Peter Hutterer, linux-input,
linux-kernel
> > Thanks for the patches, Benjamin, perhaps they do need a bit of
> > rewrite or a new ioctl. We will see what happens.
> >
>
> Today I found a bug in these 2 patches: they send garbage with
> devices that use protocol A.
> This is definitely a bad idea to send the input_absinfo.
>
> In addition to that, using the original behavior (which seems better)
> does not seems to add sth in regard to input_mt_get_value.
> It would just add some guards that can be resumed in just a test:
> (code >= ABS_MT_FIRST && code <= ABS_MT_LAST && dev->mt &&
> slot >= 0 && slot < dev->mtsize)
>
> Henrik, if you want to introduce the new IOCTL, feel free, I don't
> need it right now.
Ok - for the record, neither of us actually re-initiated this thing,
so it still falls into the nice-to-have category. The good thing is
there is now a clear path on how to proceed.
Thanks Benjamin.
Henrik
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-01-28 18:35 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27 10:35 [RFC 0/2] Add EVIOC mechanism to extract the MT slot state Benjamin Tissoires
2011-01-27 10:35 ` [RFC 1/2] input: mt: Add method " Benjamin Tissoires
2011-01-27 12:06 ` Henrik Rydberg
2011-01-27 12:49 ` Benjamin Tissoires
2011-01-28 17:33 ` Henrik Rydberg
2011-01-28 18:10 ` Benjamin Tissoires
2011-01-28 18:34 ` Henrik Rydberg
2011-01-27 10:35 ` [RFC 2/2] input: evdev: Add EVIOC mechanism " Benjamin Tissoires
2011-01-27 12:09 ` Henrik Rydberg
2011-01-28 17:39 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).