On Fri, 16 Feb 2007, Sven Anders wrote:

> Some idea I had myself.
> Is it possible to use a mix? My idea is as follows:
> 
> Variant 1:
>  If the completion handler decides, that there is no finger on the touchpad
>  any more, it does not call usb_submit_urb() again. The completion handler
>  stops. Via an kernel timer I will call the completion handler to test, if
>  there is a finger on the touchpad again. If so, I will restart the interrupt
>  handler and will call usb_submit_urb() until I have no finger on the pad
>  again.

That will work.  (Except that a kernel timer routine can't call the 
completion handler.  It will have to resubmit the interrupt URB.)

> Variant 2:
>  If the is no finger on the touchpad, I will make the interval longer until
>  I have a finger on the pad again...
> 
> For variant 2 I want to know, if it is sufficent to set the 'interval'
> variable in the urb struct to a new value or do I have to call a function?!

You don't have to call a function; setting the "interval" field is all you 
need to do.

However, you cannot do it in a completion handler.  If the completion 
handler tries to change urb->interval and then calls usb_submit_urb(), it 
won't work.  Either urb->interval will get changed back to its old value 
or else usb_submit_urb() will return an error.

Also you should bear in mind that host controller drivers have upper 
limits for the interval.  For example with uhci-hcd, urb->interval cannot 
be larger than 128 (and I'm planning to reduce the upper limit to 32).

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to