• Laurent Pinchart's avatar
    V4L/DVB (11837): uvcvideo: Start status polling on device open · 04a37e0f
    Laurent Pinchart authored
    Most UVC camera include an interrupt endpoint to report control value changes,
    video streaming errors and camera button events. The USB controller
    continuously polls the interrupt endpoint to retrieve such events. This
    prevents the device from being auto-suspended, and thus consumes power.
    
    Reporting video streaming errors don't make sense when the V4L2 device is
    closed. Control value changes are probably useless as well if nobody listens to
    the events, although caching will probably have to be completely disabled then.
    No polling is thus be required when /dev/videoX is not opened.
    
    To enable auto-suspend and save power do not poll the interrupt endpoint until
    the device is open. We lose the ability to detect button events if no
    application is using the camera.
    
    http://bugzilla.kernel.org/show_bug.cgi?id=11948Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@skynet.be>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    04a37e0f
uvc_v4l2.c 28.1 KB