linux/drivers/media/video/usbvideo/quickcam_messenger.c
<<
>>
Prefs
   1/*
   2 * Driver for Logitech Quickcam Messenger usb video camera
   3 * Copyright (C) Jaya Kumar
   4 *
   5 * This work was sponsored by CIS(M) Sdn Bhd.
   6 * History:
   7 * 05/08/2006 - Jaya Kumar
   8 * I wrote this based on the konicawc by Simon Evans.
   9 * -
  10 * Full credit for reverse engineering and creating an initial
  11 * working linux driver for the VV6422 goes to the qce-ga project by
  12 * Tuukka Toivonen, Jochen Hoenicke, Peter McConnell,
  13 * Cristiano De Michele, Georg Acher, Jean-Frederic Clere as well as
  14 * others.
  15 * ---
  16 * This program is free software; you can redistribute it and/or modify
  17 * it under the terms of the GNU General Public License as published by
  18 * the Free Software Foundation; either version 2 of the License, or
  19 * (at your option) any later version.
  20 *
  21 * This program is distributed in the hope that it will be useful,
  22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  24 * GNU General Public License for more details.
  25 *
  26 * You should have received a copy of the GNU General Public License
  27 * along with this program; if not, write to the Free Software
  28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  29 *
  30 */
  31
  32#include <linux/kernel.h>
  33#include <linux/module.h>
  34#include <linux/init.h>
  35#include <linux/input.h>
  36#include <linux/usb/input.h>
  37
  38#include "usbvideo.h"
  39#include "quickcam_messenger.h"
  40
  41/*
  42 * Version Information
  43 */
  44
  45#ifdef CONFIG_USB_DEBUG
  46static int debug;
  47#define DEBUG(n, format, arg...) \
  48        if (n <= debug) {        \
  49                printk(KERN_DEBUG __FILE__ ":%s(): " format "\n", __func__ , ## arg); \
  50        }
  51#else
  52#define DEBUG(n, arg...)
  53static const int debug;
  54#endif
  55
  56#define DRIVER_VERSION "v0.01"
  57#define DRIVER_DESC "Logitech Quickcam Messenger USB"
  58
  59#define USB_LOGITECH_VENDOR_ID  0x046D
  60#define USB_QCM_PRODUCT_ID      0x08F0
  61
  62#define MAX_CAMERAS     1
  63
  64#define MAX_COLOUR      32768
  65#define MAX_HUE         32768
  66#define MAX_BRIGHTNESS  32768
  67#define MAX_CONTRAST    32768
  68#define MAX_WHITENESS   32768
  69
  70static int size = SIZE_320X240;
  71static int colour = MAX_COLOUR;
  72static int hue = MAX_HUE;
  73static int brightness = MAX_BRIGHTNESS;
  74static int contrast =   MAX_CONTRAST;
  75static int whiteness =  MAX_WHITENESS;
  76
  77static struct usbvideo *cams;
  78
  79static struct usb_device_id qcm_table [] = {
  80        { USB_DEVICE(USB_LOGITECH_VENDOR_ID, USB_QCM_PRODUCT_ID) },
  81        { }
  82};
  83MODULE_DEVICE_TABLE(usb, qcm_table);
  84
  85#ifdef CONFIG_INPUT
  86static void qcm_register_input(struct qcm *cam, struct usb_device *dev)
  87{
  88        struct input_dev *input_dev;
  89        int error;
  90
  91        usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname));
  92        strncat(cam->input_physname, "/input0", sizeof(cam->input_physname));
  93
  94        cam->input = input_dev = input_allocate_device();
  95        if (!input_dev) {
  96                dev_warn(&dev->dev, "insufficient mem for cam input device\n");
  97                return;
  98        }
  99
 100        input_dev->name = "QCM button";
 101        input_dev->phys = cam->input_physname;
 102        usb_to_input_id(dev, &input_dev->id);
 103        input_dev->dev.parent = &dev->dev;
 104
 105        input_dev->evbit[0] = BIT_MASK(EV_KEY);
 106        input_dev->keybit[BIT_WORD(BTN_0)] = BIT_MASK(BTN_0);
 107
 108        error = input_register_device(cam->input);
 109        if (error) {
 110                dev_warn(&dev->dev,
 111                         "Failed to register camera's input device, err: %d\n",
 112                         error);
 113                input_free_device(cam->input);
 114                cam->input = NULL;
 115        }
 116}
 117
 118static void qcm_unregister_input(struct qcm *cam)
 119{
 120        if (cam->input) {
 121                input_unregister_device(cam->input);
 122                cam->input = NULL;
 123        }
 124}
 125
 126static void qcm_report_buttonstat(struct qcm *cam)
 127{
 128        if (cam->input) {
 129                input_report_key(cam->input, BTN_0, cam->button_sts);
 130                input_sync(cam->input);
 131        }
 132}
 133
 134static void qcm_int_irq(struct urb *urb)
 135{
 136        int ret;
 137        struct uvd *uvd = urb->context;
 138        struct qcm *cam;
 139
 140        if (!CAMERA_IS_OPERATIONAL(uvd))
 141                return;
 142
 143        if (!uvd->streaming)
 144                return;
 145
 146        uvd->stats.urb_count++;
 147
 148        if (urb->status < 0)
 149                uvd->stats.iso_err_count++;
 150        else {
 151                if (urb->actual_length > 0 ) {
 152                        cam = (struct qcm *) uvd->user_data;
 153                        if (cam->button_sts_buf == 0x88)
 154                                cam->button_sts = 0x0;
 155                        else if (cam->button_sts_buf == 0x80)
 156                                cam->button_sts = 0x1;
 157                        qcm_report_buttonstat(cam);
 158                }
 159        }
 160
 161        ret = usb_submit_urb(urb, GFP_ATOMIC);
 162        if (ret < 0)
 163                err("usb_submit_urb error (%d)", ret);
 164}
 165
 166static int qcm_setup_input_int(struct qcm *cam, struct uvd *uvd)
 167{
 168        int errflag;
 169        usb_fill_int_urb(cam->button_urb, uvd->dev,
 170                        usb_rcvintpipe(uvd->dev, uvd->video_endp + 1),
 171                        &cam->button_sts_buf,
 172                        1,
 173                        qcm_int_irq,
 174                        uvd, 16);
 175
 176        errflag = usb_submit_urb(cam->button_urb, GFP_KERNEL);
 177        if (errflag)
 178                err ("usb_submit_int ret %d", errflag);
 179        return errflag;
 180}
 181
 182static void qcm_stop_int_data(struct qcm *cam)
 183{
 184        usb_kill_urb(cam->button_urb);
 185}
 186
 187static int qcm_alloc_int_urb(struct qcm *cam)
 188{
 189        cam->button_urb = usb_alloc_urb(0, GFP_KERNEL);
 190
 191        if (!cam->button_urb)
 192                return -ENOMEM;
 193
 194        return 0;
 195}
 196
 197static void qcm_free_int(struct qcm *cam)
 198{
 199        usb_free_urb(cam->button_urb);
 200}
 201#endif /* CONFIG_INPUT */
 202
 203static int qcm_stv_setb(struct usb_device *dev, u16 reg, u8 val)
 204{
 205        int ret;
 206
 207        /* we'll wait up to 3 slices but no more */
 208        ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
 209                0x04, USB_TYPE_VENDOR | USB_DIR_OUT | USB_RECIP_DEVICE,
 210                reg, 0, &val, 1, 3*HZ);
 211        return ret;
 212}
 213
 214static int qcm_stv_setw(struct usb_device *dev, u16 reg, __le16 val)
 215{
 216        int ret;
 217
 218        /* we'll wait up to 3 slices but no more */
 219        ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
 220                0x04, USB_TYPE_VENDOR | USB_DIR_OUT | USB_RECIP_DEVICE,
 221                reg, 0, &val, 2, 3*HZ);
 222        return ret;
 223}
 224
 225static int qcm_stv_getw(struct usb_device *dev, unsigned short reg,
 226                                                        __le16 *val)
 227{
 228        int ret;
 229
 230        /* we'll wait up to 3 slices but no more */
 231        ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
 232                0x04, USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_DEVICE,
 233                reg, 0, val, 2, 3*HZ);
 234        return ret;
 235}
 236
 237static int qcm_camera_on(struct uvd *uvd)
 238{
 239        int ret;
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
"/input0", sizeof(CAMERA_IS_OPERATIONAL2/a>(<24a href="+code=HZ" clame="L193"> 193
usb_rcvctrlpipe4ret;
 212}
uvd-> 213video/usf="L171" class="l 213video/usf=video/quickcam_messenger.c#L237" id="L237" class="line" name="L237"> 237static int qcm_camera_on(struct val)
 215{
stats.ret;
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
"/input0", sizeof( 193
urb->ret;
s2ats.GFP_KERNEL);
 196 240      hsv2rgLf="+code=CHECKEVIT" cref">qcm_stv_setw(struct qcm_stv_setw(struct qcm_stv_setw(struct qcm_stv_setw(stre" name="L237"> )
qcm_stv_setw(stre" name="L237"> ,
usb_deviceref">qcm_stv_setw(stre" name="L237"> 199        qcm_camera_on(struct ->2val)
uvd-> 2segmame="L103"> 103usb_device->2bgetw" cine"e=ret" class="srec#L151" id="L151hdrivers(getw" cineline" name="L152"hu = -> 2s="L103"> 103 229 230   m->2bv_getw" cine" name="L215"> 2       return -> 2e=uvd" class="srp3" imedia/video/usbvideo/quickcam_messenger.c#L216" id="L216" classmhref="+cof">qcm_report_buttonstat2/a>(<2 href=edia/video/usbvideo/quickcam_messenger.c#L216" id="L216" classmusbvideo/er.c#L158" id="L158" cla2s="li2e" name="L158"line" name="L229"> 229 230   o/quickca2_messenger.c#L159" id="L259" c2ass="lline" name="L229"> 229e="L158"theeo/usbvids id="L23c#Lg gain are 8 bit of whichkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   okcam_mes2/quickcam_messenger.c#L120" id2"L160"line" name="L229"> 229e="L158"we affeckconly"theeamet 4 bits with our gain.kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   o->2sref">urb,  229e="L158"we know"that"linsa4urlason is/vid(v_ga4urlaed)"thenkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   o" class=22"> 162        if (<2 href2"+codeline" name="L229"> 229e="L158"we 2er axis/of theecolour id=e) sokcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   o->2error (%d)", <2 href=line" name="L229"> 229e="L158"we  hr rgLsckcue."we use a formula obtain" cfromkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   oenger.c#2quickcam_messenger.c#L162" id=2L164" line" name="L229"> 229e="L158"wikip"L23s/memap theecones/metheeRGB plane."itkcam_mkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   o->2/quickcam_messenger.c#L125" id2"L165"line" name="L229"> 229e="L158"as follows foretheehume" ckcue case of h=0..360,kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   o" class=2de=uvd" class="sref">uvd2/a> *2a hrefline" name="L229"> 229e="L158"s=0..1, v=0..1kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   ohref="+coquickcam_messenger.c#L162" id=2L167" line" name="L229"> 229e="L158"h_iersh/60"L178" 6 , fersh/60"-"h_ie, persv(1-s)kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   ousbvideo/"> 168        int  229e="L158"qersv(1"-"f*s)e, tersv(1"-"(1-f)s)kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   ef="+code2uvd" class="sref">uvd 229e="L158"h_i==0 =e="L1r=ve, g=t, b=pkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   ekcam_mes2vd-> 229e="L158"h_i==1 =e="L1r=qe, g=v, b=pkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   e->2/a>-> 229e="L158"h_i==2 =e="L1r=pe, g=v, b=tkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   e" class=2" id="L172" class="line"2name=27+codeline" name="L229"> 229e="L158"h_i==3 =e="L1r=pe, g=q, b=vkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   e->2               229e="L158"h_i==4 =e="L1r=te, g=p, b=vkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   eenger.c#2>                       2 229e="L158"h_i==5 =e="L1r=ve, g=p, b=qkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   e->2/quickcam_messenger.c#L125" id27L165"line" name="L229"> 229e="L158"theebottom sine (theepoineliand"theestuff jusiverkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   e" class=2utton_urb,  229e="L158"of that"ls black so"we  implify"those two cases.kcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   name="L172"> 177        if ( 229e="L158"ickcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   t_int ret2%d", GFP_KERNEsvideo/usbvideo/qusa40" i edia/32768) ="+code=val" class="sref">val)
2179        return USB_ine" name="L229"> 229 230   /usbvideo2quickcam_messenger.c#L182" id=28ICE" class="sref">USBe" name="L237"> )
 ,
qcm2/a> *28ICE" class="sref">USBe" name="L237"> 199        ->2quickcam_messenger.c#L182" id=2L183" class="lllllllllef">streaming)
cam->ret;
GFP_KERNEckcam_messenger.c#L233" i edia= (0xFFFF/8)) ="+code=val" class="sref">val)
but_ine" name="L229"> 229 230   /ame="L172de=qcm" class="sref">qcm2/a> *28code=errflag" class="e" name="L237"> )
 193
 ,
 193
usb_a2loc_urb(0, USBe" name="L237"> 199         193
uvd))
cam->ret;
 192ENOMEM;
 229 230   am_messen2er.c#L194" id="L194" cla2s="li29164" line" name="L229"> 229e="L158"imple"> 2lason of theehsv2rgLecon0" ison am takenkcam_messenger.c#L230" id="L230" class="line" name="L230"> 230   /usbvideo2quickcam_messenger.c#L192" id=29L165"line" name="L229"> 229e="L158"from qc-s="-0"> 230 230   /" class=2/quickcam_messenger.c#L126" id29 hrefline" name="L229"> 229e="L158"to diline theeconesineo 6 sectors.8"ickcam_messenger.c#L230" id="L230" class="line" name="L230"> 230    href="+c2de=qcm" class="sref">qcm2/a> *29href=edia/video/usbvideo/quickcam_messenger.c#L216" id="L216" class/usbvideo2quickcam_messenger.c#L192" id=2L198" class="line" name="L198segmame="L103"> 103uvd))
cam-> 103 103but_ine" name="L229"> 229 230  3/usbvideo3quickcam_messenger.c#L203" id=30it up to 3 slices but no morhu =  103butbut_ine" name="L229"> 229 230  3/2sbvideo3qf">cam-> =  30183" class="line" name="L183L23svideo/usbvideo/quL23sviers/ers/media/video/usc      return  s="L103"> 103butef">but_ine" name="L229"> 229 230  3/5usbvide3/r.c#L194" id="L194" cla3" id=3L204" class="l name="L215"> 2e=uvd" class="srp3" iers/media/video/usc      return usb_device 205      3 int 306de=errflag" ss="sref">GFP_KERNEh#L151" id="L151hdrivee="Lrsa) ="+code=val" class="sref">val)
butv_getw" cine" name="L215"> 2ideo/usbvideo/quiers/ers/media/video/usc      return usb_device/* we'll 30code=errflag" class="switch="sref">GFP_KERNEsegmame="L103"> 103val)
 229 230  3DIR_OUT | USBBBBBBBBBe" name="L237"> )
, sizeof(val3 1, 331endp" class="sref">video_endpe" name="L237"> ,
, sizeof( 211        r3turn 31s_buf" class="sref">button_ste" name="L237"> 199         172                breakmedia/video/usbvideo/quickcam_messenger.c#L216" id="L216" clas3/4usbvide3/quickcam_messenger.c#L233" id31183" class="lllllllllcase 1:t_ine" name="L229"> 229 230  3D5usbvide3le16" class="sref">__le13 31sts" class="sref">button_sts )
 ,
, sizeof( 216      3 int 31sts" class="sref">button_sts 199        , sizeof(/* we'll 31f="+code=dev" class="case 2:t_ine" name="L229"> 229 230  3e" class=3sref">usb_sndctrlpipe )
, sizeof(USBss="srefe" name="L237"> ,
val3 2, 332s_buf" class="sref">button_ste" name="L237"> 199        , sizeof( 222        r3turn 32172"> 172                breakmedia/video/usbvideo/quickcam_messenger.c#L216" id="L216" clas3/usbvideo3quickcam_messenger.c#L223" id=32183" class="lllllllllcase 1:t_ine" namea href="drivers/media/vid2o/usbvide2/quickcam_messenger.c#L1233ssenger.c3r.c#L224" id="L224" clas3="lin32de=ret" class= elL22="sref">val)
reg,="L215"> 2ideo/usbvideo/quievideo/quickcam_meo/usc      return usb_device * 103val)
 229 230  3e" class=3sref">usbomment">/        int  199        , sizeof( )
3* we'll wait up to 33slice33USBss="srefe" name="L237"> ,
vipe(dev, 0),,,,,,,,,sbvideo/quickcam_messenger.c#L216" id="L216" clas3/usbvideo3quickcamref="+cod3=USB_RECIP_DEVICE" class3"sref3>USB_RECIP_DEVICE,="L229"> 229 230  3e" class=3sref">uss="sref">3al, 2, 3* 199         )
, sizeof( ,
 19sbvideo/quickcam_messenger.c#L216" id="L216" clas3/usbvideo3quickcamrmessenge3f">uvd * 229 230  3/usbvideo3quickcam_messenge3.c#L238" id="L238" class3"line33s="case 2:t_ine" name237"> 199         239 )
(<24a href="+c3de=HZ34USBss="srefe" name="L237"> ,
4dev, 0),,,,,,,,,sbvideo/quickcam_messenger.c#L216" id="L216" clas3/usbvideo3quickcamm_messeng3r.c#L122" id24212" class3"line34USB_RECIP_DEVICE,a href="drivers/media/vid2o/usbvide2/quickcam_messenger.c#L1233d->3ret;
 235}
 236
 237static int qcm_stv_setw(struct  235}
qcm_stv_setw(struct qcm_camera_on(struct ->2->3a href2"+cod2=statu="+co3e=ret3 class="sref">val)
{
s3L150" id=3L150" 2lass=2line"  clas3="lin35but no morhu = 
 230  3/usbvideo3quickcam"+code=bu3ton_st2_buf"2class="sref3>bget35name="L183L23svideo/usbvideo40      hsv2rgLf="+code=CHECKEVIT" cref">qcm_stv_setwhuqcm_stv_setwsa4a4urlaemame="sr) ="+coda4a4urlaemeraref">qcm_stv_setw.360,sviers/e* (32769 -ass="skcam_messenger.c#L221"" id="L240" class="lsream_messenger.c#L221""sref">usb_deviceream_messenger.c#L221"ref="+code=qcm_camera_
        .<3"+code2butto2_sts" class3"sv_g35class="sref">ret;
(<2 href=edia/3ideo/35but no more */
->38" cla2s="li2e" name="L138"lin35class="sref">ret;
 229
 230  3/usbvideo3quickcamm_messeng3r.c#L120" id2"L160"line"3name=36but no more */
qcm_stv_setw(struct qcm_stv_setwf iers/media/video/us_
qcm_stv_setw(struct qcm_stv_setw"srers/media/video/us_
qcm_stv_setw(struct qcm_stv_setwref="+code=qcm_camera_
 223}
 2e=uvd" class="srp3f iers/media/video/usc|= 0x3>
        
uvd2/a> *2a hrefline"3name=36class="sref">ret;

       3int  229 230  3/usbvideo3quickcamss="sref"3uvdret;
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwf iers/media/video/us__

 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setw"srers/media/video/us__
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwref="+code=qcm_camera__
ENOMEM;
 229 230   /usbvideo2quickca3         3      2 2e=uvd" class="srp3f="drivers/media/video/usbvideo/quickcam_messenger.c#L240" id="L240" class="line" name="L240"> 240        Cnger.c#Leh732oef="+code=dev"        return cam)
         240        Cnger.c#Leh732oef="+code=dev"        return cam)
, sizeof(CAME3b, ret;
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
, sizeof(CAME3bmessenge3if (, GFP_KERN 193
ur3       re3urn USB_i="sref">ret;
USBe""sref">ret;
 236
 237static int qcm_camera_on(struct ->2qcm2/a> *28ICE" class3"sref3>USBe"="sref">val)
stream215{
s3a>->{
s3a_messeng3.c#L182" id=286de=errfla3" ss=38name="L235"> 235}
but_ine" name 229}c#L230" id="L230" class="line" name="L230"> 230   /usbvideo2quickca3class="sr3f">qcm2/a> *28code=errfl3g" cl38but no more */

CAME3_messenge3.c#L182" id=28f="+code=d3v" cl38class="sref">ret;
 229
 230  3/5usbvide3/r.c#L19m_messeng3r.c#L120" id29href="+cod3=uvd"39but no more */
CngerromkedL233" i edia= (0xFromkedL23bvid,m1.;, sizeof(CAME3/a>-><3 href=2+code2button_urb"3cl="+39ONFIG_INPUT */
 240        Cnger.c#Leh732oef="+code=dev"        return cam)

>>>>>>>>>>>>>>>>0x143At0&qF004, , sizeof(CAME34" id="L134" cla2s="li29164" line"3name=39="L215"> 2e=uvd" class="srp3f="drivers/media/video/usbvideo/quickcam_messenger.c#L240" id="L240" class="line" name="L240"> 240        Cnger.c#Leh732oef="+code=dev"        return cam)
, sizeof(CAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193
ur3m_messeng3r.c#L126" id29 hrefline"3name=3L229">="sref">ret;
qcm2/a> *29href=edia/3ideo/3sbvideo/quickcam_messenger.c#L216" id="L216" class/usbvideo2quickca3_messenge3.c#L192" id=2L198" class3"line3 name=="L236"> 236
 237static int 
 )
















> 236
qcm_camera_on(struct ->2val)
s4m_messeng4r.c#L232" id303t up to 34slice40w" cine" name 229 230  3/5usbvide3/r.c#L14m_messeng4r.c#L13 30183" class4"line4 name="L183L23svideo/usbvideof="drivers/media/video/usbvideo/quickcam_messenger.c#L240" id="L240" class="lin="L230" class="line" name="L230"> 230  3/5usbvide3/r.c#L14m5messeng4r" cla2s="li29164" line"4"l na40button_stsstatic int CAME4"> 205         240static int qcm_stv_setwremess0" id="L240" clremessnameref">qcm_stv_setwre 8 as40" id="L240" clre 8 as4
, sizeof(CAME4"7 205butv_/span>, sizeof(CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193
ur4_messenge4.c#L193(ret;
s2ats4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL);
4al3 1, 331endp" clas4="sre411ame=="L236"> 236
 237static int static int siz,sviers/e* (3276siz,name_on" class="sref">qcm_camera_on(struct ->2  4     r3turn 31s_buf" cla4s="sr41class="sref">val)
u4_messenge4.c#L213" id=31172"> 172<4a>   4            br215{
s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223}
__le13 31sts" class4"sref41="L215"> 2e=uvd" class="srp3f="drivers/media/video/usbvideo/quickcam_messenger.c#L240" id="L240" class="line" name="L240"> 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwsiz,sviers/e* (3276siz,name_;, sizeof(CAME4_messenge4.c#L213" id=31 href="+co4e=reg41w" cine" name 193
ur4"> 216="sref">ret;
4* we'll 31f="+code=d4v" cl41name=="L236"> 236
ur4"> 216buef">ur4"> 216buef">ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>bue]4   2flin2code=cam" class="s2flin2code href4211  4     r3turn 31s_buf" cla4s="sr41class="sref">val )4 172<4a>   4            br215 ,4s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 149         2bame="Lass="line" name="L230de3/r.c#L14m_messeng4r.c#L13 30183" class4"line4 name="L183L23svideoia/video/4sbvideo/quickcam_messeng4r.c#L416" id="L216" )
  4     r3turn 31s_buf" cla4s="sr41class="sref">val 223)
 4>,="L215"4 2ideo/usbvideo/quievide4/quic42uickcam_messenger.c#L240" id="L240" class="line" name="L240"> 240st32oef="+code=dev"        return cam)
qcm_stv_setwsiz,sviers/e* (3276siz,name_;, siz43D14m5messeng4r" cla2s="li29164" line"4"l na40button_sts 103cAME4_messenge4.c#L213" id=31 href="+co4e=reg41w" cine" name 193
 240st32oef="+code=dev"        return cam)
qcm_stv_setwsiz,sviers/e* (3276siz,name_;, siz43E14m5messeng4r" cla2s="li29164" line"4"l na40button_sts)
 )4 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwf iers/media/video/us__
CAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4"L237"> ,4 236<4),,,,,,,,4sbvideo/quickcam_messeng4r.c#L416" id="L216" o/ref">ur4"> 216="sref">ret,="L229"4 229 149         2e=uvd" cl"L237"> )4ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>bueff4211  4     r3turn 31s_buf" cla4s="sr41class="sref">val ,4 172<4a>   4            br215 14sbvideo/quickcam_messeng4r.c#L416" id="L216"    2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 149        s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )44al3 1, 331endp" clas4="sre411ame=="L236"> 236 ,4cami classs" class=ief">=0;r.c#L216" id="L2i classs" class=ief">L179">.c#L216" id="L2ARRAY_SIZE classs" class=ARRAY_SIZE 240        ++kcam_messenge3.c#L227" id="L227" class3"line32s="        breakme4),,,,,,,,4sbvideo/quickcam_messeng4r.c#L416" id="L216" clas3/usnger.c#L240" id="L240" class="line" name="L240"> 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwf iers/media/video/us__
        ]./a>         14media/vid2o/usbvide2/qui4kcam_44ckcam_messenger.c#L12222222222222222222222222/a>        ]./a>        ;
GFP_KERNEckca4>}
 236<4a>
 240        Cnger.c#Leh732oef=w+code=dev"        retuwn cam)
qcm_stv_setwsiz,sviers/e* (3276siz,name_;, sizec1vm_messenge3.c#L227" id="L227" class3"line32s="        breakme4)a="L229"4/a>(struct camISOC_PACKET_SIZE classs" class=ISOC_PACKET_SIZEa/viAMME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4>e237"> 14="drivers/media/vide3o9 4  240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwf iers/media/video/us__
8MME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4>{
 240        Cnger.cref="+code=CHECKEVIT" clac#L216" id="L216" cLeh732oef="+code=dev"        return cam)
qcm_stv_setwf iers/media/video/us__
CAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4,  236<4n>
 240        Cnger.c#Leh732oef="+code=dev"        return cam)
qcm_stv_setwref="+code=qcm_camera__
 229<4/usbvideo40      hsv2rgLf="+co4e=CHE4KEVIT" cref">qcm_stv_setwhu 240static int  class="line" name="L237"> 237static ief4>buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue   era_>stae=cam" class="s2   era_>staebuef[.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=am" class="s2class="sr2f">C]./a>        buefef4>buefecmfa/viAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4rs/media/4ideo/usbvideo/quick2eusb4ideo24quickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 4       240static int 237" class="line" name="L237"> 237static ief4>buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>         4 >
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        buefef4>bue)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        qcm_stv_setwre 8 as40" id)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        (struct ->24* we'll 31f="+code=d4v" cl41name=="L236"> 236;
 240        Cnger.c#Leh7ine"4"sref4>buef">ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        
 240        Cnger.c#Leh7atic int  class="line" name="L237"> 237static ief4>buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue   era_>stae=cam" class="s2   era_>staebuef[.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=am" class="s2class="sr2f">C]./a>        buefef4>buefecmfa/viAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4n>
,  236<4d="L151hd4srers/media/video/use=uv4" cla466" id="L216" o/ref">ur4"> 216="sref">ret}
 2e=uvd" c4ass="srp34 iers/media/video/usc|= 4x3>
<46eo/usbvideo/ref">ur4"> 216stass="line" name="L237"t_   era_>sta6buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>bueff4211  4     r3turn 31s_buf" cla4s="sr41class="sref">val
<46eo/usu4_messenge4.c#L213" id=31172"> 172<4a>   4            br215;

<4 href="driversnger.c#L216" id="L216" classs" class=2sref">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223(0,  229<4>;
 240        Cnger.c#Leh7atic int  class="line" name="L237"> 237static ief4>buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue   era_>stae=cam" class="s2   era_>staebuef[.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=am" class="s2class="sr2f">C]./a>        buefef4>buefecmfa/viAME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4n>
stae=cam" class="s2   era_>staebuef[.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=am" class="s2class="sr2f">C]./a>        qceas4
 clac#L216" id="L216"    era_>stae=cam" class="s2   era_>staebuef[.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=am" class="s2class="sr2f">C]./a>        qceas4
 claE3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4n="L151hd4="drivers/media/vid2o/us4vide247uickcam_messenger.c#L240" id)
qcm_stv_setwref="+code=v"3naam" class="s2class=v"3naam"  clac#L216" id="L216" VIDEOSIZE classs" class=VIDEOSIZEtic ief4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code=widtcode=cam" class=widtc claefef4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code=heas4
emessnameref">qceas4
 claME3_messenge3.c#L192" id=29L165"line"3name=39w" cine" name 193<4n}
 2e=uvd" c4ass="srp34="drivers/media/video/us4video4quickcam_messeo/ref">ur4"> 216="sref">ret;
qcm2/a> *29href=edia/4g" cl40clame="L193"> 193ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>bueff4211  4     r3turn 31s_buf" cla4s="sr41class="sref">val
;
s3L150" id=3L150" 2lass=2line"  clas3="lin35but no morhu =4;
,  236<4a>
 240        Cnger.c#Leh7atic int qcm_stv_setwremess0" id="L240" )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        qcm_stv_s3_,  236<4a="L151hd4="drivers/media/vide3o9 4 )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        (struct ->2)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        CAME4"7 205butv_/span>, sizeof>{
 240        Cnger.c#Leh7atic int < int qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        butv_/span>, sizeof>ss="srp34="dromkedL233" i edia= (4xFrom48uickcam_messenger.c#L240" id="L240" class="line" name="L240"> 240        Cnger.c#Leh7ine"4"sref4>buef">ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        butv_/span>, sizeof>      240stat_   era_>stass="line" name="L237"t_   era_>sta6buefef4>buefef4>buefef4>buefef4>bueffME3_messenge3.c##L126" id29 hrefline"4"sref4>butv_/span>, sizeof>;
 240        Cnger.c#Leh   era_* (32769 -ass="sk#Leh   era_* 6buefef4>buefef4>buefef4>buefef4>bueffME3_messenge3.c##L126" id29 hrefline"4"sref4>butv_/span>, sizeof>enger.c#4omkedL233" i edia= (0xFr4mkedL48uick24usbvideo/ref">ur4_messenge4.c#L193(ret;
GFP_KERNELa>
4al3 1, 331endp" clas4="sre411ame=="L236"> 236
Cnger.c#Lehadjust_pictur4"> 216buefef4>buefef4>buefef4>buefef4>buefef4>buefef4>bueff4211  4     r3turn 31s_buf" cla4s="sr41class="sref">val
u4_messenge4.c#L213" id=31172"> 172<4a>   4            br215s3L150" id=3L150" 2lass=2line"  clas3="lin35but no morhu =4>>>>>>>>>40x143At0&qF004, buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =4>ss="srp34="drivers/media/video/us4video49uickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 4a>
ur4"> 216"can't ref">   era *ff. abandon230 )5















> 236GFP_KERNEL)
 236<5>{
engs="line" , hue, or/r.c#L14m_messeng4r.c#L13 30183" class4"line4 name="L183L23svide5atheeo/st5of this iarightnidekcame5posur5, re 8id="L230" class="line"c      r"> 230
<5 href="drivdeosorKEVI_ex5osur,5viers/e* (3276n/a>ief4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code="dcode=cam" class="s2class="sr2f">C !#L216" id="L216" )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        CA ||4m_messeng4r.c#L13 30183" class4"line4 name="L183L23svide5"66
<5 "drivers/media/video/us5video5quickcam_messeeeeeeeeeief4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code=clremessnameref">qcm_stv_ !#L216" id="L216" )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        qcm_stv_A ||4m_messeng4r.c#L13 30183" class4"line4 name="L183L23svide5"76
<5 "drivers/media/video/us5="sr250="+code=val" class="sief4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code="d/a>(struct ->2)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        (struct ->2C #L216" id="L216" )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        Cs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5"9
s50eo/usc      return buefef4>bue   am" class="s2claamnput_stv_setwref="+code=clremessnameref">qcm_stv_ #L216" id="L216" )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        qcm_stv_s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5);
buefef4>bue   am" class="s2claamnput_stv_setwref="+code="d/a>(struct ->2)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        (struct ->2buefef4>bueref="+code=CHECKEVIT" clac#L216" id="L216" cLeh7atic int qcm_stv_setwremess0" id="L240"    am" class="s2claamnput_stv_setwref="+code=clremessnameref">qcm_stv_mess0" id="L240"    am" class="s2claamnput_stv_setwref="+code="d/a>(struct ->2Cfs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>{
ur4"> 216"can't 
4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL;
4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL>
4* we'll 31f="+code=d4v" cl41name=="L236"> 236<5a>
)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>         )5buefef4>bue   am" class="s2claamnput_stv_setwref="+code=e 8 as40" id="L240" clre 8 as4
)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>         ,5buefef4>bueref="+code=CHECKEVIT" clac#L216" id="L216" cLeh7atic int < int  159        )
ur4"> 216"can't 
4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL,="L215"5 2ideo/usbvideo/quievide5/quic52uickcam_messe>4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL;
 103CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<5ia="L229"5 229)
)
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>        )
qcm_stv_setwref="+code=vpichref="drivers/mepic>qcm./a>         )5buefef4>bue#Leh7ine"4"sref4>buef">ur4"> 216buef">ur4"> 216buefef4>buefef4>buefef4>buefef4>buefefef4>buefef4>bue   am" class="s2claamnput_stv_setwref="+code=flin2code=cam" class="s2flin2code hrefs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5"L237"> ,5)
ur4"> 216"can't 
 21. abandon230 159        4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL )5GFP_KERNEckca5"L237"> ,5 236<5"L237"> 15sbvideo/quickcam_messeng5r.c#L53uickcam_messenger.c#L240" idref="+code=CHECKEVIT" clac#L216" id="L216" cLeh   era_* (32769 -ass="sk#Leh   era_* 6buefef4>buefef4>buefef4>buefef4>bueffs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5ma="L229"5 229)
ur4"> 216"can't reenabl >   era. )5 ,5GFP_KERNEckca5),,,,,,,,5sbvideo/quickcam_messeng5r.c#L516" idam_messenger.c#L182" id=286de=errflag" ss="sref">GFP_KERNEckca5),="L229"5drivers/media/vid2o/usbv5de2/q54uickc3       229<5)e237"> 15media/vid2o/usbvide2/qui5kcam_54ckcambvideo/ref">ur4"> 216static int siz,sviers/e* (3276siz,name_on" class="sref">qfef4>buefef4>bue data/a4   2fef4>buecdataef">ef4>buefef4>bue]4   2fre2/lexFromkedL23bvid,fre2/lex clak3       229<5)L237"> )5="drivers/media/video/us5video54bvideam_messenge3.c#L227" id="L227" class3"line32s="        breakme5>}
(struct buef">ur4"> 2fre2/hd">ur4"> 216buefef4>bue__bemera_
(struct buef">ur4"> 2fre2/hd">ur4"> 216buefef4>buefhd">ur4"> 216 229<5/usbvideo50      hsv2rgLf="+co5e=CHE5KEVIT" cref">qcm_stv_setwhubuetotaldata hrea= ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5 )5ideo/usbvideo/quick2eusb5ideo255bvideo2quickcwhilea>)
ur4"> 216buef">ur4"> 2fre2/hd">ur4"> 216buef">ur4"> 2 data/a4   2fef4>buecdataef">s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5<>
buefef4>buefhd">ur4"> 216 += 4s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5a>
4al3 1, 331endp" clas4="sre411ame=="L236"> 236<5n>
4ef4>buefef4>buefhd">ur4"> 216)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sviers/e* (3276sizmarkf">ur4"> 216 )5 iers/media/video/usc|= 5x3>
<56uickcam_messeeeeeeeee>4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
<56uickcam_messeeeeeeeeen/a>4ef4>buefef4>buefhd">ur4"> 216)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sviers/e* (3276siz data/a4   2fef4>buecdataef">efefef4>bue]4   2datalexFromkedL23bvid,datalex hrefs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5da="L229"5216" id="L216" class/usb5ideo2566" id="L216" clas3/9   GFP_KERNEL;
buefef4>buefre2/lexFromkedL23bvid,fre2/lex cla -= efef4>bue]4   2datalexFromkedL23bvid,datalex hres4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5n>
buefef4>bue data/a4   2fef4>buecdataef"> += efef4>bue]4   2datalexFromkedL23bvid,datalex hres4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5n="L151hd5="drivers/media/video/us5video5quickcam_messe>4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL="L151hd5="drivers/media/vid2o/us5vide257uickcam_messeo/ref">.c#L216" id="L2totaldata/a4   2fef4>buetotaldata hres4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5n}
4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNELL237"> )5="drivers/media/video/us5video57uickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 5      ur4"> 216static int siz,svint  cr"t <8href="+code=qcm_cdatacr"+code=dev" datacr" clak3       229<5>;
s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>;
s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>>
,  236<5a>
a= ssr.c#L216" id="L2i classs" class=ief"> <sr.c#L216" id="L2datacr"+code=dev" datacr" cla_stv_setwref="+code=number_of_packete=cam" class="s2number_of_packeteef">sr.c#L216" id="L2i classs" class=ief">++M am_messenge3.c#L227" id="L227" class3"line32s="        breakme5>{
 datacr" cla_stv_setwref="+code=iso_fre2/_deschref="drivers/miso_fre2/_desc cla[.c#L216" id="L2i classs" class=ief">]./a>        s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>L237"> )5="dromkedL233" i edia= (5xFrom58uickcam_messeeeeeeeeenger.c#L216" id="L2=cam" class="s2clr2f">C #L216" id="L216" datacr"+code=dev" datacr" cla_stv_setwref="+code=iso_fre2/_deschref="drivers/miso_fre2/_desc cla[.c#L216" id="L2i classs" class=ief">]./a>        s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>     .<3 href=2+code247href="+co3e=ret34 name="L236"> 236<5>;
 #L216" id="L216" datacr"+code=dev" datacr" cla_stv_setwref="+code=transfer_bufff">ur4"> 216 +3ats.<3 href=2+code247href="+co3e=ret34 name="L236"> 236<5>enger.c#5omkedL233" i edia= (0xFr5mkedL586" id="L216" clas3/9    datacr" cla_stv_setwref="+code=iso_fre2/_deschref="drivers/miso_fre2/_desc cla[.c#L216" id="L2i classs" class=ief">]./a>        s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>;
 229<5a>
)
C <sr0M am_messenge3.c#L227" id="L227" class3"line32s="        breakme5n>
)
qcm_stv_setwref="+code=dcm_camera__
"Data error: packet=%d. lex=%d. bvidue=%d.\n"/r.c#L1vm_messenge3.c#L227" id="L227" class3"line32s="        breakme5n="L151hd5="drivers/media/video/us5video59ckcam_messenger.c#L1222222222c  efefef4>bue]4   2xFromkedL23bvid,x hreefefef4>bue]4   2=cam" class="s2clr2f">Cfs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>>>>>>>>>50x143At0&qF004, )
qcm_stv_setwref="+code=bvide=cam" class="s2bvideef">./a>        ++s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5>L237"> )5="drivers/media/video/us5video59uickcam_messeeeeeeeeeeeeeeeeeass=inues4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5a>
GFP_KERNEL;
 229<5senger.c#5216" id="L216" class/usb5ideo2596" id="L216" clas3/9 eeeeeeeeass=inues4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =5a;
(0,  229<6"L237"> )6















> 236buefef4>buetotlexFromkedL23bvid,totlex hre += efef4>bue]4   2  2fproc"L2_fre2/(32769 -ass="sk#Lehproc"L2_fre2/6static int siz,sviers/e* (3276siz data/a4   2fef4>buecdataef">efefef4>bue]4   2xFromkedL23bvid,x hreks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>)
GFP_KERNEckca6>{
.c#L216" id="L2totlexFromkedL23bvid,totlex hres4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6atheeo/st6of this iarightnidekcame6posur60#L230a4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me6a4heeo/st6ox143At0&qF004,  2e=uvd" c6"L6
<6 href="drivdeosorKEVI_ex6osur,60eo/usbvideo/voids="sref">Cnger.cresubmit_cr"+code=dev" resubmit_cr"6static int siz,svint  cr"t <8href="+code=qcm_ccr"+code=dev" cr"t <8k3       229<6"66
<6 "drivers/media/video/us6video60eo/usu4_messenge4.c#L213" id=31172"> 172<4a>   4            br215
<6 "drivers/media/video/us6="sr260href="driversnger.c#L216" id="L216" classs" class=2sref">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
4* we'll 31f="+code=d4v" cl41name=="L236"> 236<6"9
s60eo/usc      ref="+code=qcm_ccr"+code=dev" cr"t <8_stv_setwref="+code=qcm_camera__
)
qcm_stv_setwref="+code=qcm_camera__
 223 cla_submit_cr"6 cr"t <8efefef4>bue]4   2GFP_ATOMIC+code=dev" GFP_ATOMIC hreks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6))
)
ur4"> 216"cla_submit_cr" error (%d)"/r.c#L1venger.c#L240" idref="+code=CHECKEVIT" claks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6)theeo/st6="drivers/media/video/us6video61#L230a4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me6>}
 2e=uvd" c6ass="srp36="drivers/media/video/us6video61eo/usbvideo/voids="sref">Cnger.c#Lehisoc_irq(32769 -ass="sk#Lehisoc_irq6 cr"t <8href="+code=qcm_ccr"+code=dev" cr"t <8k3       229<6a>
 172<4a>   4            br215;
buef">ur4"> 2camerarestatic int <8href="+code=qcm_clame=static int siz,sc#L216" id="L216" cr"+code=dev" cr"t <8_stv_setwref="+code=ass=excam" class="s2class=exc hres4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>9
 229<6"L237"> )6static int siz,s)k3       229<6"L237"> ,6 169        !efef4>bue]4   2)
qcm_stv_setwref="+code=bvreaming"cam" class="s2bvreamingt <8k3       229<6"}
 6>,="L215"6 2ideo/usbvideo/quievide6/quic622
qcm_stv_setwref="+code=bvide=cam" class="s2bvideef">./a>        ++s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>;
 103CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<6ia="L229"6 229!efef4>bue]4   2 cr"t <8_stv_setwref="+code=actual_lexgtcode=cam" class=actual_lexgtcef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme6i>
         resubmit_cr"6static int siz,sviers/e* (3276sizcr"+code=dev" cr"t <8ks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6"L237"> )6 ,6GFP_KERNEckca6),,,,,,,,6sbvideo/quickcam_messeng6r.c#L636" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>,="L229"6 229 cr"t <8ks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6"}
         resubmit_cr"6static int siz,sviers/e* (3276sizcr"+code=dev" cr"t <8ks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6"ss="srp36)
qcm_stv_setwref="+code=bvide=cam" class="s2bvideef">./a>         ,6)
qcm_stv_setwref="+code=bvide=cam" class="s2bvideef">./a>        )
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6">
        4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL )64al3 1, 331endp" clas4="sre411ame=="L236"> 236<6"L237"> ,6ur4"> 216bue  2fivdrt_data6static int siz,sf4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6),,,,,,,,6sbvideo/quickcam_messeng6r.c#L64ref">u4_messenge4.c#L213" id=31172"> 172<4a>   4            br215buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6)L237"> )6="drivers/media/video/us6video645kcam_messengnger.c#L216" id="L2errflag"cam" class="s2errflagef">s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6)L237"> ,6="drivers/media/video/us6video64uickcam_messe4>buefef4>bue]4   2pktsz"cam" class="s2pktszef">s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6);
ur4"> 216(struct 4* we'll 31f="+code=d4v" cl41name=="L236"> 236<6>>
a#L216" id="L216" )
qcm_stv_setwref="+code=iso_packet_lexFromkedL23bvid,iso_packet_lex6static int siz,s)k am_messenge3.c#L227" id="L227" class3"line32s="        breakme6buefef4>bueer">ur4"> 216"Ca era is not operational"/r.c#L1fs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6<,,,,,,,,6="drivers/media/video/us6video656" id="L216" clas3/uso/ref">-ef4>buefef4>bueEFAULT>ur4"> 2164ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL      hsv2rgLf="+co6e=CHE65uickc3_messenge3.c#L162" id=2L164" line"3name=36="L215"> 2e=uvd" c6 )6ideo/usbvideo/quick2eusb6ideo265uickcam_messenger.c#L240" ider">ur4"> 216static int siz,s_stv_setwref="+code=qcm_camera__
)
qcm_stv_setwref="+code=ifacera_
)
qcm_stv_setwref="+code=ifaceAltActc#Lra_
ur4"> 216ur4"> 216"cla_set_is=erface error"/r.c#L1fs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6qcm_stv_setwref="+code=ur4"> 216-ef4>buefef4>bueEBUSY>ur4"> 2164ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
,  236<6d="L151hd6srers/media/video/use=uv6" cla666" id="L216" fora>)
=ssr.c#L216" id="L2i classs" class=ief"> <sr.c#L216" id="L2USBVIDEO_NUMSBUF classs" class=USBVIDEO_NUMSBUF6++M am_messenge3.c#L227" id="L227" class3"line32s="        breakme6d="L151hd6efers/media/video/usc   6  ret66ckcam_messenger.c#L12nger.c#L216" id="L2j classs" class=j6 cr"t <8href="+code=qcm_ccr"+code=dev" cr"t <8a#L216" id="L216" )
qcm_stv_setwref="+code=sbuf=cam" class="s2bbuf>qcm[.c#L216" id="L2i classs" class=ief">]./a>         cr"t <8s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6aL237"> )6 iers/media/video/usc|= 6x3>
<66uickcam_messeeeeeeeeeefef4>bue]4   2 cr"t <8_stv_setwref="+code=qcm_camera__
)
qcm_stv_setwref="+code=qcm_camera__
 223
<66uickcam_messeeeeeeeeeefef4>bue]4   2 cr"t <8_stv_setwref="+code=ass=excam" class="s2class=exc hrea#L216" id="L216" )
qcms4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223

<66="+code=val" class="sefef4>bue]4   2 cr"t <8_stv_setwref="+code=pipLra_
static int siz,s_stv_setwref="+code=qcm_camera__
)
qcm_stv_setwref="+code=ss4"l_endpFromkedL23bvid,ss4"l_endpiz,sks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6da="L229"6216" id="L216" class/usb6ideo2666" id="L216" clas3/9 efef4>bue]4   2 cr"t <8_stv_setwref="+code=is=erval classs" class=is=erval6 cr"t <8_stv_setwref="+code=transfer_flage=cam" class="s2transfer_flage6qcms4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223;
buefef4>bue cr"t <8_stv_setwref="+code=transfer_bufff">ur4"> 216 #L216" id="L216" )
qcm_stv_setwref="+code=sbuf=cam" class="s2bbuf>qcm[.c#L216" id="L2i classs" class=ief">]./a>        buedataef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215
buefef4>bue cr"t <8_stv_setwref="+code=asmpletLra_
 172<4a>   4            br215buefef4>bue cr"t <8_stv_setwref="+code=number_of_packete=cam" class="s2number_of_packeteef">c#L216" id="L216" FRAMES_PER_DESC+code=dev" FRAMES_PER_DESC6 172<4a>   4            br215buefef4>bue cr"t <8_stv_setwref="+code=transfer_bufff"_lexgtcode=cam" class=transfer_bufff"_lexgtcef">c#L216" id="L216" pktsz"cam" class="s2pktszef">a*L216" id="L216" FRAMES_PER_DESC+code=dev" FRAMES_PER_DESC6 172<4a>   4            br215)
 FRAMES_PER_DESC6bue]4   2pktsz"cam" class="s2pktszef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme6>L237"> )6="drivers/media/video/us6video67uickcam_messeeeeeeeeeeeeeeeeeefef4>bue]4   2 cr"t <8_stv_setwref="+code=iso_fre2/_deschref="drivers/miso_fre2/_desc cla[.c#L216" id="L2j classs" class=j6        c#L216" id="L216" k classs" class=k6bue]4   2 cr"t <8_stv_setwref="+code=iso_fre2/_deschref="drivers/miso_fre2/_desc cla[.c#L216" id="L2j classs" class=j6        c#L216" id="L216" pktsz"cam" class="s2pktszef">s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6 >
GFP_KERNEL4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
 229<6>;
)
qcm_stv_setwref="+code=bvreaming"cam" class="s2bvreamingt <8c#L1s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>>
)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8c#L-1s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>="L151hd6="drivdeosorKEVI_exposur6svier686" id="L216" fora>)
=ssr.c#L216" id="L2i classs" class=ief"> <sr.c#L216" id="L2USBVIDEO_NUMSBUF classs" class=USBVIDEO_NUMSBUF6++M am_messenge3.c#L227" id="L227" class3"line32s="    morhu =6>="L151hd6="drivers/media/vide3o9 6 buefef4>bueerrflag"cam" class="s2errflagef">c#L216" id="L216" cla_submit_cr"+code=dev" cla_submit_cr"6)
qcm_stv_setwref="+code=sbuf=cam" class="s2bbuf>qcm[.c#L216" id="L2i classs" class=ief">]./a>         cr"t <8efefef4>bue]4   2GFP_KERNELam" class="s2clGFP_KERNELiz,sks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>{
f4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>L237"> )6="dromkedL233" i edia= (6xFrom68uickcam_messeeeeeeeeeer.c#L12ef4>buefef4>bueerr>ur4"> 216"cla_submit_isoc(%d)ao/r %d"/r.c#L1venger.c#L240" idi classs" class=ief">efefef4>bue]4   2er"flag"cam" class="s2errflagef">fs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>     4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL;
CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<6>enger.c#6omkedL233" i edia= (0xFr6mkedL686" id="L216" efef4>bue]4   2CHECK_RET>ur4"> 216 216bue]4   2  2fietup_input_is=(32769 -ass="sk#Lehietup_input_is=6)
qcm)fs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>>
ur4"> 216 216bue]4   2  2fca era_oxFromkedL23bvid,  2fca era_ox6)
qcm)fs4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6a>
ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6n>
4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
Cnger.c#Lehstop_data/a4   2fef4>bue  2fivop_data6static int siz,sf4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =6>>>>>>>>>60x143At0&qF004,  )6="drivers/media/video/us6video69uickcam_messe   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L27" id="L227" class3"line32s="    morhu =6>     buefef4>bue]4   2i classs" class=ief">efefef4>bue]4   2j classs" class=j6s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 2234* we'll 31f="+code=d4v" cl41name=="L236"> 236<6a;
4ef4>buefef4>buelame=static int siz,sc##L216" id="L216" NULLam" class="s2clNULLef">M ||a>!efef4>bue]4   2)
qcm_stv_setwref="+code=bvreaming"cam" class="s2bvreamingt <8k ||a>ef="+code=qcm_clame=static int siz,s_stv_setwref="+code=qcm_camera__
Mf4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7"L237"> )7















> 236,  236<7>{
c#L216" id="L216" cLeh a era_off=cam" class="s2cLeh a era_off6)
qcm)s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7>3
f4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7"4
)
qcm_stv_setwref="+code=dcm_camera__
"couldn't ref">the ut  off.\n"/r.c#L1)s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7>5
 7"66
<7 "drivers/media/video/us7video702
qcm_stv_setwref="+code=bvreaming"cam" class="s2bvreamingt <8c#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7"76
<7 "drivers/media/video/us7="sr270>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7a>
/* Unschedule all of>the iso td's *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7a9
s70eo/usc      rfora>)
=ssr.c#L216" id="L2i classs" class=ief"> <sr.c#L216" id="L2USBVIDEO_NUMSBUF classs" class=USBVIDEO_NUMSBUF6++M4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7);
buefef4>bue cla_kill_cr"6)
qcm_stv_setwref="+code=sbuf=cam" class="s2bbuf>qcm[.c#L216" id="L2i classs" class=ief">]./a>         cr"t <8)s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =7))
 236<7){
!efef4>bue]4   2)
qcm_stv_setwref="+code=remove_pending"cam" class="s2remove_pendingef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme7ass="srp37="drivers/media/video/us7video71uickcam_messeeeeeeeeeed="L230" clacommes=(>/* Set packet size to 0 *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7a>
static int siz,s_stv_setwref="+code=qcm_camera__
)
qcm_stv_setwref="+code=ifacera_
qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7a76
<7="drivers/media/video/us7video71="+code=val" class="sssssssssssssssssssssssss216" id="L216" )
qcm_stv_setwref="+code=ifaceAltInactc#Lra_
.c#L216" id="L2j classs" class=j6ur4"> 216"cla_set_is=erface() error %d."/r.c#L1venger.c#L240" idj classs" class=j6 )7)
qcm_stv_setwref="+code=lECt_errorFromkedL23bvid,lECt_error6 ,74ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL 179        4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL 2e=uvd" c7"ss="srp37al)
Cnger.c#Lehproc"L2_isoc/a4   2fef4>bue  2fproc"L2_isoc6static int siz,svint qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7>,="L215"7 2ideo/usbvideo/quievide7/quic72eo/usu4_messenge4.c#L213" id=31172"> 172<4a>   4            br215;
 103buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215>
s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br2159
        buef">ur4"> 2rg"+code=dev" rg"t <8href="+code=qcm_crg"L0+code=dev" rg"L0ef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215 )7ur4"> 2rg"+code=dev" rg"t <8href="+code=qcm_crg"L1+code=dev" rg"L1ef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215 ,7ur4"> 2bayL0+code=dev" bayL0t <8href="+code=qcm_cbayL0+code=dev" bayL0t <8s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215 17sbvideo/quickcam_messeng7r.c#L732o/usc      r   2fef4>buef">ur4"> 2bayL1+code=dev" bayL1t <8href="+code=qcm_cbayL1+code=dev" bayL1t <8s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215ur4"> 216 172<4a>   4            br215        Ms4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215bv_g3tw" cine" name 7"L237"> ,7.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme7";
 SIZE_160X120ref=:m_messenge3.c#L227" id="L227" class3"line32s="        breakme7">
ur4"> 216 172<4a>   4            br215         172<4a>   4            br215 )7 SIZE_320X240ref=:m_messenge3.c#L227" id="L227" class3"line32s="        breakme7"L237"> ,7 17sbvideo/quickcam_messeng7r.c#L746" id="L216" clas3/usef4>buefef4>buehorFromkedL23bvid,hor6ur4"> 216 172<4a>   4            br215 172<4a>   4            br215 )7="drivers/media/video/us7video74uickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 7)L237"> ,7="drivers/media/video/us7video74uickcam_messen/a>)
M am_messenge3.c#L227" id="L227" class3"line32s="        breakme7);
)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sk stv_=m_messenge3.c#L227" id="L227" class3"line32s="        breakme7)>
(struct )
4ef4>buefef4>bueRING_QUEUE_PEEKode=cam" class=RING_QUEUE_PEEK6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r0M ##L0x00M s="srs="srm_messenge3.c#L227" id="L227" class3"line32s="        breakme7>{
buefef4>bueRING_QUEUE_PEEKode=cam" class=RING_QUEUE_PEEK6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r1M ##L0xffM s="srs="srm_messenge3.c#L227" id="L227" class3"line32s="        breakme7>L237"> ,7/a>(struct buefef4>bueRING_QUEUE_PEEKode=cam" class=RING_QUEUE_PEEK6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r2M ##L0x00M s="srs="srm_messenge3.c#L227" id="L227" class3"line32s="        breakme7>L237"> 17="drivers/media/video/us7video756" id="L216" clas3/usssssssssssss4ef4>buefef4>bueRING_QUEUE_PEEKode=cam" class=RING_QUEUE_PEEK6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r3M ##L0xffMk am_messenge3.c#L227" id="L227" class3"line32s="        breakme7>,="L229"7of this idn tukkatkcamb"72d on75ckcam_messenger.c#L122222222222222222)
 172<4a>   4            br215 )7ideo/usbvideo/quick2eusb7ideo275uickcam_messeeeeeeeeeer.c#L1222222222)
 172<4a>   4            br215 ,7 iers/media/video/uscinp7t0&q=75uickcam_messeeeeeeeeeeeeeeeee22222222)
)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r4Ms4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215
/*/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7de=val" class="s22222222*sn/awe're ivdrting,awe need to discard>the first/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7<>
de=val" class="s22222222*s4 edias of>y bayer dataef.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7a>
de=val" class="s22222222*sand>the first 2 gr elemes=s of>x bayer dataef.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7aL237"> ,7 iers/media/video/usc   7  ret76ickca)d="L230" clacommes=(>de=val" class="s22222222*//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7d="L151hd7srers/media/video/use=uv7" cla766" id="L216" clas3/usssssssssssss2222)
)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7d,="L229"7efers/media/video/usc   7  ret76ckcam_messenger.c#L122222222222222222222222222222222222222222>)
 172<4a>   4            br215 172<4a>   4            br215 )7 iers/media/video/usc|= 7x3>
<76uickcam_messeeeeeeeeeeeeeeeeea4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me7      
<76uickcam_messeeeeeeeeessss2222)
)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r1Ms4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215

<76="+code=val" class="sa4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me7 a="L229"7216" id="L216" class/usb7ideo276bvidcc#L364ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
(0,  229<7>;
)
M3/a>(0,  229<7>L237"> ,7="drivers/media/video/us7video771="hu/* nowawe can ivdrt proc"L2ing bayer data so long asawe have at least/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7nusbvideo7of this idoam_masidne. t7di.c#77ckcam)d="L230" clacommes=(>de=val" * 2 edias worth of>data.>this is the simplest demosaicing method>that/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7nL237"> )7="drivers/media/video/us7video77uickc)d="L230" clacommes=(>de=val" * I could>think of. I use each 2x2 bayer elemes= without is=erpolation/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7n     de=val" * to generates4 rgb pixels./r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7n>
de=val" *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7senger.c#7216" id="L216" class/usb7ideo277bvidcc#L362)
)
)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sk stv_=sef4>buefef4>buehorFromkedL23bvid,hor6/* get 2 edias of>bayer forademosaicing/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7>>
de=val" class="s2* is=o 2 edias of>RGB *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7>="L151hd7="drivdeosorKEVI_exposur7svier786" id="L216" clas3/usef4>buefef4>bueRingQueue_Dequeueode=cam" class=RingQueue_Dequeue6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,s,r.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=scratccode=cam" class=scratcciz,s,r.c#L216" id="L2horFromkedL23bvid,hor6 bayL0t <8h&qu   2fef4>buef">ur4"> 2bayL0+code=dev" bayL0t <8hr)f4>buef">ur4"> 2   am" class="s2claamnput_stv_setwref="+code=scratccode=cam" class=scratcciz,srm_messenge3.c#L227" id="L227" class3"line32s="        breakme7>usbvideo7="drivers/media/video/us7video78ckcam_messenger.c#L124>buef">ur4"> 2bayL1+code=dev" bayL1t <8h&qu   2fef4>buef">ur4"> 2bayL1+code=dev" bayL1t <8hr)a>.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=scratccode=cam" class=scratcciz,sc+r.c#L216" id="L2horFromkedL23bvid,hor6 )7="dromkedL233" i edia= (7xFrom78uickcam_messeeeeeeeeeed="L230" clacommes=(>/* fre2/_stv_aur tuk is the rgb y edia *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7>     bue]4   2rg"L0+code=dev" rg"L0ef">h&qu   2fef4>buef">ur4"> 2rg"+code=dev" rg"t <8hrM3/a>(0,  229<7>;
buedataef"> +a>)
 172<4a>   4            br215enger.c#7omkedL233" i edia= (0xFr7mkedL786" id="L216" clas3/9 )d="L230" clacommes=(>/* w/2 because we're already doing 2 pixels *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<7>>
 rg"L1ef">c#L216" id="L216" rg"L0+code=dev" rg"L0ef">h+a>)
)
=ssr.c#L216" id="L2x/a4   2fef4>buexef">c<sr.c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=widtcode=cam" class=widtc6+=2k am_messenge3.c#L227" id="L227" class3"line32s="        breakme7n>
 rg"L0ef">_stv_setwref="+code=r+code=dev" ref">c#L216" id="L216" bayL0+code=dev" bayL0t <8_stv_setwref="+code=r+code=dev" ref">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7a="L151hd7="drivers/media/video/us7video79ckcam_messenger.c#L1222222222216" id="L216" rg"L0+code=dev" rg"L0ef">_stv_setwref="+code=g"cam" class="s2gef">c#L216" id="L216" bayL0+code=dev" bayL0t <8_stv_setwref="+code=g"cam" class="s2gef">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7ausbvideo70x143At0&qF004,  rg"L0ef">_stv_setwref="+code="+code=dev" "t <8a#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code="+code=dev" "t <8rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7aL237"> )7="drivers/media/video/us7video79uickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 7>      rg"L0ef">_stv_setwref="+code=r2+code=dev" r2ef">c#L216" id="L216" bayL0+code=dev" bayL0t <8_stv_setwref="+code=r+code=dev" ref">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7a;
 rg"L0ef">_stv_setwref="+code=g2+code=dev" g2ef">c#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code=g"cam" class="s2gef">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7aenger.c#7216" id="L216" class/usb7ideo2796" id="L216" clas3/9 eeeeeeee216" id="L216" rg"L0+code=dev" rg"L0ef">_stv_setwref="+code="2+code=dev" b2ef">c#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code="+code=dev" "t <8rm_messenge3.c#L227" id="L227" class3"line32s="        breakme7a>
(0,  229<8"L237"> )8















> 236 rg"L1ef">_stv_setwref="+code=r+code=dev" ref">c#L216" id="L216" bayL0+code=dev" bayL0t <8_stv_setwref="+code=r+code=dev" ref">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8>)
 rg"L1ef">_stv_setwref="+code=g"cam" class="s2gef">c#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code=g"cam" class="s2gef">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8>{
 rg"L1ef">_stv_setwref="+code="+code=dev" "t <8a#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code="+code=dev" "t <8rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8>3
 rg"L1ef">_stv_setwref="+code=r2+code=dev" r2ef">c#L216" id="L216" bayL0+code=dev" bayL0t <8_stv_setwref="+code=r+code=dev" ref">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8>5
 rg"L1ef">_stv_setwref="+code=g2+code=dev" g2ef">c#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code=g"cam" class="s2gef">rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8"66
<8 "drivers/media/video/us8video80uickcam_messeeeeeeeeessss2222)
 rg"L1ef">_stv_setwref="+code="2+code=dev" b2ef">c#L216" id="L216" bayL1+code=dev" bayL1t <8_stv_setwref="+code="+code=dev" "t <8rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8"76
<8 "drivers/media/video/us8="sr280>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8a>
 rg"L0ef">++rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8"9
s80eo/usc      return  rg"L1ef">++rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8);
 bayL0t <8++rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8){
 bayL1t <8++rm_messenge3.c#L227" id="L227" class3"line32s="        breakme8)3
GFP_KERNEL 2e=uvd" c8ass="srp38="drivers/media/video/us8video81uickcam_messeeeeeeeeeef="+code=qcm_cfre2/(32769 -ass="skfre2/t <8_stv_setwref="+code=seqRead_Lexgtcode=cam" class=seqRead_Lexgtcef">h+#L216" id="L216"    am" class="s2claamnput_stv_setwref="+code=widtcode=cam" class=widtc6 172<4a>   4            br215
 172<4a>   4            br215
<8="drivers/media/video/us8video81="+code=val" >4ref="+cod4=USB_R3CIP_D3VICE" class4"sref41ref">GFP_KERNEL
/* Seesn/awe filled>the fre2/ *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8>9
 )8bue]4   2fre2/(32769 -ass="skfre2/t <8_stv_setwref="+code=fre2/Svid/(32769 -ass="skfre2/Svid/"dric#L216" id="L216" Fre2/Svid/_Done_Hola>)
 ,8bue]4   2fre2/(32769 -ass="skfre2/t <8_stv_setwref="+code=cur tukka" class="s2claur tukt <8c#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8"L237"> 189        buefef4>bue)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8c#L-1s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8"3
buefef4>bue)
qcm_stv_setwref="+code=bvate=cam" class="s2bvate>qcm./a>        

<8mame="L103"> 103/* taken from konicawc *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8>>
static int <8href="+code=qcm_clame=static int siz,svint static ina/4g"_windowt <8href="+code=qcm_cvwe=static inawt <8M3/a>(0,  229<8>9
         )8s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 ,8s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 18sbvideo/quickcam_messeng8r.c#L832o/usc      rnger.c#L216" id="L2olasiz/(32769 -ass="skolasiz/ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223buexef">c#L216" id="L216" vwe=static inawt <8_stv_setwref="+code=widtcode=cam" class=widtc6 223        c#L216" id="L216" vwe=static inawt <8_stv_setwref="+code=heigh" classs" class=heigh"t <8s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput0&qu   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buef)f4>buef">ur4"> 216buefef4>bu_stv_setwf iers/mediuser_data/a4   2fef4>buefser_dataef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
c>sr0c&="srs="srr.c#L216" id="L2yode=cam" class=yef">c>sr0k am_messenge3.c#L227" id="L227" class3"line32s="        breakme8">
"trying to find size %d,%d"/r.c#L1venger.c#L240" idx/a4   2fef4>buexef">venger.c#L240" idyode=cam" class=yef">Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8"9
        )
c#Lssr.c#L216" id="L2newsiz/(32769 -ass="sknewsiz/ef">c<s#L216" id="L216" MAX_FRAME_SIZE(32769 -ass="skMAX_FRAME_SIZEef">sr.c#L216" id="L2newsiz/(32769 -ass="sknewsiz/ef">++k am_messenge3.c#L227" id="L227" class3"line32s="        breakme8"L237"> )84ef4>buefef4>bue=" era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2newsiz/(32769 -ass="sknewsiz/ef">]./a>        buexef">M s="srs="srm_messenge3.c#L227" id="L227" class3"line32s="        breakme8"L237"> ,8buefef4>bue=" era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2newsiz/(32769 -ass="sknewsiz/ef">]./a>        MM3/a>(0,  229<8"L237"> 18sbvideo/quickcam_messeng8r.c#L846" id="L216" clas3/usssssssssssssssssbreaks4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215c#L216" id="L216"    am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215
c>sr.c#L216" id="L2MAX_FRAME_SIZE(32769 -ass="skMAX_FRAME_SIZEef">k am_messenge3.c#L227" id="L227" class3"line32s="        breakme8">
(struct "couldn't find size %d,%d"/r.c#L1venger.c#L240" idx/a4   2fef4>buexef">venger.c#L240" idyode=cam" class=yef">Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8>>
s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215{
L237"> ,8/a>(struct  236<8>L237"> 18="drivers/media/video/us8video856" id="L216" n/a>efef4>bue]4   2newsiz/(32769 -ass="sknewsiz/ef">c##L216" id="L216"    am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme8>,="L229"8of this idn tukkatkcamb"82d on85ckcam_messenger.c#L12)
"Nothing to do"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8/usbvideo80      hsv2rgLf="+co8e=CHE85ckcam_messenger.c#L12o/ref" ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8 )8ideo/usbvideo/quick2eusb8ideo285uickcam_messea4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me8>>

buefef4>buMrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8/>
efef4>bue]4   2   am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef"> !#L216" id="L216" newsiz/(32769 -ass="sknewsiz/ef">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme8a>
bue]4   2olasiz/(32769 -ass="skolasiz/ef">c#L216" id="L216"    am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215 ,8 iers/media/video/usc   8  ret861="hubue]4   2   am" class="s2claamnput_stv_setwref="+code=siz/(32769 -ass="sksiz/ef"> #L216" id="L216" newsiz/(32769 -ass="sknewsiz/ef">s4m_messeng4r.c#L13" id=31172"> 172<4a>   4            br215 18srers/media/video/use=uv8" cla866" id="L216" clas3/us.c#L216" id="L216" classs" class=2sref"> #L216" id="L216" #Lehiet_=" era_siz/am" class="s2cl#Lehiet_=" era_siz/6buefef4>buMrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8d,="L229"8efers/media/video/usc   8  ret86ckcam_messenger.c#L12n/a>efef4>bue]4   216" classs" class=2sref">M am_messenge3.c#L227" id="L227" class3"line32s="        breakme8ausbvideo8="drivers/media/video/us8video86ckcam_messenger.c#L1222222222efef4>bue]4   2er">ur4"> 216"Couldn't iet =" era size, err=%d"/r.c#L1vefef4>bue]4   216" classs" class=2sref">Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme8dL237"> )8 iers/media/video/usc|= 8x3>
<86uickcam_messeeeeeeeeeeeeeeeee)d="L230" clacommes=(>/* reivore>the original size *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8      
<86uickcam_messeeeeeeeeessss2222)
 #L216" id="L216" olasiz/(32769 -ass="skolasiz/ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223

<86="+code=val" class="ssssssssso/ref" .c#L216" id="L216" classs" class=2sref">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
;
 ,8="drivers/media/video/us8video871="hu/* Flush>the input queuesand>clearsany curres= fre2/ in progreis *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8n="L151hd8="drivers/media/video/us8video876" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8n="L151hd8="drivers/media/vid2o/us8vide287ckcam_messengec#L216" id="L2RingQueue_Flush classs" class=RingQueue_Flush6)
qcm_stv_setwref="+code=dpFromkedL23bvid,dpiz,sks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223efef4>bue]4   2)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8c!#L-1M am_messenge3.c#L227" id="L227" class3"line32s="        breakme8nL237"> )8="drivers/media/video/us8video87uickcam_messeeeeeeeeeef="+code=qcm_c)
qcm_stv_setwref="+code=fre2/(32769 -ass="skfre2/t <8[.c#L216" id="L2)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8]./a>        bue]4   2)
qcm_stv_setwref="+code=fre2/(32769 -ass="skfre2/t <8[.c#L216" id="L2)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8]./a>        h#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8n>
qcm_stv_setwref="+code=fre2/(32769 -ass="skfre2/t <8[.c#L216" id="L2)
qcm_stv_setwref="+code=curfre2/(32769 -ass="skcurfre2/t <8]./a>        bueseqRead_Indexef">h#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =8na="L229"8216" id="L216" class/usb8ideo287bvidcc#L36>
 229<8>;
        bueCHECK_RET6venger.c#L240" id  2fivart_data/a4   2fef4>bue  2fivart_data6buefef4>buMks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223>
="L151hd8="drivers/media/vide3o9 8 bue  2fconfigure_a/4g"6static int siz,sM3/a>(0,  229<8>L237"> )8="dromkedL233" i edia= (8xFrom88uickcam_messenge3.c#L227" id="L227" class3"line32s="        breakme8>     s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223;
)
qcm_stv_setwref="+code=vpic>)
ve0, sizeof>efef4>bue]4   2)
qcm_stv_setwref="+code=vpic>)
Mks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223a="L229"8omkedL233" i edia= (0xFr8mkedL886" id="L216" .c#L216" id="L2mems6" classs" class=mems6"6)
qcm_stv_setwref="+code=vpic_ola>)
ve0x55, sizeof>efef4>bue]4   2)
qcm_stv_setwref="+code=vpic_ola>)
Mks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223>
 229<8a>
        )
qcm_stv_setwref="+code=vpic>)
./a>        ur4"> 216c#L216" id="L216"  olou">ur4"> 216s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
        )
qcm_stv_setwref="+code=vpic>)
./a>         #L216" id="L216" hueode=cam" class=hu/ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223        )
qcm_stv_setwref="+code=vpic>)
./a>        )
 #L216" id="L216" brigh"nL22>)
s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223)
qcm_stv_setwref="+code=vpic>)
./a>        c#L216" id="L216"  ontras" classs" class=contras"ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223)
qcm_stv_setwref="+code=vpic>)
./a>        )
c#L216" id="L216" whitenL22>)
s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )8="drivers/media/video/us8video895kcam_messengec#L216" id="L2)
qcm_stv_setwref="+code=vpic>)
./a>        c#L24s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223)
qcm_stv_setwref="+code=vpic>)
./a>        c#L216" id="L216" VIDEO_PALETTE_RGBdrivers/medss="skVIDEO_PALETTE_RGBdref">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<8aenger.c#8216" id="L216" class/usb8ideo2896" id="L216" .c#L216" id="L2mems6" classs" class=mems6"6)
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">ve0, sizeof>efef4>bue]4   2)
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">Mks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
./a>        "QCM USB C" era"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9"L237"> )9















> 236qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L216" id="L216" VID_TYPE_CAPTURE(32769 -ass="skVID_TYPE_CAPTUREef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223)
        )
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L1s4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9>{
        )
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        h#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9>3
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L216" id="L216"  " era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2SIZE_160X120+code=dev" SIZE_160X120t <8]./a>         2235
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L216" id="L216"  " era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2SIZE_160X120+code=dev" SIZE_160X120t <8]./a>         223
<9 "drivers/media/video/us9video90uickcam_messeec#L216" id="L2)
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L216" id="L216"  " era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2SIZE_320X240+code=dev" SIZE_320X240t <8]./a>         22376
<9 "drivers/media/video/us9="sr290="+code=val" .c#L216" id="L2)
qcm_stv_setwref="+code=vcapFromkedL23bvid,vcapef">./a>        c#L216" id="L216"  " era_siz/e=cam" class="s2=" era_siz/e="hu[.c#L216" id="L2SIZE_320X240+code=dev" SIZE_320X240t <8]./a>         223
<9 16" id="L216" class/usb9video906" idm_messenge3.c#L227" id="L227" class3"line32s="        breakme9"9
s909" id="L216" .c#L216" id="L2mems6" classs" class=mems6"6)
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">ve0, sizeof>efef4>bue]4   2)
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">Mks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223        )
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">./a>        h#Ls s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223        )
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">./a>        h#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9){
        )
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">./a>        h#Lss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9)3
qcm_stv_setwref="+code=vchanFromkedL23bvid,vchanef">./a>        c#L216" id="L216" VIDEO_TYPE_CAMERAivers/medss="skVIDEO_TYPE_CAMERAt <8s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223buefef4>bu_stv_setwref="+code=vchanFromkedL23bvid,vchanef">./a>        "C" era"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9ass="srp39="drivers/media/video/us9video91uickc3"_messeng3ton_st2_buf"2class="sref3>bv_g3tw" cine" name 9a>
venger.c#L240" id  2fiensor_ini" classs" class=  2fiensor_ini"6buefef4>buMks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
<9="drivers/media/video/us9video91="+code=val" o/ref" ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9)>
9
 229<9"L237"> )9v3/a>(0,  229<9")
buef">ur4"> 2csb_device_ibuefsb_device_i<"+codref="+code=qcm_cdevibuedevi<4>buM3/a>(0,  229<9"{
        ur4"> 216static int siz,ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9"ss="srp39al)
ur4"> 2fsb_device/a4   2fef4>buefsb_device"+codref="+code=qcm_cdev/a4   2fef4>buedevef">c#L216" id="L216" interfac/_to_fsbdev/a4   2fef4>bueinterfac/_to_fsbdev6ks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnputs4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
<9mame="L103"> 103 223
 223        buef">ur4"> 2fsb_host_interfac/am" class="s2clcsb_host_interfac/"+codref="+code=qcm_cinterfac/am" class="s2clinterfac/"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )9ur4"> 2fsb_endpoint_descripto">ur4"> 216 216 223v.c#L216" id="L2jam" class="s2clj"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223venger.c#L240" idifac/nu _inact>ur4"> 216=ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =9"3
 223         2e=uvd" c9"ss="srp39/* we don't iupport muldeoonfig =" s *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9">
_stv_setwref="+code=descripto">ur4"> 216         229<9";
 223
        /* firstecheckaforathe ss3"l interfac/sand>not/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9"L237"> )9c      r*athe audio interfac/s*//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9"L237"> ,9        _stv_setwref="+code=cur_altsetting"m" class="s2claur_altsetting="hu[0]s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 19sbvideo/quickcam_messeng9r.c#L946" id="L216" n/a>4ef="+code=qcm_cinterfac/am" class="s2clinterfac/"+co_stv_setwref="+code=desc>ur4"> 216         am" class="s2clbInterfac/C4"> ickca!= /a>         229<9"3
efef4>bue]4   2interfac/am" class="s2clinterfac/"+co_stv_setwref="+code=desc>ur4"> 216         am" class="s2clbInterfac/SubC4"> ickca!=3/a>(0,  229<9"}
         229<9"ss="srp39="drivers/media/video/us9video94uickcam_messeeeeeeeeeo/ref" -nger.c#L240" idENODEVam" class="s2clENODEV"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223
/*/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9">
(struct c      rwalkathrough each endpoint in each setting in the interfac/"+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9"9
c      rivop whenawe find>the one>that'ssan isochronous IN endpoint."+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9>{
c      r*//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9>L237"> ,9/a>(struct )
=ssr.c#L216" id="L2iam" class="s2clief">c<sv/a>        _stv_setwref="+code=nu _altsetting"m" class="s2clnu _altsetting"+cosr.c#L216" id="L2iam" class="s2clief">++k am_messenge3.c#L227" id="L227" class3"line32s="        breakme9>L237"> 19="drivers/media/video/us9video956" id="L216" clas3/us.c#L216" id="L2interfac/am" class="s2clinterfac/"+coc#Ls="sr216" id="L216" intfam" class="s2clintfef">_stv_setwref="+code=cur_altsetting"m" class="s2claur_altsetting="hu[.c#L216" id="L2iam" class="s2clief">]s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223,="L229"9of this idn tukkatkcamb"92d on95ckcam_messenger.c#L12)
c#L216" id="L216" interfac/am" class="s2clinterfac/"+co_stv_setwref="+code=desc>ur4"> 216         223      hsv2rgLf="+co9e=CHE95ckcam_messenger.c#L12)d="L230" clacommes=(>/* walkathe end points *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9 )9ideo/usbvideo/quick2eusb9ideo295uickcam_messeeeeeeeeefora>)
         216        ur4"> 216 216        ur4"> 216 223CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9/>
4ef="+code=qcm_cendpoint>ur4"> 216 229<9a>
/* not input thenanot good *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9aL237"> ,9 iers/media/video/usc   9  ret96ickca3_,  236<9aL237"> 19srers/media/video/use=uv9" cla966" id="L216" clas3/usssss2222)
 216ks4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223!)
 216c#L216" id="L216" ifac/nu am" class="s2clifac/nu ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )9 iers/media/video/usc|= 9x3>
<96uickcam_messeeeeeeeeeeeeeeeeecccccccccontinue;2)d="L230" clacommes=(>/* 0 pkt size isanot whatawe want *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a>

<96uickcam_messeeeeeeeeessss2222a4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me9a>

<96>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9 a="L229"9216" id="L216" class/usb9ideo2966" id="L216" clas3/9         n/a>4ef="+code=qcm_cendpoint>ur4"> 216 229<9>;
 ,9="drivers/media/video/us9video971="huur4"> 216/* break out ofathe search *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9n="L151hd9="drivers/media/vid2o/us9vide297ckcam_messenger.c#L12                gotoL216" id="L216" good_a/4g"epFromkedL23bvid,good_a/4g"ep"+corm_messenge3.c#L227" id="L227" class3"line32s="        breakme9nusbvideo9of this idoam_masidne. t9di.c#97ckcam_messenger.c#L1222222222a4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me9nL237"> )9="drivers/media/video/us9video97uickcam_messeeeeeeeeea4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me9n>

/* failed out sinceanothing useful was found *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9na="L229"9216" id="L216" class/usb9ideo2976" id="L216" .c#L216" id="L2er">ur4"> 216"No suitable endpoint was found\n"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9>>
 223;
/* disable isochronous    eam before>doing anything else *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9>="L151hd9="drivers/media/vide3o9 9 ur4"> 216ur4"> 216venger.c#L240" idSTV_ISO_ENABLE(32769 -ass="skSTV_ISO_ENABLEef">ve0Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9>usbvideo9="drivers/media/video/us9video98ckcam_messengn/a>efef4>bue]4   2er">ur4"> 216 )9="dromkedL233" i edia= (9xFrom98uickcam_messeeeeeeeeeef="+code=qcm_cer">ur4"> 216"Failed to disable iensor    eam"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9>      223>
a="L229"9omkedL233" i edia= (0xFr9mkedL986" idm_messenge3.c#L227" id="L227" class3"line32s="        breakme9>>
/*/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a>
c      rCheckathatathis isathe ske  unknown iensor thataisaknown to work. This/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a>
c      riensor isasuspected to be>the ST VV6422C001. I'llecheckathe ske  valu/"+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a="L151hd9="drivers/media/video/us9video996" id)d="L230" clacommes=(>c      rthatathe qc-edi 4 ">qcechecks. This valu/ isaprobablyanot even the"+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a="L151hd9="drivers/media/video/us9video99ckcam)d="L230" clacommes=(>c      riensor ID sinceait matchesathe USB dev ID. Oh well. Ifait doesn't"+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9ausbvideo90x143At0&qF004, c      rmatch,ait'ssprobablyaa diff iensor  o exit and>apologize."+.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9aL237"> )9="drivers/media/video/us9video995kcam)d="L230" clacommes=(>c      r*//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<9a     ur4"> 216ur4"> 216venger.c#L240" idCMOS_SENSOR_IDREVam" class="s2clCMOS_SENSOR_IDREVef">ves="sr216" id="L216" iensor_ime=static iniensor_im"+coMrm_messenge3.c#L227" id="L227" class3"line32s="        breakme9a;
ur4"> 216ur4"> 216"Couldn't  ead iensor valu/s. Err %d\n"/r.c#L1v.c#L216" id="L2er">ur4"> 216ur4"> 216 )10"L23ivdeosorKEVIlevelriv10"L2>10"L"+code=val" a4m/pre> a7/0c/f0e0acfc9ffe0e11b21f27f30dc96a50f8c9_3/10"L2>m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =10"1237"> )10"mkedL233" i edia= (0xFr10"mk>10"1kcam_messengn/a>efef4>bue]4   2iensor_ime=static iniensor_im"+coa!= /a>         )10""drivers/media/video/us10""d>10"6" id="L216" clas3/us.c#L216" id="L2er">ur4"> 216"Sensor ID %xa!= %x. Uniupported. Sorry\n"/r.c#L1vm_messenge3.c#L227" id="L227" class3"line32s="        breakme10"3237"> )10""drivers/media/video/us10""d>10"ckcam_messenger.c#L12        216" id="L216" le="_to_cpuam" class="s2clle="_to_cpu6static iniensor_im"+coM, 40x08F0)ks4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =10"4237"> )10"x143At0&qF004, 10"ckcam_messenger.c#L12o/ref" -nger.c#L240" idENODEVam" class="s2clENODEV"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10""drivers/media/video/us10""d>10"5"+code=val" a4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10""drivers/media/video/us10""d>10"eo/us4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me10"7237"> )10""drivers/media/video/us10""d>10"="+code=val" .c#L216" id="L2)
qcm #L216" id="L216" errfl4g"_AllocateDevice/a4   2fef4>buefsbfl4g"_AllocateDevice6 )10"16" id="L216" class/usb10"16>10"8kcam_messengn/a>!)
 229<10"9237"> )10""drivdeosorKEVIlevelriv10""d>10"eo/usc      return  223 )10="drivers/media/vid2ckca10="d>10="o/us4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me1011237"> )10="drivdeosorKEVIsiz,svie10="d>10=1="hu        qcm_stv_setwref="+code=user_data/a4   2fef4>bueuser_data"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivers/media/videod" 10="d>10=6" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =10=3237"> )10="drivers/media/video/us10="d>10=ckcam_messenged="L230" clacommes=(>/* bufeforadoing demosaicing *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<10=4237"> )10="drivers/media/video/us10="d>10=ckcam_messengec#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=scratche=static inicratch>qcm #L216" id="L216" kmalloce=static inkmalloc6static inGFP_KERNEL6 )10="drivers/media/video/us10="d>10=5kcam_messengn/a>!)
static inicratch>qcm)ged="L230" clacommes=(>/* ef" freed ng dereg *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<10=6237"> )10="drivers/media/video/us10="d>10=uickcam_messeeeeeeeeeo/ref" -nger.c#L240" idENOMEMam" class="s2clENOMEM"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivers/media/video/us10="d>10=>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<10=8237"> )10216" id="L216" class/usb10216>10=8kcam_messenged="L230" clacommes=(>/* yes,gn/awe fail after here, =" _stv_icratch gets freed/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<10=9237"> )10="drivdeosorKEVI_shusbvi10="d>10=eo/us)d="L230" clacommes=(>c      rby #Lehfree_ef" *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<102L237"> )1010qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1021237"> )1010<1="hu        ur4"> 216ur4"> 216 )109        10<6" id="L216" n/a>efef4>bue]4   2er">ur4"> 216 )10sbvideo/quickcam_messeng10sbv>10ur4"> 216 )10drivers/media/vid2o/usbv10dri>10 2e=uvd" c10<5237"> )10al)
/* yes,gn/awe fail after here, int urb gets freed/r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1026237"> )10 2ideo/usbvideo/quievide10 2i>10<6o/us)d="L230" clacommes=(>c      rby #Lehfree_ef" *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1027237"> )10mame="L103"> 10310<>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1028237"> )10 22910<6" id="L216" .c#L216" id="L2RESTRICT_TO_RANGE(32769 -ass="skRESTRICT_TO_RANGE6 SIZE_160X120t <8venger.c#L240" idSIZE_320X240+code=dev" SIZE_320X240t <8Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1029237"> )109        10<9" id="L216" .c#L216" id="L2   am" class="s2claamnput_stv_setwref="+code=widtcode=cam" class=widtc6 223 )1010 223 )10         223 )10sbvideo/quickcam_messeng10sbv>10<6" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =1033237"> )10 22910qcm_stv_setwref="+code=debug"m" class="s2cldebugnputc#L216" id="L216" debug"m" class="s2cldebugnputs4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )109        10qcm_stv_setwref="+code=flage=cam" class="s2flageef">h#Lss4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )1010<5kcam_messengec#L216" id="L2)
qcm_stv_setwref="+code=dev/a4   2fef4>buedevef">c#L216" id="L216" dev/a4   2fef4>buedevef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10qcm_stv_setwref="+code=ifac/am" class="s2clifac/"+coc#Lsetwref="+code=intfam" class="s2clintfef">_stv_setwref="+code=altsetting"m" class="s2claltsetting="hu_stv_setwref="+code=desc>ur4"> 216        ur4"> 216s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10sbvideo/quickcam_messeng10sbv>10<="+code=val" .c#L216" id="L2)
qcm_stv_setwref="+code=ifac/AltAct.c#am" class="s2clifac/AltAct.c#"+coc#Lsetwref="+code=ifac/nu am" class="s2clifac/nu ef">s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10 22910<6" id="L216" .c#L216" id="L2)
qcm_stv_setwref="+code=ifac/AltInact.c#am" class="s2clifac/AltInact.c#"+coc#Lsetwref="+code=ifac/nu _inact>ur4"> 216s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )109        10<9" id="L216" .c#L216" id="L216buefef4>bu_stv_setwref="+code=vl4g"_endp/a4   2fef4>buevl4g"_endp"+coc#Lsetwref="+code=vl4g"_epFromkedL23bvid,v/4g"_epnputs4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )1010qcm_stv_setwref="+code=iso_packet_lenFromkedL23bvid,iso_packet_len"+coc#Lsetwref="+code=buffer_siz/am" class="s2clbuffer_siz/nputs4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10        )
qcm_stv_setwref="+code=paletteBitsam" class="s2clpaletteBits"+coc#L1L <s<sv/a>         223 )10sbvideo/quickcam_messeng10sbv>10<6" id="L216" /a>        )
qcm_stv_setwref="+code=defaultPalette>ur4"> 216 223 )10drivers/media/vid2o/usbv10dri>10qcm_stv_setwref="+code=canvae=cam" class="s2="nvae"+coc#Lsetwref="+code=VIDEOSIZEivers/med="s2clVIDEOSIZE6 )10media/vid2o/usbvide2/qui10med>10qcm_stv_setwref="+code=vs3"lsiz/am" class="s2clvs3"lsiz/"+coc#Lsetwref="+code=VIDEOSIZEivers/med="s2clVIDEOSIZE6 )10="drivers/media/video/us10="d>10<5kcam_messengec#L216" id="L2er">ur4"> 216ur4"> 216 )10="drivers/media/video/us10="d>10efef4>bue]4   2er">ur4"> 216 )10="drivdeosorKEVI_r.c#riv10="d>10<="+code=val" class="sefef4>bue]4   2er">ur4"> 216"failed to configure ss3"l settings"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme10<8237"> )10/a>(struct ur4"> 216 )10="drivers/media/vide3o9 10="d>10<9" id="L216" a4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivers/media/video/us10="d>10="" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =1051237"> )10/a>(struct         ur4"> 216buefsbfl4g"_RegisterVl4g"Device6 )10="drivers/media/video/us10="d>10=6" id="L216" n/a>efef4>bue]4   2er">ur4"> 216/* the ef" gets freed ng Deregister *//r.c#L14"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1053237"> )10of this idn tukkatkcamb"10of >10=ckcam_messenger.c#L12)
ur4"> 216"fsbfl4g"_RegisterVl4g"Device() failed."/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1054237"> )100      hsv2rgLf="+co10010=ckcam_messenger.c#L12o/ref" .c#L216" id="L2er">ur4"> 216 )10ideo/usbvideo/quick2eusb10ide>10=5"+code=val" a4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10 iers/media/video/uscinp10 ie>10=eo/us4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me1057237"> )10srers/media/video/useinp10sre>10=="+code=val" .c#L216" id="L2)
qcm_stv_setwref="+code=max_fruse_siz/am" class="s2clmax_fruse_siz/6 )10efers/media/video/uscinp10efe>10=6" id="L216" .c#L216" id="L2#Lehregister_input>ur4"> 216buedevef">Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1059237"> )10="drivers/media/video/us10="d>10=9" id="L216" .c#L216" id="L21sbhiet_intfdata/a4   2fef4>bueusbhiet_intfdata6v .c#L216" id="L2)
qcmMrm_messenge3.c#L227" id="L227" class3"line32s="        breakme106L237"> )10="driversmi0..36kcam8s#L10="d>10="" id="L216" o/ref" ss4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =10=1237"> )10 iers/media/video/usc   10 ie>10=1="hua4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10srers/media/video/use=uv10sre>10=6" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =1063237"> )10efers/media/video/usc   10efe>10=ckcambvideo/void .c#L216" id="L2#Lehfree_ef">ur4"> 216static int siz,skm_messenge3.c#L227" id="L227" class3"line32s="        breakme1064237"> )10="drivers/media/video/us10="d>10=ckcamam_messenge3.c#L227" id="L227" class3"line32s="        breakme1065237"> )10 iers/media/video/usc|= 10 ie>10=uickcam_messe   2fef4>buef">ur4"> 2  2="+code=CHECKEV  24>buefef4>buefef4>bue   am" class="s2claamnput #L4nt buef)gec#L216" id="L2)
qcm_stv_setwref="+code=user_data/a4   2fef4>bueuser_data"+cos4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10srers/media/video/use|= 10sre>10=eo/us4m_messeng4r.c#L237" id31code=errfl4g" cl41bvideo/quickcam_me1067237"> )10efers/media/video/usc|= 10efe>10=="+code=val" .c#L216" id="L2kfree/a4   2fef4>buekfree6static inicratch>qcm)s4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10216" id="L216" class/usb10216>10=6" id="L216" .c#L216" id="L2#Lehunregister_input>ur4"> 216 223 )10nger.c#L use dne i,g,b w10nge>10=9" id="L216" .c#L216" id="L2#Lehfree_int>ur4"> 216 223 )10="drivers/media/video/us10="d>10="="hua4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivers/media/video/us10="d>10=ickca3_,  236<10=2237"> )10="drivers/media/video/us10="d>10=2kcambvideo/   2fef4>buef">ur4"> 2fsbfl4g"_cb>ur4"> 216 216 )10="drivers/media/vid2o/us10="d>10=ckcam_messeng./a>        bueprobenput #Lmessenger.c#L12)
vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1074237"> )10of this idoam_masidne. t10of >10=4kcam_messeng./a>        vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1075237"> )10="drivers/media/video/us10="d>10=5kcam_messeng./a>        bueproc   Datanput #Lmessenger)
vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1076237"> )10="drivers/media/video/us10="d>10=6kcam_messeng./a>        vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1077237"> )10="drivers/media/video/us10="d>10=7kcam_messeng./a>        vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1078237"> )10216" id="L216" class/usb10216>10=8kcam_messeng./a>        vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1079237"> )10="drivers/media/video/us10="d>10=9kcam_messeng./a>        vm_messenge3.c#L227" id="L227" class3"line32s="        breakme108L237"> )10="drivers/media/video/us10="d>10="kcam_messeng./a>        bueuserFreenput #Lmessenger.c#.c#L216" id="L2#Lehfree_ef">ur4"> 216 )10"drivers/media/video/usb10"dr>10=1="huas4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivdeosorKEVI_exposur10="d>10=6" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =1083237"> )10="drivers/media/vide3o9 10="d>10=ckcambvideo/int .c#L216" id="L2__init>ur4"> 216 216 )10="drivers/media/video/us10="d>10=ckcamam_messenge3.c#L227" id="L227" class3"line32s="        breakme1085237"> )10="dromkedL233" i edia= (10="d>10=5kcam_messengec#L216" id="L2printk/a4   2fef4>bueprintk6": "/r.c#L1=.c#L216" id="L2DRIVER_VERSIONam" class="s2clDRIVER_VERSION" id=.d="L230" cla   ing">":"/r.c#L1m_messenge3.c#L227" id="L227" class3"line32s="        breakme1086237"> )10="drivers/media/video/us10="d>10=uickcam_messeeeeeeee.c#L216" id="L2DRIVER_DESCam" class="s2clDRIVER_DESC" id=.d="L230" cla   ing">"\n"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme10=7237"> )10of this icalculgLeconweh10of >10=>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1088237"> )10omkedL233" i edia= (0xFr10omk>10=8kcam_messengo/ref" .c#L216" id="L2fsbfl4g"_register>ur4"> 216qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1089237"> )10="drivers/media/video/us10="d>10=eo/usc      return  )10="driversmax..360,ke car10="d>10="kcam_messenger.c#L12)
 )10omkedL233" i edia= (0xFr10omk>10=1="hubu)vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1092237"> )10="drivers/media/video/us10="d>10=6" id="L216" clas3/us.d="L230" cla   ing">"QCM"/r.c#L1vm_messenge3.c#L227" id="L227" class3"line32s="        breakme1093237"> )10="drivers/media/video/us10="d>10=ckcam_messenger.c#L12s="sr216" id="L216" #Leh3r.c#L>ur4"> 216 )100x143At0&qF004, 10=ckcam_messenger.c#L12)16" id="L216" THIS_MODULE(32769 -ass="skTHIS_MODULEnputvm_messenge3.c#L227" id="L227" class3"line32s="        breakme1095237"> )10="drivers/media/video/us10="d>10=uickcam_messeeeeeeeeeef="+code=qcm_c#Lehtable>ur4"> 216 223 )10="drivers/media/video/us10="d>10=6="hua4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )10="drivers/media/video/us10="d>10=>CAME4"8 205qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1098237"> )10216" id="L216" class/usb10216>10=8kcambvideo/void .c#L216" id="L2__exit>ur4"> 216 216 )10="drivdeosorKEVIlevelriv10="d>10=9kcamam_messenge3.c#L227" id="L227" class3"line32s="        breakme11"L237"> )11"L23ivdeosorKEVIlevelriv11"L2>110a" id="L216" .c#L216" id="L2ur4"> 216 223 )11"mkedL233" i edia= (0xFr11"mk>1101="hua4m_messeng4r.c#L233" id31183" class4"llll41name="L223"> 223 )11""drivers/media/video/us11""d>1106" id4m_messeng4r.c#L 2lass=2line"  clas3="lin35but no morhu =11"3237"> )11""drivers/media/video/us11""d>11"ckcamsetwref="+code=module_par  am" class="s2clmodule_par  6 )11"x143At0&qF004, 11"ckcam)
"Initial Siz/ 0: 160x120 1: 320x240"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme11"5237"> )11""drivers/media/video/us11""d>11"5"+cosetwref="+code=module_par  am" class="s2clmodule_par  6 216 )11""drivers/media/video/us11""d>11"eo/us)
 216"Initial colour"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme11"7237"> )11""drivers/media/video/us11""d>11"="+cosetwref="+code=module_par  am" class="s2clmodule_par  6 )11"16" id="L216" class/usb11"16>11"8kcam)
"Initial hu/"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme11"9237"> )11""drivdeosorKEVIlevelriv11""d>11"eo/ussetwref="+code=module_par  am" class="s2clmodule_par  6)
 )11="drivers/media/vid2ckca11="d>11="o/us)
)
"Initial brigh"ne22"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1111237"> )11="drivdeosorKEVIsiz,svie11="d>1111="hu216" id="L216" module_par  am" class="s2clmodule_par  6 216 )11="drivers/media/videod" 11="d>11=6" id)
 216"Initial contrast"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1113237"> )11="drivers/media/video/us11="d>111ckcamsetwref="+code=module_par  am" class="s2clmodule_par  6 )11="drivers/media/video/us11="d>111ckcam)
"Initial whitene22"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1115237"> )11="drivers/media/video/us11="d>11=5kcamm_messenge3.c#L227" id="L227" class3"line32s="        breakme1116237"> )11="drivers/media/video/us11="d>11=uickc#ifdefenger.c#L240" idCONFIG_USB_DEBUG>)
 )11="drivers/media/video/us11="d>111="+cosetwref="+code=module_par  am" class="s2clmodule_par  6 223 )11216" id="L216" class/usb11216>1118kcam)
"Debug level: 0-9 (default=0)"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1119237"> )11="drivdeosorKEVI_shusbvi11="d>11=eo/us#endifm_messenge3.c#L227" id="L227" class3"line32s="        breakme112L237"> )1111qcm2/a> *29href=edia/4g" cl40clame="L193"> 193<1121237"> )111121="hu216" id="L216" module_init>ur4"> 216 216 )119        1126" id)
 216 216 )11sbvideo/quickcam_messeng11sbv>11 )11drivers/media/vid2o/usbv11dri>112ckcam)
"GPL"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme11<5237"> )11al)
"Jaya Kumar"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1126237"> )11 2ideo/usbvideo/quievide11 2i>112eo/us)
"QCM USB C" era"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1127237"> )11mame="L103"> 103112="+cosetwref="+code=MODULE_SUPPORTED_DEVICEam" class="s2clMODULE_SUPPORTED_DEVICE6"QCM USB C" era"/r.c#L1Mrm_messenge3.c#L227" id="L227" class3"line32s="        breakme1128237"> )11 22911<6" idm/pre>
> The original LXR softwarerby the _messengehttp://sourceforge.net/projects/lxr>>LXR communitynputvethis experimes=al #L22ionrby _messengemailto:lxr@ef ux.no">lxr@ef ux.nonput. > lxr.ef ux.no kindly hosted by _messengehttp://www.redpill-ef pro.no">Redpill Lf pro AS6