Re: [git pull] Input updates for 3.5-rc0

Dmitry Torokhov
2012-05-24T18:02:04Z

On Thu, May 24, 2012 at 10:33:49AM -0700, Linus Torvalds wrote:
> On Thu, May 24, 2012 at 1:32 AM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> > Hi Linus,
> >
> > to receive updates for the input subsystem. You will get:
>
> I get an annoying conflict, and the reason I call it annoying is not
> because it's hard to resolve, it's because doing that shows that you
> seem to have preferred using
>
> dev_dbg(&input->dev.parent, ...)
>
> over the much more natural
>
> dev_dbg(&input->dev, ...)
>
> which would seem to make more sense.
>
> Why? Are the input layer device names so bad that using them for debug
> output is useless? And if so, why *are* they so bad?
>
> I'm going to take your version over Greg's more straightforward one,
> because I assume Greg did things a bit more mindlessly and I think you
> presumably had a *reason* for your extra (stupid) ".parent" part. But
> I'm unhappy with it, because I suspect the reason you did that implies
> that the input layer does something bad.

A couple of points:

1. A driver should try to use the same device for all its messages and
input devices are not created yet at the time we try to bind USB
interface to a driver. Most (all?) USB probe() methods use interface's
device with dev_xxx() which shows exactly which interface we are dealing
with.

2. Input devices are essentially driver-less (they are class devices) and
therefore do not provide useful information if used in messages as the
format of the message would be:

input inputX: some message

which does not identify neitehr the driver nor hardware device. By
using input->dev.parent we get to the USB interface thus getting more
meaningful messages:

wacom 2-1.2:1.0: some error happened

We had a discussion with Greg about this and he was going to change his
patchset to use USB interfaces in the messages...

Thanks.

--
Dmitry