Re: [PATCH 2/3] usbtouchscreen: Implement runtime power management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 07, 2010 at 10:47:33PM +0200, Oliver Neukum wrote:
> Am Montag, 7. Juni 2010 22:22:54 schrieb Alan Stern:
> > On Mon, 7 Jun 2010, Oliver Neukum wrote:
> > 
> > > Am Montag, 7. Juni 2010 18:23:16 schrieb Dmitry Torokhov:
> > > > On Mon, Jun 07, 2010 at 03:13:42PM +0200, Oliver Neukum wrote:
> > > > >  static int usbtouch_open(struct input_dev *input)
> > > > >  {
> > > > >  	struct usbtouch_usb *usbtouch = input_get_drvdata(input);
> > > > > +	int r;
> > > > >  
> > > > >  	usbtouch->irq->dev = interface_to_usbdev(usbtouch->interface);
> > > > >  
> > > > > +	r = usb_autopm_get_interface(usbtouch->interface) ? -EIO : 0;
> > > > 
> > > > Why are we clobbering error code with -EIO? We should propagate te code
> > > > returned to us (here and below).
> > > 
> > > usb_autopm_get_interface() uses internal USB error codes which with
> > > a few exceptions, do not have the meaning error codes in user space
> > > have.
> > 
> > But other drivers don't do this.  What's special about usbtouch?
> 
> Then I'd say the other drivers are wrong. We cannot leak USB specific
> codes. Maybe we should pass -ENOMEM and -ENODEV, but the others
> really don't mean anything as generic codes.
> 

No, I'd say that usb_autopm_get_interface() is wrong - since it is
supposed to be used by drivers who are not concerned about USB-specific
codes these functions should not leak them to the callers but rather
provide ones suitable for reporting upstream.

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux