Re: [PATCH v3] input: tablet: add Pegasus Notetaker tablet driver

Martin Kepplinger
2016-05-23T17:19:10Z

Am 2016-05-23 um 15:00 schrieb Oliver Neukum:
> On Mon, 2016-05-23 at 14:43 +0200, Martin Kepplinger wrote:
>> Am 2016-05-23 um 14:26 schrieb Oliver Neukum:
>>> On Mon, 2016-05-23 at 13:39 +0200, Martin Kepplinger wrote:
>>>
>>>> It's *really* fun to use as an input tablet though! So let's support this
>>>> for everybody.
>>>
>>> Hi,
>>>
>>> I am afraid there are a few issues.
>>
>> Thanks for having a look, comments below.
>>
>>>
>>> 1. Why the kernel thread?
>>
>> I provide switching to the xy tablet mode by pressing a button during
>> runtime. So usb_control_msg() is called from the thread, not the
>> interrupt routine.
>>
>> We don't get in the way of any user app. If we leave that functionality
>> out, users may have to un- and replug in the device after using
>> userspace apps that transfer data or the like.
>
> The functionality is OK, but the implementation, though creative,
> is buggy.
>
> a - multiple devices will fail
> b - you have a race condition that will fail to wake the thread
> if it is still running when the button is pressed again
>
> Kernel threads are wasteful. Using the normal system work queue might be
> much easier

You're right. I'll definitely change this.

>
>>> 2. This driver has questionable power management.
>>
>> I think I do it how others do it. Suspend/resume works. Anything
>> specific required here?
>
> Runtime PM is missing.

There is no way to turn the device off. So like any other mouse or input
tablet we don't use runtime PM.

In case the Pen is out of range or off, we just don't handle URBs and do
nothing.

... but I may miss something, so in this case please get back to me.

thanks

martin

>
> Regards
> Oliver
>
>