drivers/media/usb/gspca/autogain_functions.c
105
if (v4l2_ctrl_g_ctrl(gspca_dev->autogain) == 0)
drivers/media/usb/gspca/autogain_functions.c
108
orig_gain = gain = v4l2_ctrl_g_ctrl(gspca_dev->gain);
drivers/media/usb/gspca/autogain_functions.c
109
orig_exposure = exposure = v4l2_ctrl_g_ctrl(gspca_dev->exposure);
drivers/media/usb/gspca/autogain_functions.c
111
gain_low = (s32)(gspca_dev->gain->maximum - gspca_dev->gain->minimum) /
drivers/media/usb/gspca/autogain_functions.c
112
5 * 2 + gspca_dev->gain->minimum;
drivers/media/usb/gspca/autogain_functions.c
113
gain_high = (s32)(gspca_dev->gain->maximum - gspca_dev->gain->minimum) /
drivers/media/usb/gspca/autogain_functions.c
114
5 * 4 + gspca_dev->gain->minimum;
drivers/media/usb/gspca/autogain_functions.c
120
gspca_dbg(gspca_dev, D_FRAM, "autogain: lum: %d, desired: %d, steps: %d\n",
drivers/media/usb/gspca/autogain_functions.c
124
exposure < gspca_dev->exposure->maximum) {
drivers/media/usb/gspca/autogain_functions.c
126
gspca_dev->exp_too_low_cnt++;
drivers/media/usb/gspca/autogain_functions.c
127
gspca_dev->exp_too_high_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
129
exposure > gspca_dev->exposure->minimum) {
drivers/media/usb/gspca/autogain_functions.c
131
gspca_dev->exp_too_high_cnt++;
drivers/media/usb/gspca/autogain_functions.c
132
gspca_dev->exp_too_low_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
135
if (gain > gspca_dev->gain->maximum)
drivers/media/usb/gspca/autogain_functions.c
136
gain = gspca_dev->gain->maximum;
drivers/media/usb/gspca/autogain_functions.c
137
else if (gain < gspca_dev->gain->minimum)
drivers/media/usb/gspca/autogain_functions.c
138
gain = gspca_dev->gain->minimum;
drivers/media/usb/gspca/autogain_functions.c
139
gspca_dev->exp_too_high_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
140
gspca_dev->exp_too_low_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
143
if (gspca_dev->exp_too_high_cnt > 3) {
drivers/media/usb/gspca/autogain_functions.c
145
gspca_dev->exp_too_high_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
146
} else if (gspca_dev->exp_too_low_cnt > 3) {
drivers/media/usb/gspca/autogain_functions.c
148
gspca_dev->exp_too_low_cnt = 0;
drivers/media/usb/gspca/autogain_functions.c
15
struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/autogain_functions.c
152
v4l2_ctrl_s_ctrl(gspca_dev->gain, gain);
drivers/media/usb/gspca/autogain_functions.c
156
v4l2_ctrl_s_ctrl(gspca_dev->exposure, exposure);
drivers/media/usb/gspca/autogain_functions.c
161
gspca_dbg(gspca_dev, D_FRAM, "autogain: changed gain: %d, expo: %d\n",
drivers/media/usb/gspca/autogain_functions.c
25
if (v4l2_ctrl_g_ctrl(gspca_dev->autogain) == 0)
drivers/media/usb/gspca/autogain_functions.c
28
orig_gain = gain = v4l2_ctrl_g_ctrl(gspca_dev->gain);
drivers/media/usb/gspca/autogain_functions.c
29
orig_exposure = exposure = v4l2_ctrl_g_ctrl(gspca_dev->exposure);
drivers/media/usb/gspca/autogain_functions.c
35
gspca_dbg(gspca_dev, D_FRAM, "autogain: lum: %d, desired: %d, steps: %d\n",
drivers/media/usb/gspca/autogain_functions.c
44
else if (gain > gspca_dev->gain->default_value)
drivers/media/usb/gspca/autogain_functions.c
46
else if (exposure > gspca_dev->exposure->minimum)
drivers/media/usb/gspca/autogain_functions.c
48
else if (gain > gspca_dev->gain->minimum)
drivers/media/usb/gspca/autogain_functions.c
53
if (gain < gspca_dev->gain->default_value)
drivers/media/usb/gspca/autogain_functions.c
59
else if (exposure < gspca_dev->exposure->maximum)
drivers/media/usb/gspca/autogain_functions.c
61
else if (gain < gspca_dev->gain->maximum)
drivers/media/usb/gspca/autogain_functions.c
69
v4l2_ctrl_s_ctrl(gspca_dev->gain, gain);
drivers/media/usb/gspca/autogain_functions.c
73
v4l2_ctrl_s_ctrl(gspca_dev->exposure, exposure);
drivers/media/usb/gspca/autogain_functions.c
78
gspca_dbg(gspca_dev, D_FRAM, "autogain: changed gain: %d, expo: %d\n",
drivers/media/usb/gspca/autogain_functions.c
97
struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/benq.c
100
urb->pipe = usb_rcvisocpipe(gspca_dev->dev,
drivers/media/usb/gspca/benq.c
113
return gspca_dev->usb_err;
drivers/media/usb/gspca/benq.c
116
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/benq.c
120
reg_w(gspca_dev, 0x003c, 0x0003);
drivers/media/usb/gspca/benq.c
121
reg_w(gspca_dev, 0x003c, 0x0004);
drivers/media/usb/gspca/benq.c
122
reg_w(gspca_dev, 0x003c, 0x0005);
drivers/media/usb/gspca/benq.c
123
reg_w(gspca_dev, 0x003c, 0x0006);
drivers/media/usb/gspca/benq.c
124
reg_w(gspca_dev, 0x003c, 0x0007);
drivers/media/usb/gspca/benq.c
126
intf = usb_ifnum_to_if(gspca_dev->dev, gspca_dev->iface);
drivers/media/usb/gspca/benq.c
127
usb_set_interface(gspca_dev->dev, gspca_dev->iface,
drivers/media/usb/gspca/benq.c
131
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/benq.c
141
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
drivers/media/usb/gspca/benq.c
146
gspca_dbg(gspca_dev, D_PACK, "sd isoc irq\n");
drivers/media/usb/gspca/benq.c
147
if (!gspca_dev->streaming)
drivers/media/usb/gspca/benq.c
153
if (gspca_dev->frozen)
drivers/media/usb/gspca/benq.c
161
if (urb == gspca_dev->urb[0] || urb == gspca_dev->urb[2])
drivers/media/usb/gspca/benq.c
165
if (urb == gspca_dev->urb[1])
drivers/media/usb/gspca/benq.c
166
urb0 = gspca_dev->urb[0];
drivers/media/usb/gspca/benq.c
168
urb0 = gspca_dev->urb[2];
drivers/media/usb/gspca/benq.c
174
gspca_err(gspca_dev, "ISOC bad lengths %d / %d\n",
drivers/media/usb/gspca/benq.c
177
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/benq.c
186
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/benq.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/benq.c
211
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/benq.c
213
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/benq.c
216
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/benq.c
219
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/benq.c
224
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/benq.c
33
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/benq.c
36
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/benq.c
39
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/benq.c
51
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/benq.c
56
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/benq.c
59
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/benq.c
60
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/benq.c
61
gspca_dev->cam.no_urb_create = 1;
drivers/media/usb/gspca/benq.c
66
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/benq.c
72
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/benq.c
87
gspca_dev->urb[n] = urb;
drivers/media/usb/gspca/benq.c
88
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
drivers/media/usb/gspca/benq.c
97
urb->dev = gspca_dev->dev;
drivers/media/usb/gspca/benq.c
98
urb->context = gspca_dev;
drivers/media/usb/gspca/conex.c
100
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/conex.c
103
gspca_err(gspca_dev, "reg_w: buffer overflow\n");
drivers/media/usb/gspca/conex.c
106
gspca_dbg(gspca_dev, D_USBO, "reg write [%02x] = %02x..\n",
drivers/media/usb/gspca/conex.c
109
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/conex.c
115
index, gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/conex.c
193
static void cx11646_fw(struct gspca_dev*gspca_dev)
drivers/media/usb/gspca/conex.c
197
reg_w_val(gspca_dev, 0x006a, 0x02);
drivers/media/usb/gspca/conex.c
199
reg_w(gspca_dev, 0x006b, cx11646_fw1[i], 3);
drivers/media/usb/gspca/conex.c
202
reg_w_val(gspca_dev, 0x006a, 0x00);
drivers/media/usb/gspca/conex.c
231
static void cx_sensor(struct gspca_dev*gspca_dev)
drivers/media/usb/gspca/conex.c
237
reg_w(gspca_dev, 0x0020, reg20, 8);
drivers/media/usb/gspca/conex.c
238
reg_w(gspca_dev, 0x0028, reg28, 8);
drivers/media/usb/gspca/conex.c
239
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
240
reg_w_val(gspca_dev, 0x0092, 0x03);
drivers/media/usb/gspca/conex.c
242
switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/conex.c
244
reg_w(gspca_dev, 0x0071, reg71a, 4);
drivers/media/usb/gspca/conex.c
247
reg_w(gspca_dev, 0x0071, reg71b, 4);
drivers/media/usb/gspca/conex.c
25
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/conex.c
251
reg_w(gspca_dev, 0x0071, reg71c, 4);
drivers/media/usb/gspca/conex.c
254
reg_w(gspca_dev, 0x0071, reg71d, 4);
drivers/media/usb/gspca/conex.c
257
reg_w(gspca_dev, 0x007b, reg7b, 6);
drivers/media/usb/gspca/conex.c
258
reg_w_val(gspca_dev, 0x00f8, 0x00);
drivers/media/usb/gspca/conex.c
259
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
260
reg_w_val(gspca_dev, 0x0098, 0x41);
drivers/media/usb/gspca/conex.c
266
reg_w(gspca_dev, 0x00e5, ptsensor, length);
drivers/media/usb/gspca/conex.c
268
reg_r(gspca_dev, 0x00e8, 1);
drivers/media/usb/gspca/conex.c
270
reg_r(gspca_dev, 0x00e8, length);
drivers/media/usb/gspca/conex.c
273
reg_r(gspca_dev, 0x00e7, 8);
drivers/media/usb/gspca/conex.c
313
static void cx11646_initsize(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
320
switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/conex.c
335
reg_w_val(gspca_dev, 0x009a, 0x01);
drivers/media/usb/gspca/conex.c
336
reg_w_val(gspca_dev, 0x0010, 0x10);
drivers/media/usb/gspca/conex.c
337
reg_w(gspca_dev, 0x0012, reg12, 5);
drivers/media/usb/gspca/conex.c
338
reg_w(gspca_dev, 0x0017, reg17, 8);
drivers/media/usb/gspca/conex.c
339
reg_w_val(gspca_dev, 0x00c0, 0x00);
drivers/media/usb/gspca/conex.c
340
reg_w_val(gspca_dev, 0x00c1, 0x04);
drivers/media/usb/gspca/conex.c
341
reg_w_val(gspca_dev, 0x00c2, 0x04);
drivers/media/usb/gspca/conex.c
343
reg_w(gspca_dev, 0x0061, cxinit, 8);
drivers/media/usb/gspca/conex.c
345
reg_w(gspca_dev, 0x00ca, cxinit, 8);
drivers/media/usb/gspca/conex.c
347
reg_w(gspca_dev, 0x00d2, cxinit, 8);
drivers/media/usb/gspca/conex.c
349
reg_w(gspca_dev, 0x00da, cxinit, 6);
drivers/media/usb/gspca/conex.c
351
reg_w(gspca_dev, 0x0041, cxinit, 8);
drivers/media/usb/gspca/conex.c
353
reg_w(gspca_dev, 0x0049, cxinit, 8);
drivers/media/usb/gspca/conex.c
355
reg_w(gspca_dev, 0x0051, cxinit, 2);
drivers/media/usb/gspca/conex.c
357
reg_r(gspca_dev, 0x0010, 1);
drivers/media/usb/gspca/conex.c
57
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/conex.c
582
static void cx11646_jpegInit(struct gspca_dev*gspca_dev)
drivers/media/usb/gspca/conex.c
587
reg_w_val(gspca_dev, 0x00c0, 0x01);
drivers/media/usb/gspca/conex.c
588
reg_w_val(gspca_dev, 0x00c3, 0x00);
drivers/media/usb/gspca/conex.c
589
reg_w_val(gspca_dev, 0x00c0, 0x00);
drivers/media/usb/gspca/conex.c
590
reg_r(gspca_dev, 0x0001, 1);
drivers/media/usb/gspca/conex.c
595
reg_w(gspca_dev, 0x0008, cx_jpeg_init[i], length);
drivers/media/usb/gspca/conex.c
597
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
598
reg_w_val(gspca_dev, 0x0055, 0x14);
drivers/media/usb/gspca/conex.c
61
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/conex.c
610
static void cx11646_jpeg(struct gspca_dev*gspca_dev)
drivers/media/usb/gspca/conex.c
617
reg_w_val(gspca_dev, 0x00c0, 0x01);
drivers/media/usb/gspca/conex.c
618
reg_w_val(gspca_dev, 0x00c3, 0x00);
drivers/media/usb/gspca/conex.c
619
reg_w_val(gspca_dev, 0x00c0, 0x00);
drivers/media/usb/gspca/conex.c
620
reg_r(gspca_dev, 0x0001, 1);
drivers/media/usb/gspca/conex.c
622
switch (gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/conex.c
627
reg_w(gspca_dev, 0x0008, cxjpeg_640[i], length);
drivers/media/usb/gspca/conex.c
635
reg_w(gspca_dev, 0x0008, cxjpeg_352[i], length);
drivers/media/usb/gspca/conex.c
64
gspca_err(gspca_dev, "reg_r: buffer overflow\n");
drivers/media/usb/gspca/conex.c
644
reg_w(gspca_dev, 0x0008, cxjpeg_320[i], length);
drivers/media/usb/gspca/conex.c
652
reg_w(gspca_dev, 0x0008, cxjpeg_176[i], length);
drivers/media/usb/gspca/conex.c
658
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
659
reg_w_val(gspca_dev, 0x0055, Reg55);
drivers/media/usb/gspca/conex.c
660
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
661
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
662
reg_w_val(gspca_dev, 0x0054, 0x02);
drivers/media/usb/gspca/conex.c
663
reg_w_val(gspca_dev, 0x0054, 0x01);
drivers/media/usb/gspca/conex.c
664
reg_w_val(gspca_dev, 0x0000, 0x94);
drivers/media/usb/gspca/conex.c
665
reg_w_val(gspca_dev, 0x0053, 0xc0);
drivers/media/usb/gspca/conex.c
666
reg_w_val(gspca_dev, 0x00fc, 0xe1);
drivers/media/usb/gspca/conex.c
667
reg_w_val(gspca_dev, 0x0000, 0x00);
drivers/media/usb/gspca/conex.c
671
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
673
if (gspca_dev->usb_buf[0] == 0x00)
drivers/media/usb/gspca/conex.c
675
reg_w_val(gspca_dev, 0x0053, 0x00);
drivers/media/usb/gspca/conex.c
678
gspca_err(gspca_dev, "Damned Errors sending jpeg Table\n");
drivers/media/usb/gspca/conex.c
680
reg_r(gspca_dev, 0x0001, 1); /* -> 0x18 */
drivers/media/usb/gspca/conex.c
685
reg_w(gspca_dev, 0x0008, cxjpeg_qtable[i], length);
drivers/media/usb/gspca/conex.c
688
reg_r(gspca_dev, 0x0002, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
689
reg_r(gspca_dev, 0x0053, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
690
reg_w_val(gspca_dev, 0x0054, 0x02);
drivers/media/usb/gspca/conex.c
691
reg_w_val(gspca_dev, 0x0054, 0x01);
drivers/media/usb/gspca/conex.c
692
reg_w_val(gspca_dev, 0x0000, 0x94);
drivers/media/usb/gspca/conex.c
693
reg_w_val(gspca_dev, 0x0053, 0xc0);
drivers/media/usb/gspca/conex.c
695
reg_r(gspca_dev, 0x0038, 1); /* 0x40 */
drivers/media/usb/gspca/conex.c
696
reg_r(gspca_dev, 0x0038, 1); /* 0x40 */
drivers/media/usb/gspca/conex.c
697
reg_r(gspca_dev, 0x001f, 1); /* 0x38 */
drivers/media/usb/gspca/conex.c
698
reg_w(gspca_dev, 0x0012, reg12, 5);
drivers/media/usb/gspca/conex.c
699
reg_w(gspca_dev, 0x00e5, regE5_8, 8);
drivers/media/usb/gspca/conex.c
700
reg_r(gspca_dev, 0x00e8, 8);
drivers/media/usb/gspca/conex.c
701
reg_w(gspca_dev, 0x00e5, regE5a, 4);
drivers/media/usb/gspca/conex.c
702
reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
703
reg_w_val(gspca_dev, 0x009a, 0x01);
drivers/media/usb/gspca/conex.c
704
reg_w(gspca_dev, 0x00e5, regE5b, 4);
drivers/media/usb/gspca/conex.c
705
reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
706
reg_w(gspca_dev, 0x00e5, regE5c, 4);
drivers/media/usb/gspca/conex.c
707
reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
709
reg_w(gspca_dev, 0x0051, reg51, 2);
drivers/media/usb/gspca/conex.c
710
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
711
reg_w_val(gspca_dev, 0x0070, reg70);
drivers/media/usb/gspca/conex.c
714
static void cx11646_init1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
718
reg_w_val(gspca_dev, 0x0010, 0x00);
drivers/media/usb/gspca/conex.c
719
reg_w_val(gspca_dev, 0x0053, 0x00);
drivers/media/usb/gspca/conex.c
720
reg_w_val(gspca_dev, 0x0052, 0x00);
drivers/media/usb/gspca/conex.c
721
reg_w_val(gspca_dev, 0x009b, 0x2f);
drivers/media/usb/gspca/conex.c
722
reg_w_val(gspca_dev, 0x009c, 0x10);
drivers/media/usb/gspca/conex.c
723
reg_r(gspca_dev, 0x0098, 1);
drivers/media/usb/gspca/conex.c
724
reg_w_val(gspca_dev, 0x0098, 0x40);
drivers/media/usb/gspca/conex.c
725
reg_r(gspca_dev, 0x0099, 1);
drivers/media/usb/gspca/conex.c
726
reg_w_val(gspca_dev, 0x0099, 0x07);
drivers/media/usb/gspca/conex.c
727
reg_w_val(gspca_dev, 0x0039, 0x40);
drivers/media/usb/gspca/conex.c
728
reg_w_val(gspca_dev, 0x003c, 0xff);
drivers/media/usb/gspca/conex.c
729
reg_w_val(gspca_dev, 0x003f, 0x1f);
drivers/media/usb/gspca/conex.c
73
index, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/conex.c
730
reg_w_val(gspca_dev, 0x003d, 0x40);
drivers/media/usb/gspca/conex.c
732
reg_r(gspca_dev, 0x0099, 1); /* ->0x07 */
drivers/media/usb/gspca/conex.c
735
reg_w_val(gspca_dev, 0x00e5, cx_sensor_init[i][0]);
drivers/media/usb/gspca/conex.c
736
reg_r(gspca_dev, 0x00e8, 1); /* -> 0x00 */
drivers/media/usb/gspca/conex.c
738
reg_w_val(gspca_dev, 0x00ed, 0x01);
drivers/media/usb/gspca/conex.c
739
reg_r(gspca_dev, 0x00ed, 1); /* -> 0x01 */
drivers/media/usb/gspca/conex.c
743
reg_w_val(gspca_dev, 0x00c3, 0x00);
drivers/media/usb/gspca/conex.c
747
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/conex.c
75
gspca_dbg(gspca_dev, D_USBI, "reg read [%02x] -> %02x ..\n",
drivers/media/usb/gspca/conex.c
752
cam = &gspca_dev->cam;
drivers/media/usb/gspca/conex.c
759
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
76
index, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/conex.c
761
cx11646_init1(gspca_dev);
drivers/media/usb/gspca/conex.c
762
cx11646_initsize(gspca_dev);
drivers/media/usb/gspca/conex.c
763
cx11646_fw(gspca_dev);
drivers/media/usb/gspca/conex.c
764
cx_sensor(gspca_dev);
drivers/media/usb/gspca/conex.c
765
cx11646_jpegInit(gspca_dev);
drivers/media/usb/gspca/conex.c
769
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
771
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/conex.c
774
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/conex.c
775
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/conex.c
779
cx11646_initsize(gspca_dev);
drivers/media/usb/gspca/conex.c
780
cx11646_fw(gspca_dev);
drivers/media/usb/gspca/conex.c
781
cx_sensor(gspca_dev);
drivers/media/usb/gspca/conex.c
782
cx11646_jpeg(gspca_dev);
drivers/media/usb/gspca/conex.c
787
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
791
if (!gspca_dev->present)
drivers/media/usb/gspca/conex.c
793
reg_w_val(gspca_dev, 0x0000, 0x00);
drivers/media/usb/gspca/conex.c
794
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
795
reg_w_val(gspca_dev, 0x0053, 0x00);
drivers/media/usb/gspca/conex.c
799
reg_r(gspca_dev, 0x0053, 1);
drivers/media/usb/gspca/conex.c
80
static void reg_w_val(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/conex.c
800
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/conex.c
803
reg_w_val(gspca_dev, 0x0000, 0x00);
drivers/media/usb/gspca/conex.c
804
reg_r(gspca_dev, 0x0002, 1);
drivers/media/usb/gspca/conex.c
806
reg_w_val(gspca_dev, 0x0010, 0x00);
drivers/media/usb/gspca/conex.c
807
reg_r(gspca_dev, 0x0033, 1);
drivers/media/usb/gspca/conex.c
808
reg_w_val(gspca_dev, 0x00fc, 0xe0);
drivers/media/usb/gspca/conex.c
811
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/conex.c
815
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/conex.c
820
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/conex.c
823
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/conex.c
828
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/conex.c
831
static void setbrightness(struct gspca_dev *gspca_dev, s32 val, s32 sat)
drivers/media/usb/gspca/conex.c
837
reg_w(gspca_dev, 0x00e5, regE5cbx, 8);
drivers/media/usb/gspca/conex.c
838
reg_r(gspca_dev, 0x00e8, 8);
drivers/media/usb/gspca/conex.c
839
reg_w(gspca_dev, 0x00e5, regE5c, 4);
drivers/media/usb/gspca/conex.c
84
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/conex.c
840
reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
844
reg_w(gspca_dev, 0x0051, reg51c, 2);
drivers/media/usb/gspca/conex.c
845
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
846
reg_w_val(gspca_dev, 0x0070, reg70);
drivers/media/usb/gspca/conex.c
849
static void setcontrast(struct gspca_dev *gspca_dev, s32 val, s32 sat)
drivers/media/usb/gspca/conex.c
856
reg_w(gspca_dev, 0x00e5, regE5acx, 4);
drivers/media/usb/gspca/conex.c
857
reg_r(gspca_dev, 0x00e8, 1); /* 0x00 */
drivers/media/usb/gspca/conex.c
86
gspca_dev->usb_buf[0] = val;
drivers/media/usb/gspca/conex.c
860
reg_w(gspca_dev, 0x0051, reg51c, 2);
drivers/media/usb/gspca/conex.c
861
reg_w(gspca_dev, 0x0010, reg10, 2);
drivers/media/usb/gspca/conex.c
862
reg_w_val(gspca_dev, 0x0070, reg70);
drivers/media/usb/gspca/conex.c
867
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/conex.c
868
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/conex.c
869
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/conex.c
871
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/conex.c
873
if (!gspca_dev->streaming)
drivers/media/usb/gspca/conex.c
878
setbrightness(gspca_dev, ctrl->val, sd->sat->cur.val);
drivers/media/usb/gspca/conex.c
881
setcontrast(gspca_dev, ctrl->val, sd->sat->cur.val);
drivers/media/usb/gspca/conex.c
884
setbrightness(gspca_dev, sd->brightness->cur.val, ctrl->val);
drivers/media/usb/gspca/conex.c
885
setcontrast(gspca_dev, sd->contrast->cur.val, ctrl->val);
drivers/media/usb/gspca/conex.c
888
return gspca_dev->usb_err;
drivers/media/usb/gspca/conex.c
895
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/conex.c
897
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/conex.c
898
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/conex.c
900
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/conex.c
92
index, gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/conex.c
95
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/cpia1.c
1017
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1113
ret = command_setexposure(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1117
ret = command_setapcor(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1121
ret = command_setvloffset(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1125
ret = command_setflickerctrl(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1136
static void monitor_exposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1138
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1154
ret = cpia_usb_transferCmd(gspca_dev, cmd);
drivers/media/usb/gspca/cpia1.c
1159
exp_acc = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
1160
bcomp = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
1301
gspca_dbg(gspca_dev, D_CONF, "Automatically decreasing sensor_fps\n");
drivers/media/usb/gspca/cpia1.c
1330
gspca_dbg(gspca_dev, D_CONF, "Automatically increasing sensor_fps\n");
drivers/media/usb/gspca/cpia1.c
1348
gspca_dbg(gspca_dev, D_CONF, "Automatically decreasing sensor_fps\n");
drivers/media/usb/gspca/cpia1.c
1365
gspca_dbg(gspca_dev, D_CONF, "Automatically increasing sensor_fps\n");
drivers/media/usb/gspca/cpia1.c
1370
command_setexposure(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1373
command_setsensorfps(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1376
command_setflickerctrl(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1387
static void restart_flicker(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1389
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1419
set_flicker(gspca_dev, 1, 1);
drivers/media/usb/gspca/cpia1.c
1424
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/cpia1.c
1427
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1431
reset_camera_params(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1433
gspca_dbg(gspca_dev, D_PROBE, "cpia CPiA camera detected (vid/pid 0x%04X:0x%04X)\n",
drivers/media/usb/gspca/cpia1.c
1436
cam = &gspca_dev->cam;
drivers/media/usb/gspca/cpia1.c
1440
goto_low_power(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1443
get_version_information(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1445
gspca_err(gspca_dev, "only firmware version 1 is supported (got: %d)\n",
drivers/media/usb/gspca/cpia1.c
1463
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1465
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1469
if (goto_low_power(gspca_dev)) {
drivers/media/usb/gspca/cpia1.c
1471
gspca_err(gspca_dev, "unexpected systemstate: %02x\n",
drivers/media/usb/gspca/cpia1.c
1473
printstatus(gspca_dev, &sd->params);
drivers/media/usb/gspca/cpia1.c
1478
ret = goto_high_power(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1482
ret = do_command(gspca_dev, CPIA_COMMAND_DiscardFrame,
drivers/media/usb/gspca/cpia1.c
1487
ret = goto_low_power(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1496
get_version_information(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1503
ret = do_command(gspca_dev, CPIA_COMMAND_ModifyCameraStatus,
drivers/media/usb/gspca/cpia1.c
1509
ret = goto_high_power(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1514
ret = do_command(gspca_dev, CPIA_COMMAND_GetCameraStatus, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
1519
gspca_err(gspca_dev, "fatal_error: %04x, vp_status: %04x\n",
drivers/media/usb/gspca/cpia1.c
1527
ret = do_command(gspca_dev, CPIA_COMMAND_GetVPVersion, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
1534
priv = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/cpia1.c
1552
(gspca_dev->pixfmt.width >> 3);
drivers/media/usb/gspca/cpia1.c
1554
(gspca_dev->pixfmt.height >> 2);
drivers/media/usb/gspca/cpia1.c
1557
ret = do_command(gspca_dev, CPIA_COMMAND_SetGrabMode,
drivers/media/usb/gspca/cpia1.c
1563
ret = do_command(gspca_dev, CPIA_COMMAND_SetCompression,
drivers/media/usb/gspca/cpia1.c
1568
ret = command_setcompressiontarget(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1571
ret = command_setcolourparams(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1574
ret = command_setformat(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1577
ret = command_setyuvtresh(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1580
ret = command_setecptiming(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1583
ret = command_setcompressionparams(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1586
ret = command_setexposure(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1589
ret = command_setcolourbalance(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1592
ret = command_setsensorfps(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1595
ret = command_setapcor(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1598
ret = command_setflickerctrl(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1601
ret = command_setvloffset(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1606
ret = command_resume(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1621
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1623
struct sd *sd __maybe_unused = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1625
command_pause(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1628
save_camera_state(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1631
goto_low_power(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1634
do_command(gspca_dev, CPIA_COMMAND_GetCameraStatus, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
1642
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/cpia1.c
1643
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/cpia1.c
1649
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1651
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1657
ret = sd_start(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1664
command_setlights(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1666
sd_stopN(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1668
gspca_dbg(gspca_dev, D_PROBE, "CPIA Version: %d.%02d (%d.%d)\n",
drivers/media/usb/gspca/cpia1.c
1673
gspca_dbg(gspca_dev, D_PROBE, "CPIA PnP-ID: %04x:%04x:%04x",
drivers/media/usb/gspca/cpia1.c
1676
gspca_dbg(gspca_dev, D_PROBE, "VP-Version: %d.%d %04x",
drivers/media/usb/gspca/cpia1.c
1684
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/cpia1.c
1688
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1706
image = gspca_dev->image;
drivers/media/usb/gspca/cpia1.c
1708
gspca_dev->image_len > 4 &&
drivers/media/usb/gspca/cpia1.c
1709
image[gspca_dev->image_len - 4] == 0xff &&
drivers/media/usb/gspca/cpia1.c
1710
image[gspca_dev->image_len - 3] == 0xff &&
drivers/media/usb/gspca/cpia1.c
1711
image[gspca_dev->image_len - 2] == 0xff &&
drivers/media/usb/gspca/cpia1.c
1712
image[gspca_dev->image_len - 1] == 0xff)
drivers/media/usb/gspca/cpia1.c
1713
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/cpia1.c
1716
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/cpia1.c
1720
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/cpia1.c
1723
static void sd_dq_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1725
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
1732
command_setcompression(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1736
restart_flicker(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1741
monitor_exposure(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1744
do_command(gspca_dev, CPIA_COMMAND_GetExposure, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
1745
do_command(gspca_dev, CPIA_COMMAND_ReadMCPorts, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
1750
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/cpia1.c
1751
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/cpia1.c
1752
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/cpia1.c
1754
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/cpia1.c
1756
if (!gspca_dev->streaming && ctrl->id != V4L2_CID_POWER_LINE_FREQUENCY)
drivers/media/usb/gspca/cpia1.c
1764
gspca_dev->usb_err = command_setcolourparams(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1765
if (!gspca_dev->usb_err)
drivers/media/usb/gspca/cpia1.c
1766
gspca_dev->usb_err = command_setflickerctrl(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1770
gspca_dev->usb_err = command_setcolourparams(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1774
gspca_dev->usb_err = command_setcolourparams(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1783
gspca_dev->usb_err = set_flicker(gspca_dev,
drivers/media/usb/gspca/cpia1.c
1785
gspca_dev->streaming);
drivers/media/usb/gspca/cpia1.c
1789
gspca_dev->usb_err = command_setlights(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1793
gspca_dev->usb_err = command_setlights(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1797
gspca_dev->usb_err = command_setcompressiontarget(gspca_dev);
drivers/media/usb/gspca/cpia1.c
1800
return gspca_dev->usb_err;
drivers/media/usb/gspca/cpia1.c
1807
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
1809
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/cpia1.c
1810
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/cpia1.c
1826
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/cpia1.c
354
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/cpia1.c
399
static int cpia_usb_transferCmd(struct gspca_dev *gspca_dev, u8 *command)
drivers/media/usb/gspca/cpia1.c
408
pipe = usb_rcvctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/cpia1.c
411
pipe = usb_sndctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/cpia1.c
414
gspca_err(gspca_dev, "Unexpected first byte of command: %x\n",
drivers/media/usb/gspca/cpia1.c
420
ret = usb_control_msg(gspca_dev->dev, pipe,
drivers/media/usb/gspca/cpia1.c
425
gspca_dev->usb_buf, databytes, 1000);
drivers/media/usb/gspca/cpia1.c
439
static int do_command(struct gspca_dev *gspca_dev, u16 command,
drivers/media/usb/gspca/cpia1.c
442
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
474
ret = cpia_usb_transferCmd(gspca_dev, cmd);
drivers/media/usb/gspca/cpia1.c
480
sd->params.version.firmwareVersion = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
481
sd->params.version.firmwareRevision = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
482
sd->params.version.vcVersion = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/cpia1.c
483
sd->params.version.vcRevision = gspca_dev->usb_buf[3];
drivers/media/usb/gspca/cpia1.c
487
gspca_dev->usb_buf[0] | (gspca_dev->usb_buf[1] << 8);
drivers/media/usb/gspca/cpia1.c
489
gspca_dev->usb_buf[2] | (gspca_dev->usb_buf[3] << 8);
drivers/media/usb/gspca/cpia1.c
491
gspca_dev->usb_buf[4] | (gspca_dev->usb_buf[5] << 8);
drivers/media/usb/gspca/cpia1.c
494
sd->params.status.systemState = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
495
sd->params.status.grabState = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
496
sd->params.status.streamState = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/cpia1.c
497
sd->params.status.fatalError = gspca_dev->usb_buf[3];
drivers/media/usb/gspca/cpia1.c
498
sd->params.status.cmdError = gspca_dev->usb_buf[4];
drivers/media/usb/gspca/cpia1.c
499
sd->params.status.debugFlags = gspca_dev->usb_buf[5];
drivers/media/usb/gspca/cpia1.c
500
sd->params.status.vpStatus = gspca_dev->usb_buf[6];
drivers/media/usb/gspca/cpia1.c
501
sd->params.status.errorCode = gspca_dev->usb_buf[7];
drivers/media/usb/gspca/cpia1.c
504
sd->params.vpVersion.vpVersion = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
505
sd->params.vpVersion.vpRevision = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
507
gspca_dev->usb_buf[2] | (gspca_dev->usb_buf[3] << 8);
drivers/media/usb/gspca/cpia1.c
510
sd->params.colourParams.brightness = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
511
sd->params.colourParams.contrast = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
512
sd->params.colourParams.saturation = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/cpia1.c
515
sd->params.colourBalance.redGain = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
516
sd->params.colourBalance.greenGain = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
517
sd->params.colourBalance.blueGain = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/cpia1.c
520
sd->params.exposure.gain = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/cpia1.c
521
sd->params.exposure.fineExp = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/cpia1.c
522
sd->params.exposure.coarseExpLo = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/cpia1.c
523
sd->params.exposure.coarseExpHi = gspca_dev->usb_buf[3];
drivers/media/usb/gspca/cpia1.c
524
sd->params.exposure.redComp = gspca_dev->usb_buf[4];
drivers/media/usb/gspca/cpia1.c
525
sd->params.exposure.green1Comp = gspca_dev->usb_buf[5];
drivers/media/usb/gspca/cpia1.c
526
sd->params.exposure.green2Comp = gspca_dev->usb_buf[6];
drivers/media/usb/gspca/cpia1.c
527
sd->params.exposure.blueComp = gspca_dev->usb_buf[7];
drivers/media/usb/gspca/cpia1.c
532
a = ((gspca_dev->usb_buf[1] & 0x02) == 0);
drivers/media/usb/gspca/cpia1.c
535
input_report_key(gspca_dev->input_dev, KEY_CAMERA, a);
drivers/media/usb/gspca/cpia1.c
536
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/cpia1.c
542
ret = do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
drivers/media/usb/gspca/cpia1.c
546
ret = do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
drivers/media/usb/gspca/cpia1.c
553
sd->params.qx3.cradled = ((gspca_dev->usb_buf[2] & 0x40) == 0);
drivers/media/usb/gspca/cpia1.c
561
static int do_command_extended(struct gspca_dev *gspca_dev, u16 command,
drivers/media/usb/gspca/cpia1.c
576
gspca_dev->usb_buf[0] = e;
drivers/media/usb/gspca/cpia1.c
577
gspca_dev->usb_buf[1] = f;
drivers/media/usb/gspca/cpia1.c
578
gspca_dev->usb_buf[2] = g;
drivers/media/usb/gspca/cpia1.c
579
gspca_dev->usb_buf[3] = h;
drivers/media/usb/gspca/cpia1.c
580
gspca_dev->usb_buf[4] = i;
drivers/media/usb/gspca/cpia1.c
581
gspca_dev->usb_buf[5] = j;
drivers/media/usb/gspca/cpia1.c
582
gspca_dev->usb_buf[6] = k;
drivers/media/usb/gspca/cpia1.c
583
gspca_dev->usb_buf[7] = l;
drivers/media/usb/gspca/cpia1.c
585
return cpia_usb_transferCmd(gspca_dev, cmd);
drivers/media/usb/gspca/cpia1.c
617
static void reset_camera_params(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
619
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
696
static void printstatus(struct gspca_dev *gspca_dev, struct cam_params *params)
drivers/media/usb/gspca/cpia1.c
698
gspca_dbg(gspca_dev, D_PROBE, "status: %02x %02x %02x %02x %02x %02x %02x %02x\n",
drivers/media/usb/gspca/cpia1.c
705
static int goto_low_power(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
707
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
710
ret = do_command(gspca_dev, CPIA_COMMAND_GotoLoPower, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
714
ret = do_command(gspca_dev, CPIA_COMMAND_GetCameraStatus, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
720
gspca_err(gspca_dev, "unexpected state after lo power cmd: %02x\n",
drivers/media/usb/gspca/cpia1.c
722
printstatus(gspca_dev, &sd->params);
drivers/media/usb/gspca/cpia1.c
727
gspca_dbg(gspca_dev, D_CONF, "camera now in LOW power state\n");
drivers/media/usb/gspca/cpia1.c
731
static int goto_high_power(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
733
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
736
ret = do_command(gspca_dev, CPIA_COMMAND_GotoHiPower, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
745
ret = do_command(gspca_dev, CPIA_COMMAND_GetCameraStatus, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
750
gspca_err(gspca_dev, "unexpected state after hi power cmd: %02x\n",
drivers/media/usb/gspca/cpia1.c
752
printstatus(gspca_dev, &sd->params);
drivers/media/usb/gspca/cpia1.c
756
gspca_dbg(gspca_dev, D_CONF, "camera now in HIGH power state\n");
drivers/media/usb/gspca/cpia1.c
760
static int get_version_information(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
765
ret = do_command(gspca_dev, CPIA_COMMAND_GetCPIAVersion, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
770
return do_command(gspca_dev, CPIA_COMMAND_GetPnPID, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
773
static int save_camera_state(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
777
ret = do_command(gspca_dev, CPIA_COMMAND_GetColourBalance, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
781
return do_command(gspca_dev, CPIA_COMMAND_GetExposure, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
784
static int command_setformat(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
786
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
789
ret = do_command(gspca_dev, CPIA_COMMAND_SetFormat,
drivers/media/usb/gspca/cpia1.c
796
return do_command(gspca_dev, CPIA_COMMAND_SetROI,
drivers/media/usb/gspca/cpia1.c
801
static int command_setcolourparams(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
803
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
804
return do_command(gspca_dev, CPIA_COMMAND_SetColourParams,
drivers/media/usb/gspca/cpia1.c
810
static int command_setapcor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
812
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
813
return do_command(gspca_dev, CPIA_COMMAND_SetApcor,
drivers/media/usb/gspca/cpia1.c
820
static int command_setvloffset(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
822
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
823
return do_command(gspca_dev, CPIA_COMMAND_SetVLOffset,
drivers/media/usb/gspca/cpia1.c
830
static int command_setexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
832
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
835
ret = do_command_extended(gspca_dev, CPIA_COMMAND_SetExposure,
drivers/media/usb/gspca/cpia1.c
852
ret = do_command_extended(gspca_dev, CPIA_COMMAND_SetExposure,
drivers/media/usb/gspca/cpia1.c
866
static int command_setcolourbalance(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
868
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
873
ret = do_command(gspca_dev, CPIA_COMMAND_SetColourBalance,
drivers/media/usb/gspca/cpia1.c
881
return do_command(gspca_dev, CPIA_COMMAND_SetColourBalance,
drivers/media/usb/gspca/cpia1.c
885
return do_command(gspca_dev, CPIA_COMMAND_SetColourBalance,
drivers/media/usb/gspca/cpia1.c
889
return do_command(gspca_dev, CPIA_COMMAND_SetColourBalance,
drivers/media/usb/gspca/cpia1.c
896
static int command_setcompressiontarget(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
898
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
900
return do_command(gspca_dev, CPIA_COMMAND_SetCompressionTarget,
drivers/media/usb/gspca/cpia1.c
906
static int command_setyuvtresh(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
908
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
910
return do_command(gspca_dev, CPIA_COMMAND_SetYUVThresh,
drivers/media/usb/gspca/cpia1.c
915
static int command_setcompressionparams(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
917
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
919
return do_command_extended(gspca_dev,
drivers/media/usb/gspca/cpia1.c
932
static int command_setcompression(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
934
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
936
return do_command(gspca_dev, CPIA_COMMAND_SetCompression,
drivers/media/usb/gspca/cpia1.c
941
static int command_setsensorfps(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
943
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
945
return do_command(gspca_dev, CPIA_COMMAND_SetSensorFPS,
drivers/media/usb/gspca/cpia1.c
950
static int command_setflickerctrl(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
952
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
954
return do_command(gspca_dev, CPIA_COMMAND_SetFlickerCtrl,
drivers/media/usb/gspca/cpia1.c
961
static int command_setecptiming(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
963
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
965
return do_command(gspca_dev, CPIA_COMMAND_SetECPTiming,
drivers/media/usb/gspca/cpia1.c
969
static int command_pause(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
971
return do_command(gspca_dev, CPIA_COMMAND_EndStreamCap, 0, 0, 0, 0);
drivers/media/usb/gspca/cpia1.c
974
static int command_resume(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
976
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
978
return do_command(gspca_dev, CPIA_COMMAND_InitStreamCap,
drivers/media/usb/gspca/cpia1.c
982
static int command_setlights(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/cpia1.c
984
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/cpia1.c
990
ret = do_command(gspca_dev, CPIA_COMMAND_WriteVCReg,
drivers/media/usb/gspca/cpia1.c
995
return do_command(gspca_dev, CPIA_COMMAND_WriteMCPort, 2, 0,
drivers/media/usb/gspca/cpia1.c
999
static int set_flicker(struct gspca_dev *gspca_dev, int on, int apply)
drivers/media/usb/gspca/dtcs033.c
101
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/dtcs033.c
104
gspca_dev->cam.cam_mode = dtcs033_mode;
drivers/media/usb/gspca/dtcs033.c
105
gspca_dev->cam.nmodes = ARRAY_SIZE(dtcs033_mode);
drivers/media/usb/gspca/dtcs033.c
107
gspca_dev->cam.bulk = 1;
drivers/media/usb/gspca/dtcs033.c
108
gspca_dev->cam.bulk_nurbs = 1;
drivers/media/usb/gspca/dtcs033.c
109
gspca_dev->cam.bulk_size = DT_COLS*512;
drivers/media/usb/gspca/dtcs033.c
115
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/dtcs033.c
121
static int dtcs033_start(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/dtcs033.c
122
static void dtcs033_stopN(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/dtcs033.c
125
static void dtcs033_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/dtcs033.c
131
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/dtcs033.c
137
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/dtcs033.c
138
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/dtcs033.c
141
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/dtcs033.c
148
static void dtcs033_setexposure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/dtcs033.c
165
reg_rw(gspca_dev,
drivers/media/usb/gspca/dtcs033.c
167
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/dtcs033.c
168
gspca_err(gspca_dev, "usb error in setexposure(gain) sequence\n");
drivers/media/usb/gspca/dtcs033.c
170
reg_rw(gspca_dev,
drivers/media/usb/gspca/dtcs033.c
172
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/dtcs033.c
173
gspca_err(gspca_dev, "usb error in setexposure(time) sequence\n");
drivers/media/usb/gspca/dtcs033.c
178
struct gspca_dev gspca_dev;/* !! must be the first item */
drivers/media/usb/gspca/dtcs033.c
189
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/dtcs033.c
191
struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/dtcs033.c
192
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/dtcs033.c
194
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/dtcs033.c
196
if (!gspca_dev->streaming)
drivers/media/usb/gspca/dtcs033.c
201
dtcs033_setexposure(gspca_dev,
drivers/media/usb/gspca/dtcs033.c
205
dtcs033_setexposure(gspca_dev,
drivers/media/usb/gspca/dtcs033.c
209
return gspca_dev->usb_err;
drivers/media/usb/gspca/dtcs033.c
216
static int dtcs033_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/dtcs033.c
218
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/dtcs033.c
219
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/dtcs033.c
221
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/dtcs033.c
231
gspca_err(gspca_dev, "Could not initialize controls: %d\n",
drivers/media/usb/gspca/dtcs033.c
25
static void reg_rw(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/dtcs033.c
29
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/dtcs033.c
32
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/dtcs033.c
40
gspca_dev->usb_buf, wLength, 500);
drivers/media/usb/gspca/dtcs033.c
419
static int dtcs033_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/dtcs033.c
421
return reg_reqs(gspca_dev, dtcs033_start_reqs,
drivers/media/usb/gspca/dtcs033.c
425
static void dtcs033_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/dtcs033.c
427
reg_reqs(gspca_dev, dtcs033_stop_reqs,
drivers/media/usb/gspca/dtcs033.c
43
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/dtcs033.c
50
static int reg_reqs(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/dtcs033.c
56
while ((i < n_reqs) && (gspca_dev->usb_err >= 0)) {
drivers/media/usb/gspca/dtcs033.c
60
reg_rw(gspca_dev, preq->bRequestType, preq->bRequest,
drivers/media/usb/gspca/dtcs033.c
63
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/dtcs033.c
65
gspca_err(gspca_dev, "usb error request no: %d / %d\n",
drivers/media/usb/gspca/dtcs033.c
69
gspca_dbg(gspca_dev, D_STREAM,
drivers/media/usb/gspca/dtcs033.c
73
gspca_dev->usb_buf,
drivers/media/usb/gspca/dtcs033.c
79
return gspca_dev->usb_err;
drivers/media/usb/gspca/etoms.c
147
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
151
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/etoms.c
154
gspca_err(gspca_dev, "reg_r: buffer overflow\n");
drivers/media/usb/gspca/etoms.c
163
index, gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/etoms.c
164
gspca_dbg(gspca_dev, D_USBI, "reg read [%02x] -> %02x ..\n",
drivers/media/usb/gspca/etoms.c
165
index, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/etoms.c
168
static void reg_w_val(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
172
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/etoms.c
174
gspca_dev->usb_buf[0] = val;
drivers/media/usb/gspca/etoms.c
180
index, gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/etoms.c
183
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
188
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/etoms.c
194
gspca_dbg(gspca_dev, D_USBO, "reg write [%02x] = %02x..\n",
drivers/media/usb/gspca/etoms.c
197
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/etoms.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/etoms.c
202
0, index, gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/etoms.c
205
static int i2c_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
214
reg_w_val(gspca_dev, ET_I2C_BASE, 0x40);
drivers/media/usb/gspca/etoms.c
218
reg_w_val(gspca_dev, ET_I2C_COUNT, ptchcount);
drivers/media/usb/gspca/etoms.c
220
reg_w_val(gspca_dev, ET_I2C_REG, reg);
drivers/media/usb/gspca/etoms.c
222
reg_w_val(gspca_dev, ET_I2C_DATA0 + len, buffer[len]);
drivers/media/usb/gspca/etoms.c
226
static int i2c_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
230
reg_w_val(gspca_dev, ET_I2C_BASE, 0x40);
drivers/media/usb/gspca/etoms.c
233
reg_w_val(gspca_dev, ET_I2C_COUNT, 0x11);
drivers/media/usb/gspca/etoms.c
234
reg_w_val(gspca_dev, ET_I2C_REG, reg); /* set the register base */
drivers/media/usb/gspca/etoms.c
235
reg_w_val(gspca_dev, ET_I2C_PREFETCH, 0x02); /* prefetch */
drivers/media/usb/gspca/etoms.c
236
reg_w_val(gspca_dev, ET_I2C_PREFETCH, 0x00);
drivers/media/usb/gspca/etoms.c
237
reg_r(gspca_dev, ET_I2C_DATA0, 1); /* read one byte */
drivers/media/usb/gspca/etoms.c
241
static int Et_WaitStatus(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
246
reg_r(gspca_dev, ET_ClCK, 1);
drivers/media/usb/gspca/etoms.c
247
if (gspca_dev->usb_buf[0] != 0)
drivers/media/usb/gspca/etoms.c
253
static int et_video(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
258
reg_w_val(gspca_dev, ET_GPIO_OUT,
drivers/media/usb/gspca/etoms.c
261
ret = Et_WaitStatus(gspca_dev);
drivers/media/usb/gspca/etoms.c
263
gspca_err(gspca_dev, "timeout video on/off\n");
drivers/media/usb/gspca/etoms.c
267
static void Et_init2(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
272
gspca_dbg(gspca_dev, D_STREAM, "Open Init2 ET\n");
drivers/media/usb/gspca/etoms.c
273
reg_w_val(gspca_dev, ET_GPIO_DIR_CTRL, 0x2f);
drivers/media/usb/gspca/etoms.c
274
reg_w_val(gspca_dev, ET_GPIO_OUT, 0x10);
drivers/media/usb/gspca/etoms.c
275
reg_r(gspca_dev, ET_GPIO_IN, 1);
drivers/media/usb/gspca/etoms.c
276
reg_w_val(gspca_dev, ET_ClCK, 0x14); /* 0x14 // 0x16 enabled pattern */
drivers/media/usb/gspca/etoms.c
277
reg_w_val(gspca_dev, ET_CTRL, 0x1b);
drivers/media/usb/gspca/etoms.c
280
if (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv)
drivers/media/usb/gspca/etoms.c
284
reg_w_val(gspca_dev, ET_COMP, value);
drivers/media/usb/gspca/etoms.c
285
reg_w_val(gspca_dev, ET_MAXQt, 0x1f);
drivers/media/usb/gspca/etoms.c
286
reg_w_val(gspca_dev, ET_MINQt, 0x04);
drivers/media/usb/gspca/etoms.c
288
reg_w_val(gspca_dev, ET_REG1d, 0xff);
drivers/media/usb/gspca/etoms.c
289
reg_w_val(gspca_dev, ET_REG1e, 0xff);
drivers/media/usb/gspca/etoms.c
290
reg_w_val(gspca_dev, ET_REG1f, 0xff);
drivers/media/usb/gspca/etoms.c
291
reg_w_val(gspca_dev, ET_REG20, 0x35);
drivers/media/usb/gspca/etoms.c
292
reg_w_val(gspca_dev, ET_REG21, 0x01);
drivers/media/usb/gspca/etoms.c
293
reg_w_val(gspca_dev, ET_REG22, 0x00);
drivers/media/usb/gspca/etoms.c
294
reg_w_val(gspca_dev, ET_REG23, 0xff);
drivers/media/usb/gspca/etoms.c
295
reg_w_val(gspca_dev, ET_REG24, 0xff);
drivers/media/usb/gspca/etoms.c
296
reg_w_val(gspca_dev, ET_REG25, 0x0f);
drivers/media/usb/gspca/etoms.c
298
reg_w_val(gspca_dev, 0x30, 0x11); /* 0x30 */
drivers/media/usb/gspca/etoms.c
299
reg_w_val(gspca_dev, 0x31, 0x40);
drivers/media/usb/gspca/etoms.c
300
reg_w_val(gspca_dev, 0x32, 0x00);
drivers/media/usb/gspca/etoms.c
301
reg_w_val(gspca_dev, ET_O_RED, 0x00); /* 0x34 */
drivers/media/usb/gspca/etoms.c
302
reg_w_val(gspca_dev, ET_O_GREEN1, 0x00);
drivers/media/usb/gspca/etoms.c
303
reg_w_val(gspca_dev, ET_O_BLUE, 0x00);
drivers/media/usb/gspca/etoms.c
304
reg_w_val(gspca_dev, ET_O_GREEN2, 0x00);
drivers/media/usb/gspca/etoms.c
306
reg_w_val(gspca_dev, ET_G_RED, 0x80); /* 0x4d */
drivers/media/usb/gspca/etoms.c
307
reg_w_val(gspca_dev, ET_G_GREEN1, 0x80);
drivers/media/usb/gspca/etoms.c
308
reg_w_val(gspca_dev, ET_G_BLUE, 0x80);
drivers/media/usb/gspca/etoms.c
309
reg_w_val(gspca_dev, ET_G_GREEN2, 0x80);
drivers/media/usb/gspca/etoms.c
310
reg_w_val(gspca_dev, ET_G_GR_H, 0x00);
drivers/media/usb/gspca/etoms.c
311
reg_w_val(gspca_dev, ET_G_GB_H, 0x00); /* 0x52 */
drivers/media/usb/gspca/etoms.c
313
reg_w_val(gspca_dev, 0x61, 0x80); /* use cmc_out */
drivers/media/usb/gspca/etoms.c
314
reg_w_val(gspca_dev, 0x62, 0x02);
drivers/media/usb/gspca/etoms.c
315
reg_w_val(gspca_dev, 0x63, 0x03);
drivers/media/usb/gspca/etoms.c
316
reg_w_val(gspca_dev, 0x64, 0x14);
drivers/media/usb/gspca/etoms.c
317
reg_w_val(gspca_dev, 0x65, 0x0e);
drivers/media/usb/gspca/etoms.c
318
reg_w_val(gspca_dev, 0x66, 0x02);
drivers/media/usb/gspca/etoms.c
319
reg_w_val(gspca_dev, 0x67, 0x02);
drivers/media/usb/gspca/etoms.c
322
reg_w_val(gspca_dev, ET_SYNCHRO, 0x8f); /* 0x68 */
drivers/media/usb/gspca/etoms.c
323
reg_w_val(gspca_dev, ET_STARTX, 0x69); /* 0x6a //0x69 */
drivers/media/usb/gspca/etoms.c
324
reg_w_val(gspca_dev, ET_STARTY, 0x0d); /* 0x0d //0x0c */
drivers/media/usb/gspca/etoms.c
325
reg_w_val(gspca_dev, ET_WIDTH_LOW, 0x80);
drivers/media/usb/gspca/etoms.c
326
reg_w_val(gspca_dev, ET_HEIGTH_LOW, 0xe0);
drivers/media/usb/gspca/etoms.c
327
reg_w_val(gspca_dev, ET_W_H_HEIGTH, 0x60); /* 6d */
drivers/media/usb/gspca/etoms.c
328
reg_w_val(gspca_dev, ET_REG6e, 0x86);
drivers/media/usb/gspca/etoms.c
329
reg_w_val(gspca_dev, ET_REG6f, 0x01);
drivers/media/usb/gspca/etoms.c
330
reg_w_val(gspca_dev, ET_REG70, 0x26);
drivers/media/usb/gspca/etoms.c
331
reg_w_val(gspca_dev, ET_REG71, 0x7a);
drivers/media/usb/gspca/etoms.c
332
reg_w_val(gspca_dev, ET_REG72, 0x01);
drivers/media/usb/gspca/etoms.c
334
reg_w_val(gspca_dev, ET_REG73, 0x00);
drivers/media/usb/gspca/etoms.c
335
reg_w_val(gspca_dev, ET_REG74, 0x18); /* 0x28 */
drivers/media/usb/gspca/etoms.c
336
reg_w_val(gspca_dev, ET_REG75, 0x0f); /* 0x01 */
drivers/media/usb/gspca/etoms.c
338
reg_w_val(gspca_dev, 0x8a, 0x20);
drivers/media/usb/gspca/etoms.c
339
reg_w_val(gspca_dev, 0x8d, 0x0f);
drivers/media/usb/gspca/etoms.c
340
reg_w_val(gspca_dev, 0x8e, 0x08);
drivers/media/usb/gspca/etoms.c
342
reg_w_val(gspca_dev, 0x03, 0x08);
drivers/media/usb/gspca/etoms.c
343
reg_w_val(gspca_dev, ET_PXL_CLK, 0x03);
drivers/media/usb/gspca/etoms.c
344
reg_w_val(gspca_dev, 0x81, 0xff);
drivers/media/usb/gspca/etoms.c
345
reg_w_val(gspca_dev, 0x80, 0x00);
drivers/media/usb/gspca/etoms.c
346
reg_w_val(gspca_dev, 0x81, 0xff);
drivers/media/usb/gspca/etoms.c
347
reg_w_val(gspca_dev, 0x80, 0x20);
drivers/media/usb/gspca/etoms.c
348
reg_w_val(gspca_dev, 0x03, 0x01);
drivers/media/usb/gspca/etoms.c
349
reg_w_val(gspca_dev, 0x03, 0x00);
drivers/media/usb/gspca/etoms.c
350
reg_w_val(gspca_dev, 0x03, 0x08);
drivers/media/usb/gspca/etoms.c
356
if (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv)
drivers/media/usb/gspca/etoms.c
365
reg_w_val(gspca_dev, ET_PXL_CLK, value);
drivers/media/usb/gspca/etoms.c
367
reg_w(gspca_dev, 0x62, FormLine, 6);
drivers/media/usb/gspca/etoms.c
370
reg_w_val(gspca_dev, 0x81, 0x47); /* 0x47; */
drivers/media/usb/gspca/etoms.c
371
reg_w_val(gspca_dev, 0x80, 0x40); /* 0x40; */
drivers/media/usb/gspca/etoms.c
376
reg_w_val(gspca_dev, 0x81, 0x30); /* 0x20; - set brightness */
drivers/media/usb/gspca/etoms.c
377
reg_w_val(gspca_dev, 0x80, 0x20); /* 0x20; */
drivers/media/usb/gspca/etoms.c
380
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/etoms.c
385
reg_w_val(gspca_dev, ET_O_RED + i, val);
drivers/media/usb/gspca/etoms.c
388
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/etoms.c
393
reg_w(gspca_dev, ET_G_RED, RGBG, 6);
drivers/media/usb/gspca/etoms.c
396
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/etoms.c
398
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
408
i2c_w(gspca_dev, PAS106_REG13, &i2cflags, 1, 3);
drivers/media/usb/gspca/etoms.c
409
i2c_w(gspca_dev, PAS106_REG9, I2cc, sizeof I2cc, 1);
drivers/media/usb/gspca/etoms.c
413
static s32 getcolors(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
415
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
419
i2c_r(gspca_dev, PAS106_REG9 + 3); /* red */
drivers/media/usb/gspca/etoms.c
420
return gspca_dev->usb_buf[0] & 0x0f;
drivers/media/usb/gspca/etoms.c
425
static void setautogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
427
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
435
static void Et_init1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
444
gspca_dbg(gspca_dev, D_STREAM, "Open Init1 ET\n\n");
drivers/media/usb/gspca/etoms.c
445
reg_w_val(gspca_dev, ET_GPIO_DIR_CTRL, 7);
drivers/media/usb/gspca/etoms.c
446
reg_r(gspca_dev, ET_GPIO_IN, 1);
drivers/media/usb/gspca/etoms.c
447
reg_w_val(gspca_dev, ET_RESET_ALL, 1);
drivers/media/usb/gspca/etoms.c
448
reg_w_val(gspca_dev, ET_RESET_ALL, 0);
drivers/media/usb/gspca/etoms.c
449
reg_w_val(gspca_dev, ET_ClCK, 0x10);
drivers/media/usb/gspca/etoms.c
450
reg_w_val(gspca_dev, ET_CTRL, 0x19);
drivers/media/usb/gspca/etoms.c
452
if (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv)
drivers/media/usb/gspca/etoms.c
456
gspca_dbg(gspca_dev, D_STREAM, "Open mode %d Compression %d\n",
drivers/media/usb/gspca/etoms.c
457
gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv,
drivers/media/usb/gspca/etoms.c
459
reg_w_val(gspca_dev, ET_COMP, value);
drivers/media/usb/gspca/etoms.c
460
reg_w_val(gspca_dev, ET_MAXQt, 0x1d);
drivers/media/usb/gspca/etoms.c
461
reg_w_val(gspca_dev, ET_MINQt, 0x02);
drivers/media/usb/gspca/etoms.c
463
reg_w_val(gspca_dev, ET_REG1d, 0xff);
drivers/media/usb/gspca/etoms.c
464
reg_w_val(gspca_dev, ET_REG1e, 0xff);
drivers/media/usb/gspca/etoms.c
465
reg_w_val(gspca_dev, ET_REG1f, 0xff);
drivers/media/usb/gspca/etoms.c
466
reg_w_val(gspca_dev, ET_REG20, 0x35);
drivers/media/usb/gspca/etoms.c
467
reg_w_val(gspca_dev, ET_REG21, 0x01);
drivers/media/usb/gspca/etoms.c
468
reg_w_val(gspca_dev, ET_REG22, 0x00);
drivers/media/usb/gspca/etoms.c
469
reg_w_val(gspca_dev, ET_REG23, 0xf7);
drivers/media/usb/gspca/etoms.c
470
reg_w_val(gspca_dev, ET_REG24, 0xff);
drivers/media/usb/gspca/etoms.c
471
reg_w_val(gspca_dev, ET_REG25, 0x07);
drivers/media/usb/gspca/etoms.c
473
reg_w_val(gspca_dev, ET_G_RED, 0x80);
drivers/media/usb/gspca/etoms.c
474
reg_w_val(gspca_dev, ET_G_GREEN1, 0x80);
drivers/media/usb/gspca/etoms.c
475
reg_w_val(gspca_dev, ET_G_BLUE, 0x80);
drivers/media/usb/gspca/etoms.c
476
reg_w_val(gspca_dev, ET_G_GREEN2, 0x80);
drivers/media/usb/gspca/etoms.c
477
reg_w_val(gspca_dev, ET_G_GR_H, 0x00);
drivers/media/usb/gspca/etoms.c
478
reg_w_val(gspca_dev, ET_G_GB_H, 0x00);
drivers/media/usb/gspca/etoms.c
480
reg_w_val(gspca_dev, ET_SYNCHRO, 0xf0);
drivers/media/usb/gspca/etoms.c
481
reg_w_val(gspca_dev, ET_STARTX, 0x56); /* 0x56 */
drivers/media/usb/gspca/etoms.c
482
reg_w_val(gspca_dev, ET_STARTY, 0x05); /* 0x04 */
drivers/media/usb/gspca/etoms.c
483
reg_w_val(gspca_dev, ET_WIDTH_LOW, 0x60);
drivers/media/usb/gspca/etoms.c
484
reg_w_val(gspca_dev, ET_HEIGTH_LOW, 0x20);
drivers/media/usb/gspca/etoms.c
485
reg_w_val(gspca_dev, ET_W_H_HEIGTH, 0x50);
drivers/media/usb/gspca/etoms.c
486
reg_w_val(gspca_dev, ET_REG6e, 0x86);
drivers/media/usb/gspca/etoms.c
487
reg_w_val(gspca_dev, ET_REG6f, 0x01);
drivers/media/usb/gspca/etoms.c
488
reg_w_val(gspca_dev, ET_REG70, 0x86);
drivers/media/usb/gspca/etoms.c
489
reg_w_val(gspca_dev, ET_REG71, 0x14);
drivers/media/usb/gspca/etoms.c
490
reg_w_val(gspca_dev, ET_REG72, 0x00);
drivers/media/usb/gspca/etoms.c
492
reg_w_val(gspca_dev, ET_REG73, 0x00);
drivers/media/usb/gspca/etoms.c
493
reg_w_val(gspca_dev, ET_REG74, 0x00);
drivers/media/usb/gspca/etoms.c
494
reg_w_val(gspca_dev, ET_REG75, 0x0a);
drivers/media/usb/gspca/etoms.c
495
reg_w_val(gspca_dev, ET_I2C_CLK, 0x04);
drivers/media/usb/gspca/etoms.c
496
reg_w_val(gspca_dev, ET_PXL_CLK, 0x01);
drivers/media/usb/gspca/etoms.c
498
if (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/etoms.c
500
i2c_w(gspca_dev, PAS106_REG2, I2c0, sizeof I2c0, 1);
drivers/media/usb/gspca/etoms.c
501
i2c_w(gspca_dev, PAS106_REG9, I2c2, sizeof I2c2, 1);
drivers/media/usb/gspca/etoms.c
503
i2c_w(gspca_dev, PAS106_REG2, &value, 1, 1);
drivers/media/usb/gspca/etoms.c
504
i2c_w(gspca_dev, PAS106_REG3, I2c3, sizeof I2c3, 1);
drivers/media/usb/gspca/etoms.c
507
i2c_w(gspca_dev, PAS106_REG0e, &value, 1, 1);
drivers/media/usb/gspca/etoms.c
511
i2c_w(gspca_dev, PAS106_REG2, I2c0, sizeof I2c0, 1);
drivers/media/usb/gspca/etoms.c
512
i2c_w(gspca_dev, PAS106_REG9, I2c2, sizeof I2c2, 1);
drivers/media/usb/gspca/etoms.c
514
i2c_w(gspca_dev, PAS106_REG2, &value, 1, 1);
drivers/media/usb/gspca/etoms.c
515
i2c_w(gspca_dev, PAS106_REG3, I2c3, sizeof I2c3, 1);
drivers/media/usb/gspca/etoms.c
518
i2c_w(gspca_dev, PAS106_REG0e, &value, 1, 1);
drivers/media/usb/gspca/etoms.c
529
i2c_w(gspca_dev, PAS106_REG7, I2c4, sizeof I2c4, 1);
drivers/media/usb/gspca/etoms.c
531
reg_w(gspca_dev, ET_G_RED, GainRGBG, 6);
drivers/media/usb/gspca/etoms.c
532
setcolors(gspca_dev, getcolors(gspca_dev));
drivers/media/usb/gspca/etoms.c
536
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
539
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
542
cam = &gspca_dev->cam;
drivers/media/usb/gspca/etoms.c
556
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
558
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
561
Et_init1(gspca_dev);
drivers/media/usb/gspca/etoms.c
563
Et_init2(gspca_dev);
drivers/media/usb/gspca/etoms.c
564
reg_w_val(gspca_dev, ET_RESET_ALL, 0x08);
drivers/media/usb/gspca/etoms.c
565
et_video(gspca_dev, 0); /* video off */
drivers/media/usb/gspca/etoms.c
570
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
572
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
575
Et_init1(gspca_dev);
drivers/media/usb/gspca/etoms.c
577
Et_init2(gspca_dev);
drivers/media/usb/gspca/etoms.c
579
setautogain(gspca_dev);
drivers/media/usb/gspca/etoms.c
581
reg_w_val(gspca_dev, ET_RESET_ALL, 0x08);
drivers/media/usb/gspca/etoms.c
582
et_video(gspca_dev, 1); /* video on */
drivers/media/usb/gspca/etoms.c
586
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
588
et_video(gspca_dev, 0); /* video off */
drivers/media/usb/gspca/etoms.c
591
static __u8 Et_getgainG(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
593
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
596
i2c_r(gspca_dev, PAS106_REG0e);
drivers/media/usb/gspca/etoms.c
597
gspca_dbg(gspca_dev, D_CONF, "Etoms gain G %d\n",
drivers/media/usb/gspca/etoms.c
598
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/etoms.c
599
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/etoms.c
604
static void Et_setgainG(struct gspca_dev *gspca_dev, __u8 gain)
drivers/media/usb/gspca/etoms.c
606
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
611
i2c_w(gspca_dev, PAS106_REG13, &i2cflags, 1, 3);
drivers/media/usb/gspca/etoms.c
612
i2c_w(gspca_dev, PAS106_REG0e, &gain, 1, 1);
drivers/media/usb/gspca/etoms.c
621
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
623
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/etoms.c
637
Gbright = Et_getgainG(gspca_dev);
drivers/media/usb/gspca/etoms.c
638
reg_r(gspca_dev, ET_LUMA_CENTER, 4);
drivers/media/usb/gspca/etoms.c
639
g = (gspca_dev->usb_buf[0] + gspca_dev->usb_buf[3]) >> 1;
drivers/media/usb/gspca/etoms.c
640
r = gspca_dev->usb_buf[1];
drivers/media/usb/gspca/etoms.c
641
b = gspca_dev->usb_buf[2];
drivers/media/usb/gspca/etoms.c
646
gspca_dbg(gspca_dev, D_FRAM, "Etoms luma G %d\n", luma);
drivers/media/usb/gspca/etoms.c
650
gspca_dbg(gspca_dev, D_FRAM, "Etoms Gbright %d\n", Gbright);
drivers/media/usb/gspca/etoms.c
651
Et_setgainG(gspca_dev, (__u8) Gbright);
drivers/media/usb/gspca/etoms.c
658
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/etoms.c
667
gspca_dbg(gspca_dev, D_FRAM,
drivers/media/usb/gspca/etoms.c
669
gspca_dbg(gspca_dev, D_FRAM, "G %d R %d G %d B %d",
drivers/media/usb/gspca/etoms.c
673
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/etoms.c
674
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/etoms.c
679
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/etoms.c
681
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/etoms.c
687
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/etoms.c
688
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/etoms.c
689
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/etoms.c
691
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/etoms.c
693
if (!gspca_dev->streaming)
drivers/media/usb/gspca/etoms.c
698
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/etoms.c
701
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/etoms.c
704
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/etoms.c
708
setautogain(gspca_dev);
drivers/media/usb/gspca/etoms.c
711
return gspca_dev->usb_err;
drivers/media/usb/gspca/etoms.c
718
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/etoms.c
720
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/etoms.c
721
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/etoms.c
723
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/finepix.c
100
if (gspca_dev->frozen)
drivers/media/usb/gspca/finepix.c
103
if (!gspca_dev->present || !gspca_dev->streaming)
drivers/media/usb/gspca/finepix.c
108
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/finepix.c
119
if (gspca_dev->frozen)
drivers/media/usb/gspca/finepix.c
122
if (!gspca_dev->present || !gspca_dev->streaming)
drivers/media/usb/gspca/finepix.c
134
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/finepix.c
140
gspca_frame_add(gspca_dev,
drivers/media/usb/gspca/finepix.c
141
gspca_dev->last_packet_type
drivers/media/usb/gspca/finepix.c
154
gspca_dbg(gspca_dev, D_STREAM, "dostream stopped\n");
drivers/media/usb/gspca/finepix.c
158
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/finepix.c
161
struct usb_fpix *dev = (struct usb_fpix *) gspca_dev;
drivers/media/usb/gspca/finepix.c
162
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/finepix.c
175
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/finepix.c
181
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/finepix.c
183
struct usb_fpix *dev = (struct usb_fpix *) gspca_dev;
drivers/media/usb/gspca/finepix.c
187
ret = command(gspca_dev, 0);
drivers/media/usb/gspca/finepix.c
195
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/finepix.c
196
gspca_dev->urb[0]->pipe,
drivers/media/usb/gspca/finepix.c
197
gspca_dev->urb[0]->transfer_buffer,
drivers/media/usb/gspca/finepix.c
206
ret = command(gspca_dev, 1);
drivers/media/usb/gspca/finepix.c
213
usb_clear_halt(gspca_dev->dev, gspca_dev->urb[0]->pipe);
drivers/media/usb/gspca/finepix.c
222
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/finepix.c
224
struct usb_fpix *dev = (struct usb_fpix *) gspca_dev;
drivers/media/usb/gspca/finepix.c
227
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/finepix.c
229
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/finepix.c
28
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/finepix.c
49
static int command(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/finepix.c
57
memcpy(gspca_dev->usb_buf, order_values[order], 12);
drivers/media/usb/gspca/finepix.c
58
return usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/finepix.c
59
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/finepix.c
62
USB_RECIP_INTERFACE, 0, 0, gspca_dev->usb_buf,
drivers/media/usb/gspca/finepix.c
77
struct gspca_dev *gspca_dev = &dev->gspca_dev;
drivers/media/usb/gspca/finepix.c
78
struct urb *urb = gspca_dev->urb[0];
drivers/media/usb/gspca/finepix.c
83
gspca_dbg(gspca_dev, D_STREAM, "dostream started\n");
drivers/media/usb/gspca/finepix.c
87
while (gspca_dev->present && gspca_dev->streaming) {
drivers/media/usb/gspca/finepix.c
89
if (gspca_dev->frozen)
drivers/media/usb/gspca/finepix.c
94
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/finepix.c
95
ret = command(gspca_dev, 1);
drivers/media/usb/gspca/finepix.c
96
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
191
static int mi1320_init_at_startup(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
192
static int mi1320_configure_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
193
static int mi1320_init_pre_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
194
static int mi1320_init_post_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
195
static void mi1320_post_unset_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
196
static int mi1320_sensor_settings(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
197
static int mi1320_camera_settings(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
200
void mi1320_init_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
202
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
237
static void common(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
241
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 22, dat_common00);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
242
ctrl_out(gspca_dev, 0x40, 1, 0x0041, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
243
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 32, dat_common01);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
244
n = fetch_validx(gspca_dev, tbl_common, ARRAY_SIZE(tbl_common));
drivers/media/usb/gspca/gl860/gl860-mi1320.c
245
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 48, dat_common02);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
246
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 48, dat_common03);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
247
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 16, dat_common04);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
248
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 48, dat_common05);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
249
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 44, dat_common06);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
250
keep_on_fetching_validx(gspca_dev, tbl_common,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
252
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 52, dat_common07);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
253
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 48, dat_common08);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
254
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 48, dat_common09);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
255
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 56, dat_common10);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
256
keep_on_fetching_validx(gspca_dev, tbl_common,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
258
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 40, dat_common11);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
259
keep_on_fetching_validx(gspca_dev, tbl_common,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
263
static int mi1320_init_at_startup(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
265
fetch_validx(gspca_dev, tbl_init_at_startup,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
268
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
275
static int mi1320_init_pre_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
277
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
293
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
295
mi1320_sensor_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
297
mi1320_init_post_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
302
static int mi1320_init_post_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
304
mi1320_camera_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
309
static int mi1320_sensor_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
311
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
313
ctrl_out(gspca_dev, 0x40, 5, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
315
fetch_validx(gspca_dev, tbl_sensor_settings_common,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
320
fetch_validx(gspca_dev, tbl_sensor_settings_1280,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
322
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 64, tbl_1280[0]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
323
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 40, tbl_1280[1]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
324
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, tbl_1280[2]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
328
fetch_validx(gspca_dev, tbl_sensor_settings_800,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
330
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 64, tbl_800[0]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
331
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 40, tbl_800[1]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
332
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, tbl_800[2]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
336
fetch_validx(gspca_dev, tbl_sensor_settings_640,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
338
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 60, tbl_640[0]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
339
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 40, tbl_640[1]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
340
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, tbl_640[2]);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
346
static int mi1320_configure_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
348
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
352
gspca_dev->alt = 3 + 1;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
357
gspca_dev->alt = 1 + 1;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
363
static int mi1320_camera_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
365
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi1320.c
384
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
385
ctrl_out(gspca_dev, 0x40, 1, 0xba02, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
386
ctrl_out(gspca_dev, 0x40, 1, 0xba00 , 0x005b, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
387
ctrl_out(gspca_dev, 0x40, 1, 0xba01 + freq, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
397
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
399
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
401
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
403
ctrl_out(gspca_dev, 0x40, 3,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
408
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
410
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
412
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
414
ctrl_out(gspca_dev, 0x40, 3,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
419
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
421
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
423
ctrl_out(gspca_dev, 0x40, 1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
425
ctrl_out(gspca_dev, 0x40, 3,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
437
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
438
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
439
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + bright, 0x0034, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
440
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + bright, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
449
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
450
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
451
ctrl_out(gspca_dev, 0x40, 1, 0xba00 , 0x0025, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
452
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + sat, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
460
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
461
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
462
ctrl_out(gspca_dev, 0x40, 1, 0xba00 , 0x0005, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
463
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + sharp, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
475
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
476
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
477
ctrl_out(gspca_dev, 0x40, 1, 0xba70, 0x00e2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
478
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + hue * (hue < 6), 0x00f1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
489
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
490
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
491
ctrl_out(gspca_dev, 0x40, 1, 0xba74, 0x0006, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
492
ctrl_out(gspca_dev, 0x40, 1, 0xba80 + backlight, 0x00f1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
500
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
501
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
502
ctrl_out(gspca_dev, 0x40, 1, 0xba70, 0x00e2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
503
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + hue * (hue < 6), 0x00f1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
513
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 4, dat_hvflip1);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
514
ctrl_out(gspca_dev, 0x40, 3, 0xba00, 0x0200, 4, dat_hvflip2);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
523
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
524
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
525
ctrl_out(gspca_dev, 0x40, 1, 0xba04 , 0x003b, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
526
ctrl_out(gspca_dev, 0x40, 1, 0xba02 + gam, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
534
ctrl_out(gspca_dev, 0x40, 1, 0xba00, 0x00f0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
535
ctrl_out(gspca_dev, 0x40, 1, 0xba01, 0x00f1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
536
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + tbl_cntr1[cntr], 0x0035,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
538
ctrl_out(gspca_dev, 0x40, 1, 0xba00 + tbl_cntr2[cntr], 0x00f1,
drivers/media/usb/gspca/gl860/gl860-mi1320.c
545
static void mi1320_post_unset_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi1320.c
547
ctrl_out(gspca_dev, 0x40, 5, 0x0000, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi1320.c
549
fetch_validx(gspca_dev, tbl_post_unset_alt,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
343
static int mi2020_init_at_startup(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
344
static int mi2020_configure_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
345
static int mi2020_init_pre_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
346
static int mi2020_init_post_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
347
static void mi2020_post_unset_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
348
static int mi2020_camera_settings(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
351
void mi2020_init_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
353
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
388
static void common(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
390
fetch_validx(gspca_dev, tbl_common_0B, ARRAY_SIZE(tbl_common_0B));
drivers/media/usb/gspca/gl860/gl860-mi2020.c
391
fetch_idxdata(gspca_dev, tbl_common_3B, ARRAY_SIZE(tbl_common_3B));
drivers/media/usb/gspca/gl860/gl860-mi2020.c
392
ctrl_out(gspca_dev, 0x40, 1, 0x0041, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
395
static int mi2020_init_at_startup(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
399
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &c);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
400
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &c);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
402
fetch_validx(gspca_dev, tbl_init_at_startup,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
405
ctrl_out(gspca_dev, 0x40, 1, 0x7a00, 0x8030, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
406
ctrl_in(gspca_dev, 0xc0, 2, 0x7a00, 0x8030, 1, &c);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
408
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
413
ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
418
static int mi2020_init_pre_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
420
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
434
mi2020_init_post_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
439
static int mi2020_init_post_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
441
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
442
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
478
ctrl_out(gspca_dev, 0x40, 5, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
481
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
484
ctrl_out(gspca_dev, 0x40, 1, 0x0010, 0x0010, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
485
ctrl_out(gspca_dev, 0x40, 1, 0x0003, 0x00c1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
486
ctrl_out(gspca_dev, 0x40, 1, 0x0042, 0x00c2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
487
ctrl_out(gspca_dev, 0x40, 1, 0x006a, 0x000d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
493
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
496
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
499
fetch_idxdata(gspca_dev, tbl_init_post_alt_low1,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
503
fetch_idxdata(gspca_dev, tbl_init_post_alt_low2,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
506
fetch_idxdata(gspca_dev, tbl_init_post_alt_low3,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
509
ctrl_out(gspca_dev, 0x40, 1, 0x0010, 0x0010, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
510
ctrl_out(gspca_dev, 0x40, 1, 0x0000, 0x00c1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
511
ctrl_out(gspca_dev, 0x40, 1, 0x0041, 0x00c2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
518
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
520
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
522
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
524
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
526
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
529
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
531
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
533
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
535
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
537
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
541
fetch_idxdata(gspca_dev, tbl_init_post_alt_big,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
544
ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x0010, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
545
ctrl_out(gspca_dev, 0x40, 1, 0x0000, 0x00c1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
546
ctrl_out(gspca_dev, 0x40, 1, 0x0041, 0x00c2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
550
ctrl_out(gspca_dev, 0x40, 1, 0x0040, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
554
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_freq1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
555
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_freq2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
558
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
559
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
560
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
561
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
562
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_wbal1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
563
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_wbal2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
564
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
565
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
567
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0000, 1, &c);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
569
fetch_idxdata(gspca_dev, tbl_init_post_alt_3B,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
573
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
574
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
575
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
576
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
577
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
578
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
582
fetch_idxdata(gspca_dev, tbl_middle_hvflip_low,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
585
fetch_idxdata(gspca_dev, tbl_middle_hvflip_big,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
588
fetch_idxdata(gspca_dev, tbl_end_hvflip,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
598
mi2020_camera_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
603
static int mi2020_configure_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
605
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
609
gspca_dev->alt = 3 + 1;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
615
gspca_dev->alt = 1 + 1;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
621
static int mi2020_camera_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
623
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
624
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-mi2020.c
659
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_freq1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
660
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_freq2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
681
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
682
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
683
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
684
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
685
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_wbal1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
686
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_wbal2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
687
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
688
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
698
fetch_idxdata(gspca_dev, tbl_init_post_alt_3B,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
701
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
702
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
703
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
704
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
705
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
706
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_hvflip6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
710
fetch_idxdata(gspca_dev, tbl_middle_hvflip_low,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
713
fetch_idxdata(gspca_dev, tbl_middle_hvflip_big,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
716
fetch_idxdata(gspca_dev, tbl_end_hvflip,
drivers/media/usb/gspca/gl860/gl860-mi2020.c
726
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
727
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
728
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
729
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
730
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
731
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_bright6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
747
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
748
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
749
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
750
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
751
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
752
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
763
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi1);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
764
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi2);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
765
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi3);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
766
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi4);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
767
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi5);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
768
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0033, 3, dat_multi6);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
777
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, 0x0032, 3, dat_sharp);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
788
static void mi2020_post_unset_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-mi2020.c
790
ctrl_out(gspca_dev, 0x40, 5, 0x0000, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-mi2020.c
792
ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
163
static int ov2640_init_at_startup(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
164
static int ov2640_configure_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
165
static int ov2640_init_pre_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
166
static int ov2640_init_post_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
167
static void ov2640_post_unset_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
168
static int ov2640_camera_settings(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
171
void ov2640_init_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
173
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
207
static void common(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
209
fetch_validx(gspca_dev, tbl_common, ARRAY_SIZE(tbl_common));
drivers/media/usb/gspca/gl860/gl860-ov2640.c
212
static int ov2640_init_at_startup(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
214
fetch_validx(gspca_dev, tbl_init_at_startup,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
217
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, dat_init1);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
219
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
221
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0006, 1, c61);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
223
ctrl_out(gspca_dev, 0x40, 1, 0x00ef, 0x0006, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
225
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0000, 1, c51);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
227
ctrl_out(gspca_dev, 0x40, 1, 0x0051, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
233
static int ov2640_init_pre_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
235
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
250
ov2640_init_post_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
255
static int ov2640_init_post_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
257
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
260
ctrl_out(gspca_dev, 0x40, 5, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
262
n = fetch_validx(gspca_dev, tbl_sensor_settings_common1,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
264
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, dat_post);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
265
common(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
266
keep_on_fetching_validx(gspca_dev, tbl_sensor_settings_common1,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
271
n = fetch_validx(gspca_dev, tbl_640, ARRAY_SIZE(tbl_640));
drivers/media/usb/gspca/gl860/gl860-ov2640.c
272
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, dat_640);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
276
n = fetch_validx(gspca_dev, tbl_800, ARRAY_SIZE(tbl_800));
drivers/media/usb/gspca/gl860/gl860-ov2640.c
277
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 12, dat_800);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
282
n = fetch_validx(gspca_dev, tbl_big1, ARRAY_SIZE(tbl_big1));
drivers/media/usb/gspca/gl860/gl860-ov2640.c
285
n = fetch_validx(gspca_dev, tbl_big2,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
288
ctrl_out(gspca_dev, 0x40, 1, 0x601d, 0x0086, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
289
ctrl_out(gspca_dev, 0x40, 1, 0x6001, 0x00d7, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
290
ctrl_out(gspca_dev, 0x40, 1, 0x6082, 0x00d3, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
293
n = fetch_validx(gspca_dev, tbl_big3, ARRAY_SIZE(tbl_big3));
drivers/media/usb/gspca/gl860/gl860-ov2640.c
296
ctrl_out(gspca_dev, 0x40, 1, 0x6001, 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
297
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
300
ctrl_out(gspca_dev, 0x40, 1, 0x6020, 0x008c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
301
ctrl_out(gspca_dev, 0x40, 1, 0x6001, 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
302
ctrl_out(gspca_dev, 0x40, 1, 0x6076, 0x0018, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
303
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
309
n = fetch_validx(gspca_dev, tbl_sensor_settings_common2,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
312
ov2640_camera_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
317
static int ov2640_configure_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
319
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
323
gspca_dev->alt = 3 + 1;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
329
gspca_dev->alt = 1 + 1;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
335
static int ov2640_camera_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
337
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov2640.c
355
ctrl_out(gspca_dev, 0x40, 1, 0x6001 , 0x00ff,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
357
ctrl_out(gspca_dev, 0x40, 1, 0x601e + backlight , 0x0024,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
359
ctrl_out(gspca_dev, 0x40, 1, 0x601e + backlight - 10, 0x0025,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
368
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
369
ctrl_out(gspca_dev, 0x40, 1, 0x6009 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
370
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + bright, 0x007d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
378
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
379
ctrl_out(gspca_dev, 0x40, 1, 0x6003 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
380
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + wbal, 0x007d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
388
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
389
ctrl_out(gspca_dev, 0x40, 1, 0x6007 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
390
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + cntr, 0x007d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
398
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
399
ctrl_out(gspca_dev, 0x40, 1, 0x6001 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
400
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + sat, 0x007d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
408
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
409
ctrl_out(gspca_dev, 0x40, 1, 0x6001 , 0x0092, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
410
ctrl_out(gspca_dev, 0x40, 1, 0x60c0 + sharp, 0x0093, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
418
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
419
ctrl_out(gspca_dev, 0x40, 1, 0x6002 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
420
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + hue * (hue < 255), 0x007d,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
433
ctrl_out(gspca_dev, 0x40, 1, 0x6000 , 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
434
ctrl_out(gspca_dev, 0x40, 1, 0x6008 , 0x007c, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
435
ctrl_out(gspca_dev, 0x40, 1, 0x6000 + gam, 0x007d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
443
ctrl_out(gspca_dev, 0x40, 1, 0x6001, 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
444
ctrl_out(gspca_dev, 0x40, 1, 0x6000, 0x8004, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
445
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x8004, 1, c28);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
446
ctrl_out(gspca_dev, 0x40, 1, 0x6028 + mirror, 0x0004, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
449
ctrl_out(gspca_dev, 0x40, 1, 0x6001, 0x00ff, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
450
ctrl_out(gspca_dev, 0x40, 1, 0x6000, 0x8004, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
451
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x8004, 1, ca8);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
452
ctrl_out(gspca_dev, 0x40, 1, 0x6028 + flip, 0x0004, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
454
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0000, 1, c50);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
460
ctrl_out(gspca_dev, 0x40, 1, 0x6001 , 0x00ff,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
462
ctrl_out(gspca_dev, 0x40, 1, 0x601e + backlight , 0x0024,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
464
ctrl_out(gspca_dev, 0x40, 1, 0x601e + backlight - 10, 0x0025,
drivers/media/usb/gspca/gl860/gl860-ov2640.c
471
static void ov2640_post_unset_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov2640.c
473
ctrl_out(gspca_dev, 0x40, 5, 0x0000, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov2640.c
475
fetch_validx(gspca_dev, tbl_post_unset_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
182
static int ov9655_init_at_startup(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
183
static int ov9655_configure_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
184
static int ov9655_init_pre_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
185
static int ov9655_init_post_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
186
static void ov9655_post_unset_alt(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
187
static int ov9655_camera_settings(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
190
void ov9655_init_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
192
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
224
static int ov9655_init_at_startup(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
226
fetch_validx(gspca_dev, tbl_init_at_startup,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
228
fetch_validx(gspca_dev, tbl_commmon, ARRAY_SIZE(tbl_commmon));
drivers/media/usb/gspca/gl860/gl860-ov9655.c
234
static int ov9655_init_pre_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
236
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
241
fetch_validx(gspca_dev, tbl_commmon, ARRAY_SIZE(tbl_commmon));
drivers/media/usb/gspca/gl860/gl860-ov9655.c
243
ov9655_init_post_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
248
static int ov9655_init_post_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
250
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
255
ctrl_out(gspca_dev, 0x40, 5, 0x0001, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
259
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
262
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
264
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
267
n = fetch_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
270
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
271
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
273
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
274
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
276
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
277
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
279
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
280
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
282
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post1);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
283
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
286
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
287
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
289
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
290
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
292
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
293
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
295
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
296
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
298
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post1);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
299
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
302
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
303
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
305
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x801e, 1, c04);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
306
keep_on_fetching_validx(gspca_dev, tbl_init_post_alt,
drivers/media/usb/gspca/gl860/gl860-ov9655.c
309
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post1);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
311
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 4, dat_post2);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
312
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post3);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
314
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 4, dat_post4);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
315
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post5);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
317
ctrl_out(gspca_dev, 0x40, 3, 0x0000, 0x0200, 4, dat_post6);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
318
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post7);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
320
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_post8);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
322
ov9655_camera_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
327
static int ov9655_configure_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
329
s32 reso = gspca_dev->cam.cam_mode[(s32) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
333
gspca_dev->alt = 1 + 1;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
337
gspca_dev->alt = 1 + 1;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
343
static int ov9655_camera_settings(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
345
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860-ov9655.c
358
ctrl_out(gspca_dev, 0x40, 3, 0x6000, 0x0200, 8, dat_bright);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
369
static void ov9655_post_unset_alt(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860-ov9655.c
371
ctrl_out(gspca_dev, 0x40, 5, 0x0000, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860-ov9655.c
372
ctrl_out(gspca_dev, 0x40, 1, 0x0061, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
103
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
105
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
106
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/gl860/gl860.c
108
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/gl860/gl860.c
21
static void (*dev_init_settings)(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
23
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
25
static int sd_init(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
26
static int sd_isoc_init(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
27
static int sd_start(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
28
static void sd_stop0(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
29
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
31
static void sd_callback(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
316
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
319
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
33
static int gl860_guess_sensor(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
341
if (gl860_guess_sensor(gspca_dev, vendor_id, product_id) == -1)
drivers/media/usb/gspca/gl860/gl860.c
344
cam = &gspca_dev->cam;
drivers/media/usb/gspca/gl860/gl860.c
348
gspca_dev->sd_desc = &sd_desc_mi1320;
drivers/media/usb/gspca/gl860/gl860.c
355
gspca_dev->sd_desc = &sd_desc_mi2020;
drivers/media/usb/gspca/gl860/gl860.c
362
gspca_dev->sd_desc = &sd_desc_ov2640;
drivers/media/usb/gspca/gl860/gl860.c
369
gspca_dev->sd_desc = &sd_desc_ov9655;
drivers/media/usb/gspca/gl860/gl860.c
376
dev_init_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
378
((struct sd *) gspca_dev)->vcur.AC50Hz = AC50Hz;
drivers/media/usb/gspca/gl860/gl860.c
384
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
386
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
388
return sd->dev_init_at_startup(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
392
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
394
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
396
return sd->dev_configure_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
400
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
402
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
404
return sd->dev_init_pre_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
408
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
410
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
412
if (!sd->gspca_dev.present)
drivers/media/usb/gspca/gl860/gl860.c
415
return sd->dev_post_unset_alt(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
419
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
422
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
425
s32 mode = (s32) gspca_dev->curr_mode;
drivers/media/usb/gspca/gl860/gl860.c
427
sd->swapRB * (gspca_dev->cam.cam_mode[mode].bytesperline + 1);
drivers/media/usb/gspca/gl860/gl860.c
432
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/gl860/gl860.c
436
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/gl860/gl860.c
450
gspca_frame_add(gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
459
static void sd_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gl860/gl860.c
461
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
468
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0000, 1, (void *)&state);
drivers/media/usb/gspca/gl860/gl860.c
495
sd->dev_camera_settings(gspca_dev);
drivers/media/usb/gspca/gl860/gl860.c
51
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/gl860/gl860.c
52
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/gl860/gl860.c
53
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
538
int gl860_RTx(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
542
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/gl860/gl860.c
547
memcpy(gspca_dev->usb_buf, pdata, len);
drivers/media/usb/gspca/gl860/gl860.c
550
gspca_dev->usb_buf,
drivers/media/usb/gspca/gl860/gl860.c
560
gspca_dev->usb_buf,
drivers/media/usb/gspca/gl860/gl860.c
562
memcpy(pdata, gspca_dev->usb_buf, len);
drivers/media/usb/gspca/gl860/gl860.c
564
gspca_err(gspca_dev, "zero-length read request\n");
drivers/media/usb/gspca/gl860/gl860.c
573
gspca_err(gspca_dev, "short ctrl transfer %d/%d\n", r, len);
drivers/media/usb/gspca/gl860/gl860.c
580
int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len)
drivers/media/usb/gspca/gl860/gl860.c
586
ctrl_out(gspca_dev, 0x40, 1, tbl[n].val,
drivers/media/usb/gspca/gl860/gl860.c
596
int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl,
drivers/media/usb/gspca/gl860/gl860.c
601
ctrl_out(gspca_dev, 0x40, 1, tbl[n].val, tbl[n].idx,
drivers/media/usb/gspca/gl860/gl860.c
611
void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len)
drivers/media/usb/gspca/gl860/gl860.c
617
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, tbl[n].idx,
drivers/media/usb/gspca/gl860/gl860.c
624
static int gl860_guess_sensor(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.c
627
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/gl860/gl860.c
634
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &probe);
drivers/media/usb/gspca/gl860/gl860.c
635
ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &probe);
drivers/media/usb/gspca/gl860/gl860.c
637
ctrl_out(gspca_dev, 0x40, 1, 0x0000, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
639
ctrl_out(gspca_dev, 0x40, 1, 0x0010, 0x0010, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
641
ctrl_out(gspca_dev, 0x40, 1, 0x0008, 0x00c0, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
643
ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x00c1, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
645
ctrl_out(gspca_dev, 0x40, 1, 0x0001, 0x00c2, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
647
ctrl_out(gspca_dev, 0x40, 1, 0x0020, 0x0006, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
649
ctrl_out(gspca_dev, 0x40, 1, 0x006a, 0x000d, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
652
gspca_dbg(gspca_dev, D_PROBE, "probing for sensor MI2020 or OVXXXX\n");
drivers/media/usb/gspca/gl860/gl860.c
655
ctrl_out(gspca_dev, 0x40, 1, 0x0040, 0x0000, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
657
ctrl_out(gspca_dev, 0x40, 1, 0x0063, 0x0006, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
659
ctrl_out(gspca_dev, 0x40, 1, 0x7a00, 0x8030, 0, NULL);
drivers/media/usb/gspca/gl860/gl860.c
661
ctrl_in(gspca_dev, 0xc0, 2, 0x7a00, 0x8030, 1, &probe);
drivers/media/usb/gspca/gl860/gl860.c
662
gspca_dbg(gspca_dev, D_PROBE, "probe=0x%02x\n", probe);
drivers/media/usb/gspca/gl860/gl860.c
668
gspca_dbg(gspca_dev, D_PROBE, "0xff -> OVXXXX\n");
drivers/media/usb/gspca/gl860/gl860.c
669
gspca_dbg(gspca_dev, D_PROBE, "probing for sensor OV2640 or OV9655");
drivers/media/usb/gspca/gl860/gl860.c
673
ctrl_out(gspca_dev, 0x40, 1, 0x0040, 0x0000,
drivers/media/usb/gspca/gl860/gl860.c
676
ctrl_out(gspca_dev, 0x40, 1, 0x6000, 0x800a,
drivers/media/usb/gspca/gl860/gl860.c
681
ctrl_in(gspca_dev, 0xc0, 2, 0x6000, 0x800a,
drivers/media/usb/gspca/gl860/gl860.c
685
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/gl860/gl860.c
693
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/gl860/gl860.c
700
gspca_dbg(gspca_dev, D_PROBE, "probe=0x%02x\n",
drivers/media/usb/gspca/gl860/gl860.c
711
gspca_dbg(gspca_dev, D_PROBE, "Not any 0xff -> MI2020\n");
drivers/media/usb/gspca/gl860/gl860.c
717
gspca_dbg(gspca_dev, D_PROBE, "05e3:f191 sensor MI1320 (1.3M)\n");
drivers/media/usb/gspca/gl860/gl860.c
719
gspca_dbg(gspca_dev, D_PROBE, "05e3:0503 sensor MI2020 (2.0M)\n");
drivers/media/usb/gspca/gl860/gl860.c
721
gspca_dbg(gspca_dev, D_PROBE, "05e3:0503 sensor OV9655 (1.3M)\n");
drivers/media/usb/gspca/gl860/gl860.c
723
gspca_dbg(gspca_dev, D_PROBE, "05e3:0503 sensor OV2640 (2.0M)\n");
drivers/media/usb/gspca/gl860/gl860.c
725
gspca_dbg(gspca_dev, D_PROBE, "***** Unknown sensor *****\n");
drivers/media/usb/gspca/gl860/gl860.c
93
if (gspca_dev->streaming)
drivers/media/usb/gspca/gl860/gl860.h
23
#define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320)
drivers/media/usb/gspca/gl860/gl860.h
24
#define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020)
drivers/media/usb/gspca/gl860/gl860.h
25
#define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640)
drivers/media/usb/gspca/gl860/gl860.h
26
#define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655)
drivers/media/usb/gspca/gl860/gl860.h
49
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/gl860/gl860.h
55
int (*dev_configure_alt) (struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
56
int (*dev_init_at_startup)(struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
57
int (*dev_init_pre_alt) (struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
58
void (*dev_post_unset_alt) (struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
59
int (*dev_camera_settings)(struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
79
int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len);
drivers/media/usb/gspca/gl860/gl860.h
80
int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl,
drivers/media/usb/gspca/gl860/gl860.h
82
void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len);
drivers/media/usb/gspca/gl860/gl860.h
84
int gl860_RTx(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gl860/gl860.h
88
void mi1320_init_settings(struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
89
void ov2640_init_settings(struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
90
void ov9655_init_settings(struct gspca_dev *);
drivers/media/usb/gspca/gl860/gl860.h
91
void mi2020_init_settings(struct gspca_dev *);
drivers/media/usb/gspca/gspca.c
1003
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1009
for (i = gspca_dev->cam.nmodes; --i >= 0; ) {
drivers/media/usb/gspca/gspca.c
1010
fmt_tb[index] = gspca_dev->cam.cam_mode[i].pixelformat;
drivers/media/usb/gspca/gspca.c
1035
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1038
fmt->fmt.pix = gspca_dev->pixfmt;
drivers/media/usb/gspca/gspca.c
104
gspca_err(gspca_dev, "URB error %i, resubmitting\n",
drivers/media/usb/gspca/gspca.c
1044
static int try_fmt_vid_cap(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
1052
PDEBUG_MODE(gspca_dev, D_CONF, "try fmt cap",
drivers/media/usb/gspca/gspca.c
1056
mode = wxh_to_nearest_mode(gspca_dev, w, h, fmt->fmt.pix.pixelformat);
drivers/media/usb/gspca/gspca.c
1059
if (gspca_dev->cam.cam_mode[mode].pixelformat
drivers/media/usb/gspca/gspca.c
1063
mode2 = gspca_get_mode(gspca_dev, mode,
drivers/media/usb/gspca/gspca.c
1068
fmt->fmt.pix = gspca_dev->cam.cam_mode[mode];
drivers/media/usb/gspca/gspca.c
1069
if (gspca_dev->sd_desc->try_fmt) {
drivers/media/usb/gspca/gspca.c
1073
gspca_dev->sd_desc->try_fmt(gspca_dev, fmt);
drivers/media/usb/gspca/gspca.c
1081
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1084
if (try_fmt_vid_cap(gspca_dev, fmt) < 0)
drivers/media/usb/gspca/gspca.c
1094
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1098
if (vb2_is_busy(&gspca_dev->queue))
drivers/media/usb/gspca/gspca.c
1101
mode = try_fmt_vid_cap(gspca_dev, fmt);
drivers/media/usb/gspca/gspca.c
1105
gspca_dev->curr_mode = mode;
drivers/media/usb/gspca/gspca.c
1106
if (gspca_dev->sd_desc->try_fmt)
drivers/media/usb/gspca/gspca.c
1108
gspca_dev->pixfmt = fmt->fmt.pix;
drivers/media/usb/gspca/gspca.c
1110
gspca_dev->pixfmt = gspca_dev->cam.cam_mode[mode];
drivers/media/usb/gspca/gspca.c
1119
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1123
if (gspca_dev->sd_desc->enum_framesizes)
drivers/media/usb/gspca/gspca.c
1124
return gspca_dev->sd_desc->enum_framesizes(gspca_dev, fsize);
drivers/media/usb/gspca/gspca.c
1126
for (i = 0; i < gspca_dev->cam.nmodes; i++) {
drivers/media/usb/gspca/gspca.c
1128
gspca_dev->cam.cam_mode[i].pixelformat)
drivers/media/usb/gspca/gspca.c
1134
gspca_dev->cam.cam_mode[i].width;
drivers/media/usb/gspca/gspca.c
1136
gspca_dev->cam.cam_mode[i].height;
drivers/media/usb/gspca/gspca.c
1148
struct gspca_dev *gspca_dev = video_drvdata(filp);
drivers/media/usb/gspca/gspca.c
1152
mode = wxh_to_mode(gspca_dev, fival->width, fival->height,
drivers/media/usb/gspca/gspca.c
1157
if (gspca_dev->cam.mode_framerates == NULL ||
drivers/media/usb/gspca/gspca.c
1158
gspca_dev->cam.mode_framerates[mode].nrates == 0)
drivers/media/usb/gspca/gspca.c
1162
gspca_dev->cam.cam_mode[mode].pixelformat)
drivers/media/usb/gspca/gspca.c
1165
for (i = 0; i < gspca_dev->cam.mode_framerates[mode].nrates; i++) {
drivers/media/usb/gspca/gspca.c
117
static int gspca_input_connect(struct gspca_dev *dev)
drivers/media/usb/gspca/gspca.c
1170
gspca_dev->cam.mode_framerates[mode].rates[i];
drivers/media/usb/gspca/gspca.c
1180
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/gspca.c
1181
container_of(v4l2_device, struct gspca_dev, v4l2_dev);
drivers/media/usb/gspca/gspca.c
1183
v4l2_ctrl_handler_free(gspca_dev->vdev.ctrl_handler);
drivers/media/usb/gspca/gspca.c
1184
v4l2_device_unregister(&gspca_dev->v4l2_dev);
drivers/media/usb/gspca/gspca.c
1185
kfree(gspca_dev->usb_buf);
drivers/media/usb/gspca/gspca.c
1186
kfree(gspca_dev);
drivers/media/usb/gspca/gspca.c
1192
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1194
strscpy((char *)cap->driver, gspca_dev->sd_desc->name,
drivers/media/usb/gspca/gspca.c
1196
if (gspca_dev->dev->product != NULL) {
drivers/media/usb/gspca/gspca.c
1197
strscpy((char *)cap->card, gspca_dev->dev->product,
drivers/media/usb/gspca/gspca.c
1202
le16_to_cpu(gspca_dev->dev->descriptor.idVendor),
drivers/media/usb/gspca/gspca.c
1203
le16_to_cpu(gspca_dev->dev->descriptor.idProduct));
drivers/media/usb/gspca/gspca.c
1205
usb_make_path(gspca_dev->dev, (char *) cap->bus_info,
drivers/media/usb/gspca/gspca.c
1213
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1218
input->status = gspca_dev->cam.input_flags;
drivers/media/usb/gspca/gspca.c
1219
strscpy(input->name, gspca_dev->sd_desc->name,
drivers/media/usb/gspca/gspca.c
1240
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1242
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1243
return gspca_dev->sd_desc->get_jcomp(gspca_dev, jpegcomp);
drivers/media/usb/gspca/gspca.c
1249
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
1251
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1252
return gspca_dev->sd_desc->set_jcomp(gspca_dev, jpegcomp);
drivers/media/usb/gspca/gspca.c
1258
struct gspca_dev *gspca_dev = video_drvdata(filp);
drivers/media/usb/gspca/gspca.c
1260
parm->parm.capture.readbuffers = gspca_dev->queue.min_queued_buffers;
drivers/media/usb/gspca/gspca.c
1262
if (!gspca_dev->sd_desc->get_streamparm)
drivers/media/usb/gspca/gspca.c
1266
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1267
gspca_dev->sd_desc->get_streamparm(gspca_dev, parm);
drivers/media/usb/gspca/gspca.c
1268
return gspca_dev->usb_err;
drivers/media/usb/gspca/gspca.c
1274
struct gspca_dev *gspca_dev = video_drvdata(filp);
drivers/media/usb/gspca/gspca.c
1276
parm->parm.capture.readbuffers = gspca_dev->queue.min_queued_buffers;
drivers/media/usb/gspca/gspca.c
1278
if (!gspca_dev->sd_desc->set_streamparm) {
drivers/media/usb/gspca/gspca.c
1284
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1285
gspca_dev->sd_desc->set_streamparm(gspca_dev, parm);
drivers/media/usb/gspca/gspca.c
1286
return gspca_dev->usb_err;
drivers/media/usb/gspca/gspca.c
1293
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vq);
drivers/media/usb/gspca/gspca.c
1294
unsigned int size = PAGE_ALIGN(gspca_dev->pixfmt.sizeimage);
drivers/media/usb/gspca/gspca.c
1305
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/usb/gspca/gspca.c
1306
unsigned long size = PAGE_ALIGN(gspca_dev->pixfmt.sizeimage);
drivers/media/usb/gspca/gspca.c
1309
gspca_err(gspca_dev, "buffer too small (%lu < %lu)\n",
drivers/media/usb/gspca/gspca.c
1318
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/usb/gspca/gspca.c
1320
if (!gspca_dev->sd_desc->dq_callback)
drivers/media/usb/gspca/gspca.c
1323
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1324
if (gspca_dev->present)
drivers/media/usb/gspca/gspca.c
1325
gspca_dev->sd_desc->dq_callback(gspca_dev);
drivers/media/usb/gspca/gspca.c
1330
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/usb/gspca/gspca.c
1334
spin_lock_irqsave(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
1335
list_add_tail(&buf->list, &gspca_dev->buf_list);
drivers/media/usb/gspca/gspca.c
1336
spin_unlock_irqrestore(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
1339
static void gspca_return_all_buffers(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
1345
spin_lock_irqsave(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
1346
list_for_each_entry_safe(buf, node, &gspca_dev->buf_list, list) {
drivers/media/usb/gspca/gspca.c
1350
spin_unlock_irqrestore(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
1355
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vq);
drivers/media/usb/gspca/gspca.c
1358
gspca_dev->sequence = 0;
drivers/media/usb/gspca/gspca.c
1360
ret = gspca_init_transfer(gspca_dev);
drivers/media/usb/gspca/gspca.c
1362
gspca_return_all_buffers(gspca_dev, VB2_BUF_STATE_QUEUED);
drivers/media/usb/gspca/gspca.c
1368
struct gspca_dev *gspca_dev = vb2_get_drv_priv(vq);
drivers/media/usb/gspca/gspca.c
1370
gspca_stream_off(gspca_dev);
drivers/media/usb/gspca/gspca.c
1373
gspca_return_all_buffers(gspca_dev, VB2_BUF_STATE_ERROR);
drivers/media/usb/gspca/gspca.c
1448
struct gspca_dev *gspca_dev;
drivers/media/usb/gspca/gspca.c
1457
if (dev_size < sizeof *gspca_dev)
drivers/media/usb/gspca/gspca.c
1458
dev_size = sizeof *gspca_dev;
drivers/media/usb/gspca/gspca.c
1459
gspca_dev = kzalloc(dev_size, GFP_KERNEL);
drivers/media/usb/gspca/gspca.c
1460
if (!gspca_dev) {
drivers/media/usb/gspca/gspca.c
1464
gspca_dev->usb_buf = kzalloc(USB_BUF_SZ, GFP_KERNEL);
drivers/media/usb/gspca/gspca.c
1465
if (!gspca_dev->usb_buf) {
drivers/media/usb/gspca/gspca.c
1470
gspca_dev->dev = dev;
drivers/media/usb/gspca/gspca.c
1471
gspca_dev->iface = intf->cur_altsetting->desc.bInterfaceNumber;
drivers/media/usb/gspca/gspca.c
1472
gspca_dev->xfer_ep = -1;
drivers/media/usb/gspca/gspca.c
1485
gspca_dev->audio = 1;
drivers/media/usb/gspca/gspca.c
1491
gspca_dev->v4l2_dev.release = gspca_release;
drivers/media/usb/gspca/gspca.c
1492
ret = v4l2_device_register(&intf->dev, &gspca_dev->v4l2_dev);
drivers/media/usb/gspca/gspca.c
1495
gspca_dev->present = true;
drivers/media/usb/gspca/gspca.c
1496
gspca_dev->sd_desc = sd_desc;
drivers/media/usb/gspca/gspca.c
1497
gspca_dev->empty_packet = -1; /* don't check the empty packets */
drivers/media/usb/gspca/gspca.c
1498
gspca_dev->vdev = gspca_template;
drivers/media/usb/gspca/gspca.c
1499
gspca_dev->vdev.v4l2_dev = &gspca_dev->v4l2_dev;
drivers/media/usb/gspca/gspca.c
1500
gspca_dev->vdev.device_caps = V4L2_CAP_VIDEO_CAPTURE |
drivers/media/usb/gspca/gspca.c
1502
video_set_drvdata(&gspca_dev->vdev, gspca_dev);
drivers/media/usb/gspca/gspca.c
1503
gspca_dev->module = module;
drivers/media/usb/gspca/gspca.c
1505
mutex_init(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1506
gspca_dev->vdev.lock = &gspca_dev->usb_lock;
drivers/media/usb/gspca/gspca.c
1507
init_waitqueue_head(&gspca_dev->wq);
drivers/media/usb/gspca/gspca.c
1510
q = &gspca_dev->queue;
drivers/media/usb/gspca/gspca.c
1513
q->drv_priv = gspca_dev;
drivers/media/usb/gspca/gspca.c
1519
q->lock = &gspca_dev->usb_lock;
drivers/media/usb/gspca/gspca.c
1523
gspca_dev->vdev.queue = q;
drivers/media/usb/gspca/gspca.c
1525
INIT_LIST_HEAD(&gspca_dev->buf_list);
drivers/media/usb/gspca/gspca.c
1526
spin_lock_init(&gspca_dev->qlock);
drivers/media/usb/gspca/gspca.c
1529
ret = sd_desc->config(gspca_dev, id);
drivers/media/usb/gspca/gspca.c
1532
ret = sd_desc->init(gspca_dev);
drivers/media/usb/gspca/gspca.c
1536
ret = sd_desc->init_controls(gspca_dev);
drivers/media/usb/gspca/gspca.c
1539
gspca_set_default_mode(gspca_dev);
drivers/media/usb/gspca/gspca.c
154
static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
1541
ret = gspca_input_connect(gspca_dev);
drivers/media/usb/gspca/gspca.c
1546
if (!gspca_dev->sd_desc->get_register)
drivers/media/usb/gspca/gspca.c
1547
v4l2_disable_ioctl(&gspca_dev->vdev, VIDIOC_DBG_G_REGISTER);
drivers/media/usb/gspca/gspca.c
1548
if (!gspca_dev->sd_desc->set_register)
drivers/media/usb/gspca/gspca.c
1549
v4l2_disable_ioctl(&gspca_dev->vdev, VIDIOC_DBG_S_REGISTER);
drivers/media/usb/gspca/gspca.c
1551
if (!gspca_dev->sd_desc->get_jcomp)
drivers/media/usb/gspca/gspca.c
1552
v4l2_disable_ioctl(&gspca_dev->vdev, VIDIOC_G_JPEGCOMP);
drivers/media/usb/gspca/gspca.c
1553
if (!gspca_dev->sd_desc->set_jcomp)
drivers/media/usb/gspca/gspca.c
1554
v4l2_disable_ioctl(&gspca_dev->vdev, VIDIOC_S_JPEGCOMP);
drivers/media/usb/gspca/gspca.c
1557
ret = video_register_device(&gspca_dev->vdev,
drivers/media/usb/gspca/gspca.c
1565
usb_set_intfdata(intf, gspca_dev);
drivers/media/usb/gspca/gspca.c
1566
gspca_dbg(gspca_dev, D_PROBE, "%s created\n",
drivers/media/usb/gspca/gspca.c
1567
video_device_node_name(&gspca_dev->vdev));
drivers/media/usb/gspca/gspca.c
1569
gspca_input_create_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
1574
if (gspca_dev->input_dev)
drivers/media/usb/gspca/gspca.c
1575
input_unregister_device(gspca_dev->input_dev);
drivers/media/usb/gspca/gspca.c
1577
v4l2_ctrl_handler_free(gspca_dev->vdev.ctrl_handler);
drivers/media/usb/gspca/gspca.c
1578
v4l2_device_unregister(&gspca_dev->v4l2_dev);
drivers/media/usb/gspca/gspca.c
1580
sd_desc->probe_error(gspca_dev);
drivers/media/usb/gspca/gspca.c
1581
kfree(gspca_dev->usb_buf);
drivers/media/usb/gspca/gspca.c
1582
kfree(gspca_dev);
drivers/media/usb/gspca/gspca.c
1620
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
drivers/media/usb/gspca/gspca.c
1625
gspca_dbg(gspca_dev, D_PROBE, "%s disconnect\n",
drivers/media/usb/gspca/gspca.c
1626
video_device_node_name(&gspca_dev->vdev));
drivers/media/usb/gspca/gspca.c
1628
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1629
gspca_dev->present = false;
drivers/media/usb/gspca/gspca.c
1630
destroy_urbs(gspca_dev);
drivers/media/usb/gspca/gspca.c
1631
gspca_input_destroy_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
1633
vb2_queue_error(&gspca_dev->queue);
drivers/media/usb/gspca/gspca.c
1636
input_dev = gspca_dev->input_dev;
drivers/media/usb/gspca/gspca.c
1638
gspca_dev->input_dev = NULL;
drivers/media/usb/gspca/gspca.c
1643
v4l2_device_disconnect(&gspca_dev->v4l2_dev);
drivers/media/usb/gspca/gspca.c
1644
video_unregister_device(&gspca_dev->vdev);
drivers/media/usb/gspca/gspca.c
1646
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1649
v4l2_device_put(&gspca_dev->v4l2_dev);
drivers/media/usb/gspca/gspca.c
1656
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
drivers/media/usb/gspca/gspca.c
1658
gspca_input_destroy_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
166
gspca_dbg(gspca_dev, D_CONF, "found int in endpoint: 0x%x, buffer_len=%u, interval=%u\n",
drivers/media/usb/gspca/gspca.c
1660
if (!vb2_start_streaming_called(&gspca_dev->queue))
drivers/media/usb/gspca/gspca.c
1663
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1664
gspca_dev->frozen = 1; /* avoid urb error messages */
drivers/media/usb/gspca/gspca.c
1665
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1666
if (gspca_dev->sd_desc->stopN)
drivers/media/usb/gspca/gspca.c
1667
gspca_dev->sd_desc->stopN(gspca_dev);
drivers/media/usb/gspca/gspca.c
1668
destroy_urbs(gspca_dev);
drivers/media/usb/gspca/gspca.c
1669
gspca_set_alt0(gspca_dev);
drivers/media/usb/gspca/gspca.c
1670
if (gspca_dev->sd_desc->stop0)
drivers/media/usb/gspca/gspca.c
1671
gspca_dev->sd_desc->stop0(gspca_dev);
drivers/media/usb/gspca/gspca.c
1672
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1680
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
drivers/media/usb/gspca/gspca.c
1683
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
1684
gspca_dev->frozen = 0;
drivers/media/usb/gspca/gspca.c
1685
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
1686
gspca_dev->sd_desc->init(gspca_dev);
drivers/media/usb/gspca/gspca.c
169
dev = gspca_dev->dev;
drivers/media/usb/gspca/gspca.c
1692
streaming = vb2_start_streaming_called(&gspca_dev->queue);
drivers/media/usb/gspca/gspca.c
1694
ret = gspca_init_transfer(gspca_dev);
drivers/media/usb/gspca/gspca.c
1696
gspca_input_create_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
1697
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/gspca.c
186
int_irq, (void *)gspca_dev, interval);
drivers/media/usb/gspca/gspca.c
190
gspca_err(gspca_dev, "submit int URB failed with error %i\n",
drivers/media/usb/gspca/gspca.c
194
gspca_dev->int_urb = urb;
drivers/media/usb/gspca/gspca.c
208
static void gspca_input_create_urb(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
215
if (gspca_dev->sd_desc->int_pkt_scan) {
drivers/media/usb/gspca/gspca.c
216
intf = usb_ifnum_to_if(gspca_dev->dev, gspca_dev->iface);
drivers/media/usb/gspca/gspca.c
223
alloc_and_submit_int_urb(gspca_dev, ep);
drivers/media/usb/gspca/gspca.c
230
static void gspca_input_destroy_urb(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
234
urb = gspca_dev->int_urb;
drivers/media/usb/gspca/gspca.c
236
gspca_dev->int_urb = NULL;
drivers/media/usb/gspca/gspca.c
238
usb_free_coherent(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
246
static inline void gspca_input_destroy_urb(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
250
static inline void gspca_input_create_urb(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
254
static inline int gspca_input_connect(struct gspca_dev *dev)
drivers/media/usb/gspca/gspca.c
263
static void fill_frame(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
274
if (gspca_dev->frozen)
drivers/media/usb/gspca/gspca.c
277
gspca_err(gspca_dev, "urb status: %d\n", urb->status);
drivers/media/usb/gspca/gspca.c
281
pkt_scan = gspca_dev->sd_desc->pkt_scan;
drivers/media/usb/gspca/gspca.c
288
gspca_dbg(gspca_dev, D_PACK, "ISOC data error: [%d] len=%d, status=%d\n",
drivers/media/usb/gspca/gspca.c
290
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/gspca.c
294
if (gspca_dev->empty_packet == 0)
drivers/media/usb/gspca/gspca.c
295
gspca_dev->empty_packet = 1;
drivers/media/usb/gspca/gspca.c
300
gspca_dbg(gspca_dev, D_PACK, "packet [%d] o:%d l:%d\n",
drivers/media/usb/gspca/gspca.c
304
pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/gspca.c
308
if (!gspca_dev->streaming)
drivers/media/usb/gspca/gspca.c
323
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
drivers/media/usb/gspca/gspca.c
325
gspca_dbg(gspca_dev, D_PACK, "isoc irq\n");
drivers/media/usb/gspca/gspca.c
326
if (!gspca_dev->streaming)
drivers/media/usb/gspca/gspca.c
328
fill_frame(gspca_dev, urb);
drivers/media/usb/gspca/gspca.c
336
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
drivers/media/usb/gspca/gspca.c
339
gspca_dbg(gspca_dev, D_PACK, "bulk irq\n");
drivers/media/usb/gspca/gspca.c
340
if (!gspca_dev->streaming)
drivers/media/usb/gspca/gspca.c
349
if (gspca_dev->frozen)
drivers/media/usb/gspca/gspca.c
352
gspca_err(gspca_dev, "urb status: %d\n", urb->status);
drivers/media/usb/gspca/gspca.c
357
gspca_dbg(gspca_dev, D_PACK, "packet l:%d\n", urb->actual_length);
drivers/media/usb/gspca/gspca.c
358
gspca_dev->sd_desc->pkt_scan(gspca_dev,
drivers/media/usb/gspca/gspca.c
363
if (!gspca_dev->streaming)
drivers/media/usb/gspca/gspca.c
366
if (gspca_dev->cam.bulk_nurbs != 0) {
drivers/media/usb/gspca/gspca.c
384
void gspca_frame_add(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
392
gspca_dbg(gspca_dev, D_PACK, "add t:%d l:%d\n", packet_type, len);
drivers/media/usb/gspca/gspca.c
394
spin_lock_irqsave(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
395
buf = list_first_entry_or_null(&gspca_dev->buf_list,
drivers/media/usb/gspca/gspca.c
397
spin_unlock_irqrestore(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
402
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/gspca.c
403
gspca_dev->sequence++;
drivers/media/usb/gspca/gspca.c
406
gspca_dev->image = vb2_plane_vaddr(&buf->vb.vb2_buf, 0);
drivers/media/usb/gspca/gspca.c
407
gspca_dev->image_len = 0;
drivers/media/usb/gspca/gspca.c
409
switch (gspca_dev->last_packet_type) {
drivers/media/usb/gspca/gspca.c
412
gspca_dev->last_packet_type = packet_type;
drivers/media/usb/gspca/gspca.c
413
gspca_dev->image = NULL;
drivers/media/usb/gspca/gspca.c
414
gspca_dev->image_len = 0;
drivers/media/usb/gspca/gspca.c
424
if (gspca_dev->image_len + len > PAGE_ALIGN(gspca_dev->pixfmt.sizeimage)) {
drivers/media/usb/gspca/gspca.c
425
gspca_err(gspca_dev, "frame overflow %d > %d\n",
drivers/media/usb/gspca/gspca.c
426
gspca_dev->image_len + len,
drivers/media/usb/gspca/gspca.c
427
PAGE_ALIGN(gspca_dev->pixfmt.sizeimage));
drivers/media/usb/gspca/gspca.c
436
memcpy(gspca_dev->image + gspca_dev->image_len,
drivers/media/usb/gspca/gspca.c
438
gspca_dev->image_len += len;
drivers/media/usb/gspca/gspca.c
441
gspca_dev->last_packet_type = packet_type;
drivers/media/usb/gspca/gspca.c
447
if (gspca_dev->image_len > gspca_dev->pixfmt.sizeimage)
drivers/media/usb/gspca/gspca.c
448
gspca_dev->image_len = gspca_dev->pixfmt.sizeimage;
drivers/media/usb/gspca/gspca.c
449
spin_lock_irqsave(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
451
spin_unlock_irqrestore(&gspca_dev->qlock, flags);
drivers/media/usb/gspca/gspca.c
454
gspca_dev->image_len);
drivers/media/usb/gspca/gspca.c
455
buf->vb.sequence = gspca_dev->sequence++;
drivers/media/usb/gspca/gspca.c
457
gspca_dbg(gspca_dev, D_FRAM, "frame complete len:%d\n",
drivers/media/usb/gspca/gspca.c
458
gspca_dev->image_len);
drivers/media/usb/gspca/gspca.c
460
gspca_dev->image = NULL;
drivers/media/usb/gspca/gspca.c
461
gspca_dev->image_len = 0;
drivers/media/usb/gspca/gspca.c
466
static void destroy_urbs(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
471
gspca_dbg(gspca_dev, D_STREAM, "kill transfer\n");
drivers/media/usb/gspca/gspca.c
478
usb_kill_urb(gspca_dev->urb[i]);
drivers/media/usb/gspca/gspca.c
480
gspca_dbg(gspca_dev, D_STREAM, "releasing urbs\n");
drivers/media/usb/gspca/gspca.c
482
urb = gspca_dev->urb[i];
drivers/media/usb/gspca/gspca.c
485
gspca_dev->urb[i] = NULL;
drivers/media/usb/gspca/gspca.c
486
usb_free_coherent(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
494
static int gspca_set_alt0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
498
if (gspca_dev->alt == 0)
drivers/media/usb/gspca/gspca.c
500
ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 0);
drivers/media/usb/gspca/gspca.c
53
static void PDEBUG_MODE(struct gspca_dev *gspca_dev, int debug, char *txt,
drivers/media/usb/gspca/gspca.c
531
static u32 which_bandwidth(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
536
bandwidth = gspca_dev->pixfmt.sizeimage;
drivers/media/usb/gspca/gspca.c
539
if (!gspca_dev->cam.needs_full_bandwidth &&
drivers/media/usb/gspca/gspca.c
540
bandwidth < gspca_dev->pixfmt.width *
drivers/media/usb/gspca/gspca.c
541
gspca_dev->pixfmt.height)
drivers/media/usb/gspca/gspca.c
545
if (gspca_dev->sd_desc->get_streamparm) {
drivers/media/usb/gspca/gspca.c
548
gspca_dev->sd_desc->get_streamparm(gspca_dev, &parm);
drivers/media/usb/gspca/gspca.c
555
if (gspca_dev->pixfmt.width >= 640
drivers/media/usb/gspca/gspca.c
556
&& gspca_dev->dev->speed == USB_SPEED_FULL)
drivers/media/usb/gspca/gspca.c
562
gspca_dbg(gspca_dev, D_STREAM, "min bandwidth: %d\n", bandwidth);
drivers/media/usb/gspca/gspca.c
57
gspca_dbg(gspca_dev, debug, "%s %c%c%c%c %dx%d\n",
drivers/media/usb/gspca/gspca.c
577
static int build_isoc_ep_tb(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
598
gspca_dev->xfer_ep);
drivers/media/usb/gspca/gspca.c
608
if (gspca_dev->dev->speed == USB_SPEED_HIGH
drivers/media/usb/gspca/gspca.c
609
|| gspca_dev->dev->speed >= USB_SPEED_SUPER)
drivers/media/usb/gspca/gspca.c
622
gspca_dbg(gspca_dev, D_STREAM, "alt %d bandwidth %d\n",
drivers/media/usb/gspca/gspca.c
637
if (gspca_dev->audio &&
drivers/media/usb/gspca/gspca.c
638
gspca_dev->dev->speed == USB_SPEED_FULL &&
drivers/media/usb/gspca/gspca.c
641
gspca_dbg(gspca_dev, D_STREAM, "dev has usb audio, skipping highest alt\n");
drivers/media/usb/gspca/gspca.c
647
bandwidth = which_bandwidth(gspca_dev);
drivers/media/usb/gspca/gspca.c
65
gspca_dbg(gspca_dev, debug, "%s 0x%08x %dx%d\n",
drivers/media/usb/gspca/gspca.c
661
static int create_urbs(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
670
if (!gspca_dev->cam.bulk) { /* isoc */
drivers/media/usb/gspca/gspca.c
673
if (gspca_dev->pkt_size == 0)
drivers/media/usb/gspca/gspca.c
676
psize = gspca_dev->pkt_size;
drivers/media/usb/gspca/gspca.c
677
npkt = gspca_dev->cam.npkt;
drivers/media/usb/gspca/gspca.c
681
gspca_dbg(gspca_dev, D_STREAM,
drivers/media/usb/gspca/gspca.c
687
bsize = gspca_dev->cam.bulk_size;
drivers/media/usb/gspca/gspca.c
690
gspca_dbg(gspca_dev, D_STREAM, "bulk bsize:%d\n", bsize);
drivers/media/usb/gspca/gspca.c
691
if (gspca_dev->cam.bulk_nurbs != 0)
drivers/media/usb/gspca/gspca.c
692
nurbs = gspca_dev->cam.bulk_nurbs;
drivers/media/usb/gspca/gspca.c
701
gspca_dev->urb[n] = urb;
drivers/media/usb/gspca/gspca.c
702
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
711
urb->dev = gspca_dev->dev;
drivers/media/usb/gspca/gspca.c
712
urb->context = gspca_dev;
drivers/media/usb/gspca/gspca.c
715
urb->pipe = usb_rcvisocpipe(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
727
urb->pipe = usb_rcvbulkpipe(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
737
static void gspca_stream_off(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
739
gspca_dev->streaming = false;
drivers/media/usb/gspca/gspca.c
740
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
741
if (gspca_dev->sd_desc->stopN)
drivers/media/usb/gspca/gspca.c
742
gspca_dev->sd_desc->stopN(gspca_dev);
drivers/media/usb/gspca/gspca.c
743
destroy_urbs(gspca_dev);
drivers/media/usb/gspca/gspca.c
744
gspca_input_destroy_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
745
gspca_set_alt0(gspca_dev);
drivers/media/usb/gspca/gspca.c
746
if (gspca_dev->present)
drivers/media/usb/gspca/gspca.c
747
gspca_input_create_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
748
if (gspca_dev->sd_desc->stop0)
drivers/media/usb/gspca/gspca.c
749
gspca_dev->sd_desc->stop0(gspca_dev);
drivers/media/usb/gspca/gspca.c
750
gspca_dbg(gspca_dev, D_STREAM, "stream off OK\n");
drivers/media/usb/gspca/gspca.c
756
static int gspca_init_transfer(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
765
gspca_dev->image = NULL;
drivers/media/usb/gspca/gspca.c
766
gspca_dev->image_len = 0;
drivers/media/usb/gspca/gspca.c
767
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/gspca.c
769
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
772
intf = usb_ifnum_to_if(gspca_dev->dev, gspca_dev->iface);
drivers/media/usb/gspca/gspca.c
773
gspca_dev->alt = gspca_dev->cam.bulk ? intf->num_altsetting : 0;
drivers/media/usb/gspca/gspca.c
774
if (gspca_dev->sd_desc->isoc_init) {
drivers/media/usb/gspca/gspca.c
775
ret = gspca_dev->sd_desc->isoc_init(gspca_dev);
drivers/media/usb/gspca/gspca.c
779
xfer = gspca_dev->cam.bulk ? USB_ENDPOINT_XFER_BULK
drivers/media/usb/gspca/gspca.c
783
if (gspca_dev->alt != 0) {
drivers/media/usb/gspca/gspca.c
784
gspca_dev->alt--; /* (previous version compatibility) */
drivers/media/usb/gspca/gspca.c
785
ep = alt_xfer(&intf->altsetting[gspca_dev->alt], xfer,
drivers/media/usb/gspca/gspca.c
786
gspca_dev->xfer_ep);
drivers/media/usb/gspca/gspca.c
788
pr_err("bad altsetting %d\n", gspca_dev->alt);
drivers/media/usb/gspca/gspca.c
791
ep_tb[0].alt = gspca_dev->alt;
drivers/media/usb/gspca/gspca.c
796
alt_idx = build_isoc_ep_tb(gspca_dev, intf, ep_tb);
drivers/media/usb/gspca/gspca.c
805
gspca_input_destroy_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
807
gspca_dev->alt = ep_tb[--alt_idx].alt;
drivers/media/usb/gspca/gspca.c
810
if (alt != gspca_dev->alt) {
drivers/media/usb/gspca/gspca.c
811
alt = gspca_dev->alt;
drivers/media/usb/gspca/gspca.c
813
ret = usb_set_interface(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
814
gspca_dev->iface,
drivers/media/usb/gspca/gspca.c
82
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
drivers/media/usb/gspca/gspca.c
824
if (!gspca_dev->cam.no_urb_create) {
drivers/media/usb/gspca/gspca.c
825
gspca_dbg(gspca_dev, D_STREAM, "init transfer alt %d\n",
drivers/media/usb/gspca/gspca.c
827
ret = create_urbs(gspca_dev,
drivers/media/usb/gspca/gspca.c
829
gspca_dev->xfer_ep));
drivers/media/usb/gspca/gspca.c
831
destroy_urbs(gspca_dev);
drivers/media/usb/gspca/gspca.c
837
if (gspca_dev->cam.bulk)
drivers/media/usb/gspca/gspca.c
838
usb_clear_halt(gspca_dev->dev,
drivers/media/usb/gspca/gspca.c
839
gspca_dev->urb[0]->pipe);
drivers/media/usb/gspca/gspca.c
842
ret = gspca_dev->sd_desc->start(gspca_dev);
drivers/media/usb/gspca/gspca.c
844
destroy_urbs(gspca_dev);
drivers/media/usb/gspca/gspca.c
847
v4l2_ctrl_handler_setup(gspca_dev->vdev.ctrl_handler);
drivers/media/usb/gspca/gspca.c
848
gspca_dev->streaming = true;
drivers/media/usb/gspca/gspca.c
851
if (gspca_dev->cam.bulk && gspca_dev->cam.bulk_nurbs == 0)
drivers/media/usb/gspca/gspca.c
856
urb = gspca_dev->urb[n];
drivers/media/usb/gspca/gspca.c
868
gspca_stream_off(gspca_dev);
drivers/media/usb/gspca/gspca.c
871
gspca_dev->alt, ret);
drivers/media/usb/gspca/gspca.c
878
gspca_err(gspca_dev, "alt %d - bandwidth not wide enough, trying again\n",
drivers/media/usb/gspca/gspca.c
88
if (gspca_dev->sd_desc->int_pkt_scan(gspca_dev,
drivers/media/usb/gspca/gspca.c
881
if (gspca_dev->sd_desc->isoc_nego) {
drivers/media/usb/gspca/gspca.c
882
ret = gspca_dev->sd_desc->isoc_nego(gspca_dev);
drivers/media/usb/gspca/gspca.c
891
gspca_dev->alt = ep_tb[--alt_idx].alt;
drivers/media/usb/gspca/gspca.c
895
gspca_input_create_urb(gspca_dev);
drivers/media/usb/gspca/gspca.c
899
static void gspca_set_default_mode(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/gspca.c
90
gspca_err(gspca_dev, "Unknown packet received\n");
drivers/media/usb/gspca/gspca.c
903
i = gspca_dev->cam.nmodes - 1; /* take the highest mode */
drivers/media/usb/gspca/gspca.c
904
gspca_dev->curr_mode = i;
drivers/media/usb/gspca/gspca.c
905
gspca_dev->pixfmt = gspca_dev->cam.cam_mode[i];
drivers/media/usb/gspca/gspca.c
908
v4l2_ctrl_handler_setup(gspca_dev->vdev.ctrl_handler);
drivers/media/usb/gspca/gspca.c
911
static int wxh_to_mode(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
916
for (i = 0; i < gspca_dev->cam.nmodes; i++) {
drivers/media/usb/gspca/gspca.c
917
if (width == gspca_dev->cam.cam_mode[i].width
drivers/media/usb/gspca/gspca.c
918
&& height == gspca_dev->cam.cam_mode[i].height
drivers/media/usb/gspca/gspca.c
919
&& pixelformat == gspca_dev->cam.cam_mode[i].pixelformat)
drivers/media/usb/gspca/gspca.c
925
static int wxh_to_nearest_mode(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
930
for (i = gspca_dev->cam.nmodes; --i >= 0; ) {
drivers/media/usb/gspca/gspca.c
931
if (width >= gspca_dev->cam.cam_mode[i].width
drivers/media/usb/gspca/gspca.c
932
&& height >= gspca_dev->cam.cam_mode[i].height
drivers/media/usb/gspca/gspca.c
933
&& pixelformat == gspca_dev->cam.cam_mode[i].pixelformat)
drivers/media/usb/gspca/gspca.c
936
for (i = gspca_dev->cam.nmodes; --i > 0; ) {
drivers/media/usb/gspca/gspca.c
937
if (width >= gspca_dev->cam.cam_mode[i].width
drivers/media/usb/gspca/gspca.c
938
&& height >= gspca_dev->cam.cam_mode[i].height)
drivers/media/usb/gspca/gspca.c
947
static int gspca_get_mode(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.c
954
while ((modeU < gspca_dev->cam.nmodes) || modeD >= 0) {
drivers/media/usb/gspca/gspca.c
956
if (gspca_dev->cam.cam_mode[modeD].pixelformat
drivers/media/usb/gspca/gspca.c
960
if (++modeU < gspca_dev->cam.nmodes) {
drivers/media/usb/gspca/gspca.c
961
if (gspca_dev->cam.cam_mode[modeU].pixelformat
drivers/media/usb/gspca/gspca.c
973
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
975
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
976
if (gspca_dev->sd_desc->get_chip_info)
drivers/media/usb/gspca/gspca.c
977
return gspca_dev->sd_desc->get_chip_info(gspca_dev, chip);
drivers/media/usb/gspca/gspca.c
984
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
986
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
987
return gspca_dev->sd_desc->get_register(gspca_dev, reg);
drivers/media/usb/gspca/gspca.c
993
struct gspca_dev *gspca_dev = video_drvdata(file);
drivers/media/usb/gspca/gspca.c
995
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/gspca.c
996
return gspca_dev->sd_desc->set_register(gspca_dev, reg);
drivers/media/usb/gspca/gspca.h
230
void gspca_frame_add(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.h
238
int gspca_expo_autogain(struct gspca_dev *gspca_dev, int avg_lum,
drivers/media/usb/gspca/gspca.h
240
int gspca_coarse_grained_expo_autogain(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.h
31
#define gspca_dbg(gspca_dev, level, fmt, ...) \
drivers/media/usb/gspca/gspca.h
32
v4l2_dbg(level, gspca_debug, &(gspca_dev)->v4l2_dev, \
drivers/media/usb/gspca/gspca.h
35
#define gspca_err(gspca_dev, fmt, ...) \
drivers/media/usb/gspca/gspca.h
36
v4l2_err(&(gspca_dev)->v4l2_dev, fmt, ##__VA_ARGS__)
drivers/media/usb/gspca/gspca.h
70
struct gspca_dev;
drivers/media/usb/gspca/gspca.h
74
typedef int (*cam_op) (struct gspca_dev *);
drivers/media/usb/gspca/gspca.h
75
typedef void (*cam_v_op) (struct gspca_dev *);
drivers/media/usb/gspca/gspca.h
76
typedef int (*cam_cf_op) (struct gspca_dev *, const struct usb_device_id *);
drivers/media/usb/gspca/gspca.h
77
typedef int (*cam_get_jpg_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
79
typedef int (*cam_set_jpg_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
81
typedef int (*cam_get_reg_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
83
typedef int (*cam_set_reg_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
85
typedef int (*cam_chip_info_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
87
typedef void (*cam_streamparm_op) (struct gspca_dev *,
drivers/media/usb/gspca/gspca.h
89
typedef void (*cam_pkt_op) (struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.h
92
typedef int (*cam_int_pkt_op) (struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.h
95
typedef void (*cam_format_op) (struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/gspca.h
97
typedef int (*cam_frmsize_op) (struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jeilinj.c
104
static void jlj_read1(struct gspca_dev *gspca_dev, unsigned char *response)
drivers/media/usb/gspca/jeilinj.c
108
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/jeilinj.c
110
retval = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jeilinj.c
111
usb_rcvbulkpipe(gspca_dev->dev, 0x84),
drivers/media/usb/gspca/jeilinj.c
112
gspca_dev->usb_buf, 1, NULL, 500);
drivers/media/usb/gspca/jeilinj.c
113
*response = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/jeilinj.c
116
gspca_dev->usb_buf[0], retval);
drivers/media/usb/gspca/jeilinj.c
117
gspca_dev->usb_err = retval;
drivers/media/usb/gspca/jeilinj.c
121
static void setfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
130
jlj_write2(gspca_dev, freq_commands[0]);
drivers/media/usb/gspca/jeilinj.c
131
jlj_write2(gspca_dev, freq_commands[1]);
drivers/media/usb/gspca/jeilinj.c
134
static void setcamquality(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
147
jlj_write2(gspca_dev, quality_commands[0]);
drivers/media/usb/gspca/jeilinj.c
148
jlj_write2(gspca_dev, quality_commands[1]);
drivers/media/usb/gspca/jeilinj.c
151
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
160
jlj_write2(gspca_dev, autogain_commands[0]);
drivers/media/usb/gspca/jeilinj.c
161
jlj_write2(gspca_dev, autogain_commands[1]);
drivers/media/usb/gspca/jeilinj.c
164
static void setred(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
173
jlj_write2(gspca_dev, setred_commands[0]);
drivers/media/usb/gspca/jeilinj.c
174
jlj_write2(gspca_dev, setred_commands[1]);
drivers/media/usb/gspca/jeilinj.c
177
static void setgreen(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
186
jlj_write2(gspca_dev, setgreen_commands[0]);
drivers/media/usb/gspca/jeilinj.c
187
jlj_write2(gspca_dev, setgreen_commands[1]);
drivers/media/usb/gspca/jeilinj.c
190
static void setblue(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/jeilinj.c
199
jlj_write2(gspca_dev, setblue_commands[0]);
drivers/media/usb/gspca/jeilinj.c
200
jlj_write2(gspca_dev, setblue_commands[1]);
drivers/media/usb/gspca/jeilinj.c
203
static int jlj_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jeilinj.c
208
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
213
{{0x71, 0x81 - gspca_dev->curr_mode}, 0, 0},
drivers/media/usb/gspca/jeilinj.c
246
jlj_write2(gspca_dev, start_commands[i].instruction);
drivers/media/usb/gspca/jeilinj.c
250
jlj_read1(gspca_dev, &response);
drivers/media/usb/gspca/jeilinj.c
252
setcamquality(gspca_dev, v4l2_ctrl_g_ctrl(sd->jpegqual));
drivers/media/usb/gspca/jeilinj.c
254
setfreq(gspca_dev, v4l2_ctrl_g_ctrl(sd->freq));
drivers/media/usb/gspca/jeilinj.c
255
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/jeilinj.c
256
gspca_err(gspca_dev, "Start streaming command failed\n");
drivers/media/usb/gspca/jeilinj.c
257
return gspca_dev->usb_err;
drivers/media/usb/gspca/jeilinj.c
260
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jeilinj.c
263
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
267
gspca_dbg(gspca_dev, D_STREAM, "Got %d bytes out of %d for Block 0\n",
drivers/media/usb/gspca/jeilinj.c
270
gspca_dbg(gspca_dev, D_PACK, "bad length\n");
drivers/media/usb/gspca/jeilinj.c
277
gspca_dbg(gspca_dev, D_STREAM, "blocks_left = 0x%x\n",
drivers/media/usb/gspca/jeilinj.c
280
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/jeilinj.c
283
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/jeilinj.c
287
gspca_dbg(gspca_dev, D_STREAM, "%d blocks remaining for frame\n",
drivers/media/usb/gspca/jeilinj.c
294
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/jeilinj.c
301
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/jeilinj.c
305
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jeilinj.c
308
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/jeilinj.c
309
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
322
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jeilinj.c
335
usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jeilinj.c
336
gspca_dev->urb[0]->pipe,
drivers/media/usb/gspca/jeilinj.c
337
gspca_dev->urb[0]->transfer_buffer,
drivers/media/usb/gspca/jeilinj.c
343
buf = gspca_dev->urb[0]->transfer_buffer;
drivers/media/usb/gspca/jeilinj.c
354
jlj_write2(gspca_dev, stop_commands[i]);
drivers/media/usb/gspca/jeilinj.c
358
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jeilinj.c
360
return gspca_dev->usb_err;
drivers/media/usb/gspca/jeilinj.c
364
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jeilinj.c
366
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
369
jpeg_define(dev->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/jeilinj.c
370
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/jeilinj.c
373
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at %dx%d\n",
drivers/media/usb/gspca/jeilinj.c
374
gspca_dev->pixfmt.height, gspca_dev->pixfmt.width);
drivers/media/usb/gspca/jeilinj.c
375
jlj_start(gspca_dev);
drivers/media/usb/gspca/jeilinj.c
376
return gspca_dev->usb_err;
drivers/media/usb/gspca/jeilinj.c
390
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/jeilinj.c
391
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/jeilinj.c
392
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/jeilinj.c
394
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/jeilinj.c
396
if (!gspca_dev->streaming)
drivers/media/usb/gspca/jeilinj.c
401
setfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
404
setred(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
407
setgreen(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
410
setblue(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
413
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
417
setcamquality(gspca_dev, ctrl->val);
drivers/media/usb/gspca/jeilinj.c
420
return gspca_dev->usb_err;
drivers/media/usb/gspca/jeilinj.c
427
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jeilinj.c
429
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/jeilinj.c
430
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/jeilinj.c
441
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/jeilinj.c
46
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/jeilinj.c
465
static int sd_set_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jeilinj.c
468
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
474
static int sd_get_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jeilinj.c
477
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jeilinj.c
86
static void jlj_write2(struct gspca_dev *gspca_dev, unsigned char *command)
drivers/media/usb/gspca/jeilinj.c
90
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/jeilinj.c
92
memcpy(gspca_dev->usb_buf, command, 2);
drivers/media/usb/gspca/jeilinj.c
93
retval = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jeilinj.c
94
usb_sndbulkpipe(gspca_dev->dev, 3),
drivers/media/usb/gspca/jeilinj.c
95
gspca_dev->usb_buf, 2, NULL, 500);
drivers/media/usb/gspca/jeilinj.c
98
gspca_dev->usb_buf[0], retval);
drivers/media/usb/gspca/jeilinj.c
99
gspca_dev->usb_err = retval;
drivers/media/usb/gspca/jl2005bcd.c
103
static int jl2005c_read_reg(struct gspca_dev *gspca_dev, unsigned char reg)
drivers/media/usb/gspca/jl2005bcd.c
111
retval = jl2005c_write2(gspca_dev, instruction);
drivers/media/usb/gspca/jl2005bcd.c
114
retval = jl2005c_read1(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
119
static int jl2005c_start_new_frame(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
127
retval = jl2005c_write2(gspca_dev, instruction);
drivers/media/usb/gspca/jl2005bcd.c
134
retval = jl2005c_read_reg(gspca_dev, 0x7e);
drivers/media/usb/gspca/jl2005bcd.c
137
frame_brightness = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/jl2005bcd.c
138
retval = jl2005c_read_reg(gspca_dev, 0x7d);
drivers/media/usb/gspca/jl2005bcd.c
143
gspca_dbg(gspca_dev, D_FRAM, "frame_brightness is 0x%02x\n",
drivers/media/usb/gspca/jl2005bcd.c
144
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/jl2005bcd.c
148
static int jl2005c_write_reg(struct gspca_dev *gspca_dev, unsigned char reg,
drivers/media/usb/gspca/jl2005bcd.c
157
retval = jl2005c_write2(gspca_dev, instruction);
drivers/media/usb/gspca/jl2005bcd.c
164
static int jl2005c_get_firmware_id(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
166
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/jl2005bcd.c
173
gspca_dbg(gspca_dev, D_PROBE, "Running jl2005c_get_firmware_id\n");
drivers/media/usb/gspca/jl2005bcd.c
175
retval = jl2005c_read_reg(gspca_dev, regs_to_read[0]);
drivers/media/usb/gspca/jl2005bcd.c
176
gspca_dbg(gspca_dev, D_PROBE, "response is %02x\n",
drivers/media/usb/gspca/jl2005bcd.c
177
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/jl2005bcd.c
182
retval = jl2005c_read_reg(gspca_dev, regs_to_read[i]);
drivers/media/usb/gspca/jl2005bcd.c
185
sd->firmware_id[i] = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/jl2005bcd.c
187
gspca_dbg(gspca_dev, D_PROBE, "firmware ID is %02x%02x%02x%02x%02x%02x\n",
drivers/media/usb/gspca/jl2005bcd.c
198
(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
213
retval = jl2005c_write2(gspca_dev, instruction[i]);
drivers/media/usb/gspca/jl2005bcd.c
221
static int jl2005c_stream_start_vga_small(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
236
retval = jl2005c_write2(gspca_dev, instruction[i]);
drivers/media/usb/gspca/jl2005bcd.c
244
static int jl2005c_stream_start_cif_lg(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
259
retval = jl2005c_write2(gspca_dev, instruction[i]);
drivers/media/usb/gspca/jl2005bcd.c
267
static int jl2005c_stream_start_cif_small(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
282
retval = jl2005c_write2(gspca_dev, instruction[i]);
drivers/media/usb/gspca/jl2005bcd.c
291
static int jl2005c_stop(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
293
return jl2005c_write_reg(gspca_dev, 0x07, 0x00);
drivers/media/usb/gspca/jl2005bcd.c
30
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/jl2005bcd.c
307
struct gspca_dev *gspca_dev = &dev->gspca_dev;
drivers/media/usb/gspca/jl2005bcd.c
323
while (gspca_dev->present && gspca_dev->streaming) {
drivers/media/usb/gspca/jl2005bcd.c
325
if (gspca_dev->frozen)
drivers/media/usb/gspca/jl2005bcd.c
330
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
331
ret = jl2005c_start_new_frame(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
332
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
335
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jl2005bcd.c
336
usb_rcvbulkpipe(gspca_dev->dev, 0x82),
drivers/media/usb/gspca/jl2005bcd.c
339
gspca_dbg(gspca_dev, D_PACK,
drivers/media/usb/gspca/jl2005bcd.c
352
gspca_dbg(gspca_dev, D_PACK, "bytes_left = 0x%x\n",
drivers/media/usb/gspca/jl2005bcd.c
356
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/jl2005bcd.c
360
while (bytes_left > 0 && gspca_dev->present) {
drivers/media/usb/gspca/jl2005bcd.c
363
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jl2005bcd.c
364
usb_rcvbulkpipe(gspca_dev->dev, 0x82),
drivers/media/usb/gspca/jl2005bcd.c
369
gspca_dbg(gspca_dev, D_PACK,
drivers/media/usb/gspca/jl2005bcd.c
378
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/jl2005bcd.c
383
if (gspca_dev->present) {
drivers/media/usb/gspca/jl2005bcd.c
384
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
385
jl2005c_stop(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
386
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
395
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/jl2005bcd.c
399
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jl2005bcd.c
401
cam = &gspca_dev->cam;
drivers/media/usb/gspca/jl2005bcd.c
406
jl2005c_get_firmware_id(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
435
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
440
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
443
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jl2005bcd.c
444
sd->cap_mode = gspca_dev->cam.cam_mode;
drivers/media/usb/gspca/jl2005bcd.c
446
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/jl2005bcd.c
448
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at vga resolution\n");
drivers/media/usb/gspca/jl2005bcd.c
449
jl2005c_stream_start_vga_lg(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
452
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at qvga resolution\n");
drivers/media/usb/gspca/jl2005bcd.c
453
jl2005c_stream_start_vga_small(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
456
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at cif resolution\n");
drivers/media/usb/gspca/jl2005bcd.c
457
jl2005c_stream_start_cif_lg(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
460
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at qcif resolution\n");
drivers/media/usb/gspca/jl2005bcd.c
461
jl2005c_stream_start_cif_small(gspca_dev);
drivers/media/usb/gspca/jl2005bcd.c
475
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
477
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/jl2005bcd.c
480
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
483
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/jl2005bcd.c
74
static int jl2005c_write2(struct gspca_dev *gspca_dev, unsigned char *command)
drivers/media/usb/gspca/jl2005bcd.c
78
memcpy(gspca_dev->usb_buf, command, 2);
drivers/media/usb/gspca/jl2005bcd.c
79
retval = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jl2005bcd.c
80
usb_sndbulkpipe(gspca_dev->dev, 3),
drivers/media/usb/gspca/jl2005bcd.c
81
gspca_dev->usb_buf, 2, NULL, 500);
drivers/media/usb/gspca/jl2005bcd.c
84
gspca_dev->usb_buf[0], retval);
drivers/media/usb/gspca/jl2005bcd.c
89
static int jl2005c_read1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/jl2005bcd.c
93
retval = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/jl2005bcd.c
94
usb_rcvbulkpipe(gspca_dev->dev, 0x84),
drivers/media/usb/gspca/jl2005bcd.c
95
gspca_dev->usb_buf, 1, NULL, 500);
drivers/media/usb/gspca/jl2005bcd.c
98
gspca_dev->usb_buf[0], retval);
drivers/media/usb/gspca/kinect.c
120
static int send_cmd(struct gspca_dev *gspca_dev, uint16_t cmd, void *cmdbuf,
drivers/media/usb/gspca/kinect.c
123
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/kinect.c
124
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/kinect.c
145
gspca_dbg(gspca_dev, D_USBO, "Control cmd=%04x tag=%04x len=%04x: %d\n",
drivers/media/usb/gspca/kinect.c
156
gspca_dbg(gspca_dev, D_USBO, "Control reply: %d\n", actual_len);
drivers/media/usb/gspca/kinect.c
198
static int write_register(struct gspca_dev *gspca_dev, uint16_t reg,
drivers/media/usb/gspca/kinect.c
208
gspca_dbg(gspca_dev, D_USBO, "Write Reg 0x%04x <= 0x%02x\n", reg, data);
drivers/media/usb/gspca/kinect.c
209
res = send_cmd(gspca_dev, 0x03, cmd, 4, reply, 4);
drivers/media/usb/gspca/kinect.c
220
static int sd_config_video(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/kinect.c
223
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/kinect.c
230
cam = &gspca_dev->cam;
drivers/media/usb/gspca/kinect.c
235
gspca_dev->xfer_ep = 0x81;
drivers/media/usb/gspca/kinect.c
240
gspca_dev->pkt_size = 960 * 2;
drivers/media/usb/gspca/kinect.c
246
static int sd_config_depth(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/kinect.c
249
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/kinect.c
256
cam = &gspca_dev->cam;
drivers/media/usb/gspca/kinect.c
261
gspca_dev->xfer_ep = 0x82;
drivers/media/usb/gspca/kinect.c
267
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/kinect.c
269
gspca_dbg(gspca_dev, D_PROBE, "Kinect Camera device.\n");
drivers/media/usb/gspca/kinect.c
274
static int sd_start_video(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/kinect.c
282
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/kinect.c
314
write_register(gspca_dev, 0x105, 0x00);
drivers/media/usb/gspca/kinect.c
317
write_register(gspca_dev, 0x05, 0x00);
drivers/media/usb/gspca/kinect.c
327
write_register(gspca_dev, 0x13, 0x01);
drivers/media/usb/gspca/kinect.c
328
write_register(gspca_dev, 0x14, 0x1e);
drivers/media/usb/gspca/kinect.c
329
write_register(gspca_dev, 0x06, 0x02);
drivers/media/usb/gspca/kinect.c
330
write_register(gspca_dev, 0x06, 0x00);
drivers/media/usb/gspca/kinect.c
333
write_register(gspca_dev, fmt_reg, fmt_val);
drivers/media/usb/gspca/kinect.c
334
write_register(gspca_dev, res_reg, res_val);
drivers/media/usb/gspca/kinect.c
335
write_register(gspca_dev, fps_reg, fps_val);
drivers/media/usb/gspca/kinect.c
338
write_register(gspca_dev, 0x05, mode_val);
drivers/media/usb/gspca/kinect.c
341
write_register(gspca_dev, 0x47, 0x00);
drivers/media/usb/gspca/kinect.c
346
static int sd_start_depth(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/kinect.c
349
write_register(gspca_dev, 0x105, 0x00);
drivers/media/usb/gspca/kinect.c
352
write_register(gspca_dev, 0x06, 0x00);
drivers/media/usb/gspca/kinect.c
354
write_register(gspca_dev, 0x12, 0x02);
drivers/media/usb/gspca/kinect.c
356
write_register(gspca_dev, 0x13, 0x01);
drivers/media/usb/gspca/kinect.c
358
write_register(gspca_dev, 0x14, 0x1e);
drivers/media/usb/gspca/kinect.c
360
write_register(gspca_dev, 0x06, 0x02);
drivers/media/usb/gspca/kinect.c
362
write_register(gspca_dev, 0x17, 0x00);
drivers/media/usb/gspca/kinect.c
367
static void sd_stopN_video(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/kinect.c
370
write_register(gspca_dev, 0x05, 0x00);
drivers/media/usb/gspca/kinect.c
373
static void sd_stopN_depth(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/kinect.c
376
write_register(gspca_dev, 0x06, 0x00);
drivers/media/usb/gspca/kinect.c
379
static void sd_pkt_scan(struct gspca_dev *gspca_dev, u8 *__data, int len)
drivers/media/usb/gspca/kinect.c
381
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/kinect.c
401
gspca_frame_add(gspca_dev, FIRST_PACKET, data, datalen);
drivers/media/usb/gspca/kinect.c
404
gspca_frame_add(gspca_dev, INTER_PACKET, data, datalen);
drivers/media/usb/gspca/kinect.c
407
gspca_frame_add(gspca_dev, LAST_PACKET, data, datalen);
drivers/media/usb/gspca/kinect.c
48
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/konica.c
101
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/konica.c
104
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/konica.c
111
gspca_dev->usb_buf,
drivers/media/usb/gspca/konica.c
116
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/konica.c
121
memset(gspca_dev->usb_buf, 0, 2);
drivers/media/usb/gspca/konica.c
125
static void konica_stream_on(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
127
reg_w(gspca_dev, 1, 0x0b);
drivers/media/usb/gspca/konica.c
130
static void konica_stream_off(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
132
reg_w(gspca_dev, 0, 0x0b);
drivers/media/usb/gspca/konica.c
136
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/konica.c
139
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/konica.c
140
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/konica.c
141
gspca_dev->cam.no_urb_create = 1;
drivers/media/usb/gspca/konica.c
147
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
158
reg_r(gspca_dev, 0, 0x10);
drivers/media/usb/gspca/konica.c
159
if (gspca_dev->usb_buf[0] == 3)
drivers/media/usb/gspca/konica.c
163
reg_w(gspca_dev, 0, 0x0d);
drivers/media/usb/gspca/konica.c
165
return gspca_dev->usb_err;
drivers/media/usb/gspca/konica.c
168
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
170
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/konica.c
176
intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface);
drivers/media/usb/gspca/konica.c
177
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
drivers/media/usb/gspca/konica.c
188
n = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/konica.c
189
reg_w(gspca_dev, n, 0x08);
drivers/media/usb/gspca/konica.c
191
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
193
if (gspca_dev->usb_err)
drivers/media/usb/gspca/konica.c
194
return gspca_dev->usb_err;
drivers/media/usb/gspca/konica.c
208
gspca_dev->urb[n] = urb;
drivers/media/usb/gspca/konica.c
209
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
drivers/media/usb/gspca/konica.c
218
urb->dev = gspca_dev->dev;
drivers/media/usb/gspca/konica.c
219
urb->context = gspca_dev;
drivers/media/usb/gspca/konica.c
221
urb->pipe = usb_rcvisocpipe(gspca_dev->dev,
drivers/media/usb/gspca/konica.c
237
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
239
struct sd *sd __maybe_unused = (struct sd *) gspca_dev;
drivers/media/usb/gspca/konica.c
241
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
246
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/konica.c
247
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/konica.c
256
struct gspca_dev *gspca_dev = (struct gspca_dev *) urb->context;
drivers/media/usb/gspca/konica.c
257
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/konica.c
262
gspca_dbg(gspca_dev, D_PACK, "sd isoc irq\n");
drivers/media/usb/gspca/konica.c
263
if (!gspca_dev->streaming)
drivers/media/usb/gspca/konica.c
270
if (gspca_dev->frozen)
drivers/media/usb/gspca/konica.c
273
gspca_err(gspca_dev, "urb status: %d\n", urb->status);
drivers/media/usb/gspca/konica.c
291
gspca_err(gspca_dev, "lost sync on frames\n");
drivers/media/usb/gspca/konica.c
296
gspca_err(gspca_dev, "no packets does not match, data: %d, status: %d\n",
drivers/media/usb/gspca/konica.c
305
gspca_err(gspca_dev, "pkt %d data-status %d, status-status %d\n",
drivers/media/usb/gspca/konica.c
309
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/konica.c
314
gspca_err(gspca_dev, "bad status packet length %d\n",
drivers/media/usb/gspca/konica.c
316
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/konica.c
336
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/konica.c
337
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/konica.c
342
input_report_key(gspca_dev->input_dev,
drivers/media/usb/gspca/konica.c
345
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/konica.c
352
gspca_frame_add(gspca_dev, INTER_PACKET, data,
drivers/media/usb/gspca/konica.c
360
gspca_err(gspca_dev, "usb_submit_urb(data_urb) ret %d\n",
drivers/media/usb/gspca/konica.c
365
gspca_err(gspca_dev, "usb_submit_urb(status_urb) ret %d\n", st);
drivers/media/usb/gspca/konica.c
37
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/konica.c
370
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/konica.c
371
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/konica.c
373
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/konica.c
375
if (!gspca_dev->streaming)
drivers/media/usb/gspca/konica.c
380
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
381
reg_w(gspca_dev, ctrl->val, BRIGHTNESS_REG);
drivers/media/usb/gspca/konica.c
382
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
385
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
386
reg_w(gspca_dev, ctrl->val, CONTRAST_REG);
drivers/media/usb/gspca/konica.c
387
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
390
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
391
reg_w(gspca_dev, ctrl->val, SATURATION_REG);
drivers/media/usb/gspca/konica.c
392
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
395
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
396
reg_w(gspca_dev, ctrl->val, WHITEBAL_REG);
drivers/media/usb/gspca/konica.c
397
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
400
konica_stream_off(gspca_dev);
drivers/media/usb/gspca/konica.c
401
reg_w(gspca_dev, ctrl->val, SHARPNESS_REG);
drivers/media/usb/gspca/konica.c
402
konica_stream_on(gspca_dev);
drivers/media/usb/gspca/konica.c
405
return gspca_dev->usb_err;
drivers/media/usb/gspca/konica.c
412
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/konica.c
414
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/konica.c
416
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/konica.c
77
static void reg_w(struct gspca_dev *gspca_dev, u16 value, u16 index)
drivers/media/usb/gspca/konica.c
79
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/konica.c
82
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/konica.c
95
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/konica.c
99
static void reg_r(struct gspca_dev *gspca_dev, u16 value, u16 index)
drivers/media/usb/gspca/m5602/m5602_bridge.h
115
struct gspca_dev gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
114
struct gspca_dev *gspca_dev = (struct gspca_dev *) sd;
drivers/media/usb/gspca/m5602/m5602_core.c
153
gspca_dbg(gspca_dev, D_CONF, "Reading sensor register 0x%x containing 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_core.c
164
struct gspca_dev *gspca_dev = (struct gspca_dev *) sd;
drivers/media/usb/gspca/m5602/m5602_core.c
165
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/m5602/m5602_core.c
166
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/m5602/m5602_core.c
186
gspca_dbg(gspca_dev, D_CONF, "Writing sensor register 0x%x with 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_core.c
255
static int m5602_configure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_core.c
258
static int m5602_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_core.c
260
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
263
gspca_dbg(gspca_dev, D_CONF, "Initializing ALi m5602 webcam\n");
drivers/media/usb/gspca/m5602/m5602_core.c
270
static int m5602_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_core.c
272
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
280
static int m5602_start_transfer(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_core.c
282
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
283
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/m5602/m5602_core.c
293
err = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/m5602/m5602_core.c
294
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/m5602/m5602_core.c
298
gspca_dbg(gspca_dev, D_STREAM, "Transfer started\n");
drivers/media/usb/gspca/m5602/m5602_core.c
302
static void m5602_urb_complete(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_core.c
305
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
308
gspca_dbg(gspca_dev, D_PACK, "Packet is less than 6 bytes\n");
drivers/media/usb/gspca/m5602/m5602_core.c
315
gspca_dbg(gspca_dev, D_FRAM, "Frame delimiter detected\n");
drivers/media/usb/gspca/m5602/m5602_core.c
323
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/m5602/m5602_core.c
328
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/m5602/m5602_core.c
330
gspca_dbg(gspca_dev, D_FRAM, "Starting new frame %d\n",
drivers/media/usb/gspca/m5602/m5602_core.c
336
cur_frame_len = gspca_dev->image_len;
drivers/media/usb/gspca/m5602/m5602_core.c
341
if (cur_frame_len + len <= gspca_dev->pixfmt.sizeimage) {
drivers/media/usb/gspca/m5602/m5602_core.c
342
gspca_dbg(gspca_dev, D_FRAM, "Continuing frame %d copying %d bytes\n",
drivers/media/usb/gspca/m5602/m5602_core.c
345
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/m5602/m5602_core.c
349
gspca_frame_add(gspca_dev, INTER_PACKET, data,
drivers/media/usb/gspca/m5602/m5602_core.c
350
gspca_dev->pixfmt.sizeimage - cur_frame_len);
drivers/media/usb/gspca/m5602/m5602_core.c
355
static void m5602_stop_transfer(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_core.c
357
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
376
static int m5602_configure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_core.c
379
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
383
cam = &gspca_dev->cam;
drivers/media/usb/gspca/m5602/m5602_core.c
396
gspca_err(gspca_dev, "ALi m5602 webcam failed\n");
drivers/media/usb/gspca/m5602/m5602_core.c
412
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
drivers/media/usb/gspca/m5602/m5602_core.c
413
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_core.c
55
struct gspca_dev *gspca_dev = (struct gspca_dev *) sd;
drivers/media/usb/gspca/m5602/m5602_core.c
56
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/m5602/m5602_core.c
57
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/m5602/m5602_core.c
65
gspca_dbg(gspca_dev, D_CONF, "Reading bridge register 0x%x containing 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_core.c
77
struct gspca_dev *gspca_dev = (struct gspca_dev *) sd;
drivers/media/usb/gspca/m5602/m5602_core.c
78
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/m5602/m5602_core.c
79
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/m5602/m5602_core.c
81
gspca_dbg(gspca_dev, D_CONF, "Writing bridge register 0x%x with 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
199
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
211
gspca_dbg(gspca_dev, D_PROBE, "Probing for a mt9m111 sensor\n");
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
240
sd->gspca_dev.cam.cam_mode = mt9m111_modes;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
241
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(mt9m111_modes);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
274
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
276
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
314
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
315
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
317
int width = cam->cam_mode[sd->gspca_dev.curr_mode].width - 1;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
318
int height = cam->cam_mode[sd->gspca_dev.curr_mode].height;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
376
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for VGA mode\n");
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
380
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for QVGA mode\n");
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
391
static int mt9m111_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
395
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
399
gspca_dbg(gspca_dev, D_CONF, "Set hvflip to %d %d\n",
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
412
if (gspca_dev->pixfmt.width == 640) {
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
426
static int mt9m111_set_auto_white_balance(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
429
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
441
gspca_dbg(gspca_dev, D_CONF, "Set auto white balance %d\n", val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
445
static int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
449
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
474
gspca_dbg(gspca_dev, D_CONF, "tmp=%d, data[1]=%d, data[0]=%d\n", tmp,
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
483
static int mt9m111_set_green_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
487
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
492
gspca_dbg(gspca_dev, D_CONF, "Set green balance %d\n", val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
502
static int mt9m111_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
505
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
510
gspca_dbg(gspca_dev, D_CONF, "Set blue balance %d\n", val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
516
static int mt9m111_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
519
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
524
gspca_dbg(gspca_dev, D_CONF, "Set red balance %d\n", val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
532
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
533
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
534
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
537
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
542
err = mt9m111_set_auto_white_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
545
err = mt9m111_set_green_balance(gspca_dev, sd->green_bal->val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
548
err = mt9m111_set_red_balance(gspca_dev, sd->red_bal->val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
551
err = mt9m111_set_blue_balance(gspca_dev, sd->blue_bal->val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
554
err = mt9m111_set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_mt9m111.c
557
err = mt9m111_set_hvflip(gspca_dev);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
240
sd->gspca_dev.cam.cam_mode = ov7660_modes;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
241
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(ov7660_modes);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
275
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
277
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
323
static int ov7660_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov7660.c
327
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
329
gspca_dbg(gspca_dev, D_CONF, "Setting gain to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
335
static int ov7660_set_auto_white_balance(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_ov7660.c
340
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
342
gspca_dbg(gspca_dev, D_CONF, "Set auto white balance to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
354
static int ov7660_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov7660.c
358
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
360
gspca_dbg(gspca_dev, D_CONF, "Set auto gain control to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
371
static int ov7660_set_auto_exposure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_ov7660.c
376
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
378
gspca_dbg(gspca_dev, D_CONF, "Set auto exposure control to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
390
static int ov7660_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_ov7660.c
394
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
396
gspca_dbg(gspca_dev, D_CONF, "Set hvflip to %d, %d\n",
drivers/media/usb/gspca/m5602/m5602_ov7660.c
408
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_ov7660.c
409
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
410
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov7660.c
413
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_ov7660.c
418
err = ov7660_set_auto_white_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
421
err = ov7660_set_auto_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
424
err = ov7660_set_auto_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
427
err = ov7660_set_gain(gspca_dev, sd->gain->val);
drivers/media/usb/gspca/m5602/m5602_ov7660.c
430
err = ov7660_set_hvflip(gspca_dev);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
298
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
310
gspca_dbg(gspca_dev, D_PROBE, "Probing for an ov9650 sensor\n");
drivers/media/usb/gspca/m5602/m5602_ov9650.c
339
sd->gspca_dev.cam.cam_mode = ov9650_modes;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
340
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(ov9650_modes);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
367
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
369
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
414
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
416
int width = cam->cam_mode[sd->gspca_dev.curr_mode].width;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
417
int height = cam->cam_mode[sd->gspca_dev.curr_mode].height;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
418
int ver_offs = cam->cam_mode[sd->gspca_dev.curr_mode].priv;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
420
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
504
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for VGA mode\n");
drivers/media/usb/gspca/m5602/m5602_ov9650.c
512
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for CIF mode\n");
drivers/media/usb/gspca/m5602/m5602_ov9650.c
520
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for QVGA mode\n");
drivers/media/usb/gspca/m5602/m5602_ov9650.c
528
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for QCIF mode\n");
drivers/media/usb/gspca/m5602/m5602_ov9650.c
551
static int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
553
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
557
gspca_dbg(gspca_dev, D_CONF, "Set exposure to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
579
static int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
583
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
585
gspca_dbg(gspca_dev, D_CONF, "Setting gain to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
607
static int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
611
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
613
gspca_dbg(gspca_dev, D_CONF, "Set red gain to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
620
static int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
624
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
626
gspca_dbg(gspca_dev, D_CONF, "Set blue gain to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
633
static int ov9650_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
637
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
641
gspca_dbg(gspca_dev, D_CONF, "Set hvflip to %d %d\n", hflip, vflip);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
652
if (gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
658
static int ov9650_set_auto_exposure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_ov9650.c
663
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
665
gspca_dbg(gspca_dev, D_CONF, "Set auto exposure control to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
677
static int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_ov9650.c
682
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
684
gspca_dbg(gspca_dev, D_CONF, "Set auto white balance to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
696
static int ov9650_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
700
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
702
gspca_dbg(gspca_dev, D_CONF, "Set auto gain control to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
715
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_ov9650.c
716
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
717
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_ov9650.c
720
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_ov9650.c
725
err = ov9650_set_auto_white_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
728
err = ov9650_set_red_balance(gspca_dev, sd->red_bal->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
731
err = ov9650_set_blue_balance(gspca_dev, sd->blue_bal->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
734
err = ov9650_set_auto_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
737
err = ov9650_set_exposure(gspca_dev, sd->expo->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
740
err = ov9650_set_auto_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
743
err = ov9650_set_gain(gspca_dev, sd->gain->val);
drivers/media/usb/gspca/m5602/m5602_ov9650.c
746
err = ov9650_set_hvflip(gspca_dev);
drivers/media/usb/gspca/m5602/m5602_po1030.c
159
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_po1030.c
171
gspca_dbg(gspca_dev, D_PROBE, "Probing for a po1030 sensor\n");
drivers/media/usb/gspca/m5602/m5602_po1030.c
196
sd->gspca_dev.cam.cam_mode = po1030_modes;
drivers/media/usb/gspca/m5602/m5602_po1030.c
197
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(po1030_modes);
drivers/media/usb/gspca/m5602/m5602_po1030.c
239
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_po1030.c
241
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_po1030.c
282
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/m5602/m5602_po1030.c
284
int width = cam->cam_mode[sd->gspca_dev.curr_mode].width;
drivers/media/usb/gspca/m5602/m5602_po1030.c
285
int height = cam->cam_mode[sd->gspca_dev.curr_mode].height;
drivers/media/usb/gspca/m5602/m5602_po1030.c
286
int ver_offs = cam->cam_mode[sd->gspca_dev.curr_mode].priv;
drivers/media/usb/gspca/m5602/m5602_po1030.c
407
static int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_po1030.c
409
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
413
gspca_dbg(gspca_dev, D_CONF, "Set exposure to %d\n", val & 0xffff);
drivers/media/usb/gspca/m5602/m5602_po1030.c
416
gspca_dbg(gspca_dev, D_CONF, "Set exposure to high byte to 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_po1030.c
425
gspca_dbg(gspca_dev, D_CONF, "Set exposure to low byte to 0x%x\n",
drivers/media/usb/gspca/m5602/m5602_po1030.c
433
static int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_po1030.c
435
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
440
gspca_dbg(gspca_dev, D_CONF, "Set global gain to %d\n", i2c_data);
drivers/media/usb/gspca/m5602/m5602_po1030.c
446
static int po1030_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_po1030.c
448
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
452
gspca_dbg(gspca_dev, D_CONF, "Set hvflip %d %d\n",
drivers/media/usb/gspca/m5602/m5602_po1030.c
467
static int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_po1030.c
469
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
474
gspca_dbg(gspca_dev, D_CONF, "Set red gain to %d\n", i2c_data);
drivers/media/usb/gspca/m5602/m5602_po1030.c
480
static int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_po1030.c
482
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
487
gspca_dbg(gspca_dev, D_CONF, "Set blue gain to %d\n", i2c_data);
drivers/media/usb/gspca/m5602/m5602_po1030.c
494
static int po1030_set_green_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_po1030.c
496
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
501
gspca_dbg(gspca_dev, D_CONF, "Set green gain to %d\n", i2c_data);
drivers/media/usb/gspca/m5602/m5602_po1030.c
512
static int po1030_set_auto_white_balance(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_po1030.c
515
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
523
gspca_dbg(gspca_dev, D_CONF, "Set auto white balance to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
529
static int po1030_set_auto_exposure(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_po1030.c
532
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
540
gspca_dbg(gspca_dev, D_CONF, "Set auto exposure to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
553
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_po1030.c
554
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_po1030.c
555
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_po1030.c
558
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_po1030.c
563
err = po1030_set_auto_white_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
566
err = po1030_set_green_balance(gspca_dev, sd->green_bal->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
569
err = po1030_set_red_balance(gspca_dev, sd->red_bal->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
572
err = po1030_set_blue_balance(gspca_dev, sd->blue_bal->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
575
err = po1030_set_auto_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
578
err = po1030_set_exposure(gspca_dev, sd->expo->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
581
err = po1030_set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_po1030.c
584
err = po1030_set_hvflip(gspca_dev);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
343
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
356
gspca_dbg(gspca_dev, D_PROBE, "Probing for a s5k4aa sensor\n");
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
403
sd->gspca_dev.cam.cam_mode = s5k4aa_modes;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
404
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(s5k4aa_modes);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
413
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
414
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
416
switch (cam->cam_mode[sd->gspca_dev.curr_mode].width) {
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
418
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for SXGA mode\n");
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
451
gspca_dbg(gspca_dev, D_CONF, "Configuring camera for VGA mode\n");
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
529
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
531
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
561
static int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
563
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
567
gspca_dbg(gspca_dev, D_CONF, "Set exposure to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
581
static int s5k4aa_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
583
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
589
gspca_dbg(gspca_dev, D_CONF, "Set hvflip %d %d\n", hflip, vflip);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
633
static int s5k4aa_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
635
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
639
gspca_dbg(gspca_dev, D_CONF, "Set gain to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
650
static int s5k4aa_set_brightness(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
652
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
656
gspca_dbg(gspca_dev, D_CONF, "Set brightness to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
665
static int s5k4aa_set_noise(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
667
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
671
gspca_dbg(gspca_dev, D_CONF, "Set noise to %d\n", val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
682
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
683
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
686
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
691
err = s5k4aa_set_brightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
694
err = s5k4aa_set_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
697
err = s5k4aa_set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
700
err = s5k4aa_set_noise(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k4aa.c
703
err = s5k4aa_set_hvflip(gspca_dev);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
167
static int s5k83a_set_flip_real(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
174
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
186
gspca_dbg(gspca_dev, D_PROBE, "Probing for a s5k83a sensor\n");
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
214
sd->gspca_dev.cam.cam_mode = s5k83a_modes;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
215
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(s5k83a_modes);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
263
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
265
sd->gspca_dev.vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
301
if (mutex_lock_interruptible(&sd->gspca_dev.usb_lock))
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
316
s5k83a_set_flip_real((struct gspca_dev *) sd,
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
320
mutex_unlock(&sd->gspca_dev.usb_lock);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
328
s5k83a_set_flip_real((struct gspca_dev *) sd, vflip, hflip);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
381
static int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
385
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
408
static int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
411
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
417
static int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
420
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
427
static int s5k83a_set_flip_real(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
432
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
458
static int s5k83a_set_hvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
462
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
474
err = s5k83a_set_flip_real(gspca_dev, vflip, hflip);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
480
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
481
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
484
if (!gspca_dev->streaming)
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
489
err = s5k83a_set_brightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
492
err = s5k83a_set_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
495
err = s5k83a_set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/m5602/m5602_s5k83a.c
498
err = s5k83a_set_hvflip(gspca_dev);
drivers/media/usb/gspca/mars.c
101
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mars.c
103
gspca_dev->usb_buf[0] = 0x61;
drivers/media/usb/gspca/mars.c
104
gspca_dev->usb_buf[1] = val;
drivers/media/usb/gspca/mars.c
105
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
108
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mars.c
110
gspca_dev->usb_buf[0] = 0x5f;
drivers/media/usb/gspca/mars.c
111
gspca_dev->usb_buf[1] = val << 3;
drivers/media/usb/gspca/mars.c
112
gspca_dev->usb_buf[2] = ((val >> 2) & 0xf8) | 0x04;
drivers/media/usb/gspca/mars.c
113
reg_w(gspca_dev, 3);
drivers/media/usb/gspca/mars.c
116
static void setgamma(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mars.c
118
gspca_dev->usb_buf[0] = 0x06;
drivers/media/usb/gspca/mars.c
119
gspca_dev->usb_buf[1] = val * 0x40;
drivers/media/usb/gspca/mars.c
120
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
123
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mars.c
125
gspca_dev->usb_buf[0] = 0x67;
drivers/media/usb/gspca/mars.c
126
gspca_dev->usb_buf[1] = val * 4 + 3;
drivers/media/usb/gspca/mars.c
127
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
130
static void setilluminators(struct gspca_dev *gspca_dev, bool top, bool bottom)
drivers/media/usb/gspca/mars.c
133
gspca_dev->usb_buf[0] = 0x22;
drivers/media/usb/gspca/mars.c
135
gspca_dev->usb_buf[1] = 0x76;
drivers/media/usb/gspca/mars.c
137
gspca_dev->usb_buf[1] = 0x7a;
drivers/media/usb/gspca/mars.c
139
gspca_dev->usb_buf[1] = 0x7e;
drivers/media/usb/gspca/mars.c
140
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
145
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/mars.c
146
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/mars.c
147
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/mars.c
149
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/mars.c
159
if (!gspca_dev->streaming)
drivers/media/usb/gspca/mars.c
164
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mars.c
167
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mars.c
170
setgamma(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mars.c
173
setilluminators(gspca_dev, sd->illum_top->val,
drivers/media/usb/gspca/mars.c
177
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mars.c
182
return gspca_dev->usb_err;
drivers/media/usb/gspca/mars.c
190
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mars.c
192
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mars.c
193
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/mars.c
195
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/mars.c
220
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mars.c
225
cam = &gspca_dev->cam;
drivers/media/usb/gspca/mars.c
232
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mars.c
237
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mars.c
239
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mars.c
24
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/mars.c
244
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/mars.c
245
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/mars.c
249
data = gspca_dev->usb_buf;
drivers/media/usb/gspca/mars.c
253
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
261
data[3] = gspca_dev->pixfmt.width / 8; /* h_size , reg 2 */
drivers/media/usb/gspca/mars.c
262
data[4] = gspca_dev->pixfmt.height / 8; /* v_size , reg 3 */
drivers/media/usb/gspca/mars.c
275
reg_w(gspca_dev, 11);
drivers/media/usb/gspca/mars.c
280
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
289
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
303
reg_w(gspca_dev, 6);
drivers/media/usb/gspca/mars.c
309
reg_w(gspca_dev, 3);
drivers/media/usb/gspca/mars.c
315
reg_w(gspca_dev, 4);
drivers/media/usb/gspca/mars.c
319
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
324
mi_w(gspca_dev, i + 1, mi_data[i]);
drivers/media/usb/gspca/mars.c
328
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
330
setilluminators(gspca_dev, v4l2_ctrl_g_ctrl(sd->illum_top),
drivers/media/usb/gspca/mars.c
333
return gspca_dev->usb_err;
drivers/media/usb/gspca/mars.c
336
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mars.c
338
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mars.c
342
setilluminators(gspca_dev, false, false);
drivers/media/usb/gspca/mars.c
346
gspca_dev->usb_buf[0] = 1;
drivers/media/usb/gspca/mars.c
347
gspca_dev->usb_buf[1] = 0;
drivers/media/usb/gspca/mars.c
348
reg_w(gspca_dev, 2);
drivers/media/usb/gspca/mars.c
351
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mars.c
355
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mars.c
372
gspca_dbg(gspca_dev, D_PACK, "sof offset: %d len: %d\n",
drivers/media/usb/gspca/mars.c
374
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/mars.c
378
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/mars.c
38
static void setbrightness(struct gspca_dev *gspca_dev, s32 val);
drivers/media/usb/gspca/mars.c
386
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/mars.c
39
static void setcolors(struct gspca_dev *gspca_dev, s32 val);
drivers/media/usb/gspca/mars.c
40
static void setgamma(struct gspca_dev *gspca_dev, s32 val);
drivers/media/usb/gspca/mars.c
41
static void setsharpness(struct gspca_dev *gspca_dev, s32 val);
drivers/media/usb/gspca/mars.c
68
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mars.c
73
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/mars.c
76
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/mars.c
77
usb_sndbulkpipe(gspca_dev->dev, 4),
drivers/media/usb/gspca/mars.c
78
gspca_dev->usb_buf,
drivers/media/usb/gspca/mars.c
84
gspca_dev->usb_buf[0], ret);
drivers/media/usb/gspca/mars.c
85
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/mars.c
89
static void mi_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mars.c
93
gspca_dev->usb_buf[0] = 0x1f;
drivers/media/usb/gspca/mars.c
94
gspca_dev->usb_buf[1] = 0; /* control byte */
drivers/media/usb/gspca/mars.c
95
gspca_dev->usb_buf[2] = addr;
drivers/media/usb/gspca/mars.c
96
gspca_dev->usb_buf[3] = value;
drivers/media/usb/gspca/mars.c
98
reg_w(gspca_dev, 4);
drivers/media/usb/gspca/mr97310a.c
1008
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mr97310a.c
1012
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
1015
sof = pac_find_sof(gspca_dev, &sd->sof_read, data, len);
drivers/media/usb/gspca/mr97310a.c
1025
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/mr97310a.c
1028
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/mr97310a.c
1033
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/mr97310a.c
123
static int mr_write(struct gspca_dev *gspca_dev, int len)
drivers/media/usb/gspca/mr97310a.c
127
rc = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/mr97310a.c
128
usb_sndbulkpipe(gspca_dev->dev, 4),
drivers/media/usb/gspca/mr97310a.c
129
gspca_dev->usb_buf, len, NULL, 500);
drivers/media/usb/gspca/mr97310a.c
132
gspca_dev->usb_buf[0], rc);
drivers/media/usb/gspca/mr97310a.c
137
static int mr_read(struct gspca_dev *gspca_dev, int len)
drivers/media/usb/gspca/mr97310a.c
141
rc = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/mr97310a.c
142
usb_rcvbulkpipe(gspca_dev->dev, 3),
drivers/media/usb/gspca/mr97310a.c
143
gspca_dev->usb_buf, len, NULL, 500);
drivers/media/usb/gspca/mr97310a.c
146
gspca_dev->usb_buf[0], rc);
drivers/media/usb/gspca/mr97310a.c
150
static int sensor_write_reg(struct gspca_dev *gspca_dev, u8 reg, u8 flags,
drivers/media/usb/gspca/mr97310a.c
153
gspca_dev->usb_buf[0] = 0x1f;
drivers/media/usb/gspca/mr97310a.c
154
gspca_dev->usb_buf[1] = flags;
drivers/media/usb/gspca/mr97310a.c
155
gspca_dev->usb_buf[2] = reg;
drivers/media/usb/gspca/mr97310a.c
156
memcpy(gspca_dev->usb_buf + 3, data, len);
drivers/media/usb/gspca/mr97310a.c
158
return mr_write(gspca_dev, len + 3);
drivers/media/usb/gspca/mr97310a.c
161
static int sensor_write_regs(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mr97310a.c
167
rc = sensor_write_reg(gspca_dev, data[i].reg, data[i].flags,
drivers/media/usb/gspca/mr97310a.c
176
static int sensor_write1(struct gspca_dev *gspca_dev, u8 reg, u8 data)
drivers/media/usb/gspca/mr97310a.c
178
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
184
rc = sensor_write_reg(gspca_dev, reg, 0x01, &buf, 1);
drivers/media/usb/gspca/mr97310a.c
187
rc = sensor_write_reg(gspca_dev, reg, 0x00, &buf, 1);
drivers/media/usb/gspca/mr97310a.c
194
rc = sensor_write_reg(gspca_dev, confirm_reg, 0x00, &buf, 1);
drivers/media/usb/gspca/mr97310a.c
201
static int cam_get_response16(struct gspca_dev *gspca_dev, u8 reg, int verbose)
drivers/media/usb/gspca/mr97310a.c
205
gspca_dev->usb_buf[0] = reg;
drivers/media/usb/gspca/mr97310a.c
206
err_code = mr_write(gspca_dev, 1);
drivers/media/usb/gspca/mr97310a.c
210
err_code = mr_read(gspca_dev, 16);
drivers/media/usb/gspca/mr97310a.c
215
gspca_dbg(gspca_dev, D_PROBE, "Register: %02x reads %02x%02x%02x\n",
drivers/media/usb/gspca/mr97310a.c
217
gspca_dev->usb_buf[0],
drivers/media/usb/gspca/mr97310a.c
218
gspca_dev->usb_buf[1],
drivers/media/usb/gspca/mr97310a.c
219
gspca_dev->usb_buf[2]);
drivers/media/usb/gspca/mr97310a.c
224
static int zero_the_pointer(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
226
__u8 *data = gspca_dev->usb_buf;
drivers/media/usb/gspca/mr97310a.c
231
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
237
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
241
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
247
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
251
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
257
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
261
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
267
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
272
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
279
gspca_err(gspca_dev, "status is %02x\n", status);
drivers/media/usb/gspca/mr97310a.c
285
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
289
err_code = cam_get_response16(gspca_dev, 0x21, 0);
drivers/media/usb/gspca/mr97310a.c
296
err_code = mr_write(gspca_dev, 1);
drivers/media/usb/gspca/mr97310a.c
300
err_code = mr_read(gspca_dev, 16);
drivers/media/usb/gspca/mr97310a.c
307
static int stream_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
309
gspca_dev->usb_buf[0] = 0x01;
drivers/media/usb/gspca/mr97310a.c
310
gspca_dev->usb_buf[1] = 0x01;
drivers/media/usb/gspca/mr97310a.c
311
return mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
314
static void stream_stop(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
316
gspca_dev->usb_buf[0] = 0x01;
drivers/media/usb/gspca/mr97310a.c
317
gspca_dev->usb_buf[1] = 0x00;
drivers/media/usb/gspca/mr97310a.c
318
if (mr_write(gspca_dev, 2) < 0)
drivers/media/usb/gspca/mr97310a.c
319
gspca_err(gspca_dev, "Stream Stop failed\n");
drivers/media/usb/gspca/mr97310a.c
322
static void lcd_stop(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
324
gspca_dev->usb_buf[0] = 0x19;
drivers/media/usb/gspca/mr97310a.c
325
gspca_dev->usb_buf[1] = 0x54;
drivers/media/usb/gspca/mr97310a.c
326
if (mr_write(gspca_dev, 2) < 0)
drivers/media/usb/gspca/mr97310a.c
327
gspca_err(gspca_dev, "LCD Stop failed\n");
drivers/media/usb/gspca/mr97310a.c
330
static int isoc_enable(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
332
gspca_dev->usb_buf[0] = 0x00;
drivers/media/usb/gspca/mr97310a.c
333
gspca_dev->usb_buf[1] = 0x4d; /* ISOC transferring enable... */
drivers/media/usb/gspca/mr97310a.c
334
return mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
338
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/mr97310a.c
341
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
345
cam = &gspca_dev->cam;
drivers/media/usb/gspca/mr97310a.c
358
err_code = zero_the_pointer(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
362
err_code = stream_start(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
367
err_code = cam_get_response16(gspca_dev, 0x07, 1);
drivers/media/usb/gspca/mr97310a.c
395
switch (gspca_dev->usb_buf[0]) {
drivers/media/usb/gspca/mr97310a.c
404
gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/mr97310a.c
407
gspca_dbg(gspca_dev, D_PROBE, "MR97310A CIF camera detected, sensor: %d\n",
drivers/media/usb/gspca/mr97310a.c
434
if (gspca_dev->usb_buf[0] == 0x01) {
drivers/media/usb/gspca/mr97310a.c
436
} else if ((gspca_dev->usb_buf[0] != 0x03) &&
drivers/media/usb/gspca/mr97310a.c
437
(gspca_dev->usb_buf[0] != 0x04)) {
drivers/media/usb/gspca/mr97310a.c
439
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/mr97310a.c
444
if ((gspca_dev->usb_buf[0] == 0x03) &&
drivers/media/usb/gspca/mr97310a.c
445
(gspca_dev->usb_buf[1] == 0x50))
drivers/media/usb/gspca/mr97310a.c
447
if (gspca_dev->usb_buf[0] == 0x04) {
drivers/media/usb/gspca/mr97310a.c
449
switch (gspca_dev->usb_buf[1]) {
drivers/media/usb/gspca/mr97310a.c
452
gspca_dbg(gspca_dev, D_PROBE, "sensor_type corrected to 0\n");
drivers/media/usb/gspca/mr97310a.c
459
gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/mr97310a.c
464
gspca_dbg(gspca_dev, D_PROBE, "MR97310A VGA camera detected, sensor: %d\n",
drivers/media/usb/gspca/mr97310a.c
468
sd_stopN(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
472
gspca_dbg(gspca_dev, D_PROBE, "Forcing sensor type to: %d\n",
drivers/media/usb/gspca/mr97310a.c
480
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
485
static int start_cif_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
487
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
488
__u8 *data = gspca_dev->usb_buf;
drivers/media/usb/gspca/mr97310a.c
510
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/mr97310a.c
531
err_code = mr_write(gspca_dev, 11);
drivers/media/usb/gspca/mr97310a.c
554
err_code = sensor_write_regs(gspca_dev, cif_sensor0_init_data,
drivers/media/usb/gspca/mr97310a.c
576
gspca_dev->usb_buf[0] = 0x0a;
drivers/media/usb/gspca/mr97310a.c
577
gspca_dev->usb_buf[1] = 0x00;
drivers/media/usb/gspca/mr97310a.c
578
err_code = mr_write(gspca_dev, 2);
drivers/media/usb/gspca/mr97310a.c
581
err_code = sensor_write_regs(gspca_dev, cif_sensor1_init_data,
drivers/media/usb/gspca/mr97310a.c
587
static int start_vga_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
589
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
590
__u8 *data = gspca_dev->usb_buf;
drivers/media/usb/gspca/mr97310a.c
607
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/mr97310a.c
641
err_code = mr_write(gspca_dev, 11);
drivers/media/usb/gspca/mr97310a.c
654
err_code = sensor_write_regs(gspca_dev, vga_sensor0_init_data,
drivers/media/usb/gspca/mr97310a.c
683
err_code = sensor_write_regs(gspca_dev, color_adj,
drivers/media/usb/gspca/mr97310a.c
686
err_code = sensor_write_regs(gspca_dev, color_no_adj,
drivers/media/usb/gspca/mr97310a.c
692
err_code = sensor_write_regs(gspca_dev, vga_sensor1_init_data,
drivers/media/usb/gspca/mr97310a.c
73
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/mr97310a.c
734
err_code = sensor_write_regs(gspca_dev, vga_sensor2_init_data,
drivers/media/usb/gspca/mr97310a.c
740
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
742
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
751
err_code = zero_the_pointer(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
755
err_code = stream_start(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
760
err_code = start_cif_cam(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
762
err_code = start_vga_cam(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
767
return isoc_enable(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
770
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
772
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
774
stream_stop(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
776
zero_the_pointer(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
778
lcd_stop(gspca_dev);
drivers/media/usb/gspca/mr97310a.c
781
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mr97310a.c
783
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
796
sensor_write1(gspca_dev, sign_reg, 0x00);
drivers/media/usb/gspca/mr97310a.c
798
sensor_write1(gspca_dev, sign_reg, 0x01);
drivers/media/usb/gspca/mr97310a.c
805
sensor_write1(gspca_dev, value_reg, val);
drivers/media/usb/gspca/mr97310a.c
808
static void setexposure(struct gspca_dev *gspca_dev, s32 expo, s32 min_clockdiv)
drivers/media/usb/gspca/mr97310a.c
810
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
818
sensor_write1(gspca_dev, 3, exposure >> 4);
drivers/media/usb/gspca/mr97310a.c
819
sensor_write1(gspca_dev, 4, exposure & 0x0f);
drivers/media/usb/gspca/mr97310a.c
823
sensor_write1(gspca_dev, 3, exposure >> 8);
drivers/media/usb/gspca/mr97310a.c
824
sensor_write1(gspca_dev, 4, exposure & 0xff);
drivers/media/usb/gspca/mr97310a.c
836
if (clockdiv < min_clockdiv && gspca_dev->pixfmt.width >= 320)
drivers/media/usb/gspca/mr97310a.c
855
sensor_write_reg(gspca_dev, 0x0e, 0, buf, 2);
drivers/media/usb/gspca/mr97310a.c
856
sensor_write1(gspca_dev, 0x02, clockdiv);
drivers/media/usb/gspca/mr97310a.c
860
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mr97310a.c
862
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/mr97310a.c
866
sensor_write1(gspca_dev, 0x0e, val);
drivers/media/usb/gspca/mr97310a.c
869
sensor_write1(gspca_dev, gainreg, val >> 8);
drivers/media/usb/gspca/mr97310a.c
870
sensor_write1(gspca_dev, gainreg + 1, val & 0xff);
drivers/media/usb/gspca/mr97310a.c
873
sensor_write1(gspca_dev, 0x10, val);
drivers/media/usb/gspca/mr97310a.c
876
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/mr97310a.c
878
sensor_write1(gspca_dev, 0x1c, val);
drivers/media/usb/gspca/mr97310a.c
883
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/mr97310a.c
884
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/mr97310a.c
885
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/mr97310a.c
887
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/mr97310a.c
889
if (!gspca_dev->streaming)
drivers/media/usb/gspca/mr97310a.c
894
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mr97310a.c
897
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mr97310a.c
900
setexposure(gspca_dev, sd->exposure->val,
drivers/media/usb/gspca/mr97310a.c
904
setgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/mr97310a.c
907
return gspca_dev->usb_err;
drivers/media/usb/gspca/mr97310a.c
914
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/mr97310a.c
916
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/mr97310a.c
917
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/mr97310a.c
92
static void sd_stopN(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/mr97310a.c
936
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/nw80x.c
1526
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1531
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/nw80x.c
1534
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/nw80x.c
1537
gspca_dbg(gspca_dev, D_USBO, "SET 00 0000 %04x %02x\n",
drivers/media/usb/gspca/nw80x.c
1540
gspca_dbg(gspca_dev, D_USBO, "SET 00 0000 %04x %02x %02x ...\n",
drivers/media/usb/gspca/nw80x.c
1542
memcpy(gspca_dev->usb_buf, data, len);
drivers/media/usb/gspca/nw80x.c
1548
gspca_dev->usb_buf,
drivers/media/usb/gspca/nw80x.c
1553
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/nw80x.c
1558
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1562
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/nw80x.c
1565
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/nw80x.c
1571
gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/nw80x.c
1574
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/nw80x.c
1579
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/nw80x.c
1583
gspca_dbg(gspca_dev, D_USBI, "GET 00 0000 %04x %02x\n",
drivers/media/usb/gspca/nw80x.c
1584
index, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/nw80x.c
1586
gspca_dbg(gspca_dev, D_USBI, "GET 00 0000 %04x %02x %02x ..\n",
drivers/media/usb/gspca/nw80x.c
1587
index, gspca_dev->usb_buf[0],
drivers/media/usb/gspca/nw80x.c
1588
gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/nw80x.c
1591
static void i2c_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1599
reg_w(gspca_dev, 0x0600, data + 1, len - 1);
drivers/media/usb/gspca/nw80x.c
1600
reg_w(gspca_dev, 0x0600, data, len);
drivers/media/usb/gspca/nw80x.c
1603
reg_w(gspca_dev, 0x0502, val, 2);
drivers/media/usb/gspca/nw80x.c
1605
reg_w(gspca_dev, 0x0501, val, 1);
drivers/media/usb/gspca/nw80x.c
1608
reg_r(gspca_dev, 0x0505, 1);
drivers/media/usb/gspca/nw80x.c
1609
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/nw80x.c
1611
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/nw80x.c
1614
gspca_dev->usb_err = -ETIME;
drivers/media/usb/gspca/nw80x.c
1617
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1630
reg_w(gspca_dev, reg, cmd, len);
drivers/media/usb/gspca/nw80x.c
1632
i2c_w(gspca_dev, reg, cmd, len);
drivers/media/usb/gspca/nw80x.c
1651
static void setgain(struct gspca_dev *gspca_dev, u8 val)
drivers/media/usb/gspca/nw80x.c
1653
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1658
reg_w(gspca_dev, 0x1026, &val, 1);
drivers/media/usb/gspca/nw80x.c
1665
reg_w(gspca_dev, 0x101d, v, 2); /* SIF reg0/1 (AGC) */
drivers/media/usb/gspca/nw80x.c
1670
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/nw80x.c
1672
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1678
reg_w(gspca_dev, 0x1019, v, 1);
drivers/media/usb/gspca/nw80x.c
1686
reg_w(gspca_dev, 0x101b, v, 2);
drivers/media/usb/gspca/nw80x.c
1691
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/nw80x.c
1693
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1702
reg_r(gspca_dev, 0x1004, 1);
drivers/media/usb/gspca/nw80x.c
1703
if (gspca_dev->usb_buf[0] & 0x04) { /* if AE_FULL_FRM */
drivers/media/usb/gspca/nw80x.c
1704
sd->ae_res = gspca_dev->pixfmt.width * gspca_dev->pixfmt.height;
drivers/media/usb/gspca/nw80x.c
1706
reg_r(gspca_dev, 0x1011, 8);
drivers/media/usb/gspca/nw80x.c
1707
w = (gspca_dev->usb_buf[1] << 8) + gspca_dev->usb_buf[0]
drivers/media/usb/gspca/nw80x.c
1708
- (gspca_dev->usb_buf[3] << 8) - gspca_dev->usb_buf[2];
drivers/media/usb/gspca/nw80x.c
1709
h = (gspca_dev->usb_buf[5] << 8) + gspca_dev->usb_buf[4]
drivers/media/usb/gspca/nw80x.c
1710
- (gspca_dev->usb_buf[7] << 8) - gspca_dev->usb_buf[6];
drivers/media/usb/gspca/nw80x.c
1713
sd->ae_res = gspca_dev->pixfmt.width *
drivers/media/usb/gspca/nw80x.c
1714
gspca_dev->pixfmt.height;
drivers/media/usb/gspca/nw80x.c
1718
static int nw802_test_reg(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1723
reg_w(gspca_dev, index, &value, 1);
drivers/media/usb/gspca/nw80x.c
1726
reg_r(gspca_dev, index, 1);
drivers/media/usb/gspca/nw80x.c
1728
return gspca_dev->usb_buf[0] == value;
drivers/media/usb/gspca/nw80x.c
1732
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1735
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1740
gspca_dev->cam.needs_full_bandwidth = 1;
drivers/media/usb/gspca/nw80x.c
1752
if (!nw802_test_reg(gspca_dev, 0x0500, 0x55)) {
drivers/media/usb/gspca/nw80x.c
1756
} else if (!nw802_test_reg(gspca_dev, 0x109b, 0xaa)) {
drivers/media/usb/gspca/nw80x.c
1761
reg_r(gspca_dev, 0x0403, 1); /* GPIO */
drivers/media/usb/gspca/nw80x.c
1762
gspca_dbg(gspca_dev, D_PROBE, "et31x110 sensor type %02x\n",
drivers/media/usb/gspca/nw80x.c
1763
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/nw80x.c
1764
switch (gspca_dev->usb_buf[0] >> 1) {
drivers/media/usb/gspca/nw80x.c
1782
gspca_dev->usb_err = -ENODEV;
drivers/media/usb/gspca/nw80x.c
1783
return gspca_dev->usb_err;
drivers/media/usb/gspca/nw80x.c
1785
gspca_dbg(gspca_dev, D_PROBE, "Bridge nw80%d - type: %d\n",
drivers/media/usb/gspca/nw80x.c
1791
gspca_dev->cam.cam_mode = cif_mode; /* qvga */
drivers/media/usb/gspca/nw80x.c
1794
gspca_dev->cam.cam_mode = &cif_mode[1]; /* cif */
drivers/media/usb/gspca/nw80x.c
1797
gspca_dev->cam.nmodes = 1;
drivers/media/usb/gspca/nw80x.c
1799
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/nw80x.c
1804
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/nw80x.c
1807
gspca_dev->cam.nmodes = 1; /* qvga only */
drivers/media/usb/gspca/nw80x.c
1812
return gspca_dev->usb_err;
drivers/media/usb/gspca/nw80x.c
1816
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/nw80x.c
1818
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1824
reg_w_buf(gspca_dev, spacecam_init);
drivers/media/usb/gspca/nw80x.c
1827
reg_w_buf(gspca_dev, nw800_init);
drivers/media/usb/gspca/nw80x.c
1836
reg_w_buf(gspca_dev, proscope_init);
drivers/media/usb/gspca/nw80x.c
1841
return gspca_dev->usb_err;
drivers/media/usb/gspca/nw80x.c
1845
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/nw80x.c
1847
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1851
reg_w_buf(gspca_dev, cmd);
drivers/media/usb/gspca/nw80x.c
1854
if (gspca_dev->pixfmt.width == 320)
drivers/media/usb/gspca/nw80x.c
1855
reg_w_buf(gspca_dev, nw801_start_qvga);
drivers/media/usb/gspca/nw80x.c
1857
reg_w_buf(gspca_dev, nw801_start_vga);
drivers/media/usb/gspca/nw80x.c
1858
reg_w_buf(gspca_dev, nw801_start_2);
drivers/media/usb/gspca/nw80x.c
1861
if (gspca_dev->pixfmt.width == 320)
drivers/media/usb/gspca/nw80x.c
1862
reg_w_buf(gspca_dev, kr651_start_qvga);
drivers/media/usb/gspca/nw80x.c
1864
reg_w_buf(gspca_dev, kr651_start_vga);
drivers/media/usb/gspca/nw80x.c
1865
reg_w_buf(gspca_dev, kr651_start_2);
drivers/media/usb/gspca/nw80x.c
1868
if (gspca_dev->pixfmt.width == 320)
drivers/media/usb/gspca/nw80x.c
1869
reg_w_buf(gspca_dev, proscope_start_qvga);
drivers/media/usb/gspca/nw80x.c
1871
reg_w_buf(gspca_dev, proscope_start_vga);
drivers/media/usb/gspca/nw80x.c
1872
reg_w_buf(gspca_dev, proscope_start_2);
drivers/media/usb/gspca/nw80x.c
1878
return gspca_dev->usb_err;
drivers/media/usb/gspca/nw80x.c
1881
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/nw80x.c
1883
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1889
reg_w(gspca_dev, 0x0406, &value, 1);
drivers/media/usb/gspca/nw80x.c
1912
reg_w(gspca_dev, 0x0404, &value, 1);
drivers/media/usb/gspca/nw80x.c
1915
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/nw80x.c
1928
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/nw80x.c
1929
gspca_frame_add(gspca_dev, FIRST_PACKET, data + 8, len - 8);
drivers/media/usb/gspca/nw80x.c
1931
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/nw80x.c
1935
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/nw80x.c
1937
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/nw80x.c
1947
reg_r(gspca_dev, sd->bridge == BRIDGE_NW801 ? 0x080d : 0x080c, 4);
drivers/media/usb/gspca/nw80x.c
1948
luma = (gspca_dev->usb_buf[3] << 24) + (gspca_dev->usb_buf[2] << 16)
drivers/media/usb/gspca/nw80x.c
1949
+ (gspca_dev->usb_buf[1] << 8) + gspca_dev->usb_buf[0];
drivers/media/usb/gspca/nw80x.c
1954
gspca_coarse_grained_expo_autogain(gspca_dev, luma, 100, 5);
drivers/media/usb/gspca/nw80x.c
1957
gspca_expo_autogain(gspca_dev, luma, 100, 5, 230, 0);
drivers/media/usb/gspca/nw80x.c
1965
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/nw80x.c
1966
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/nw80x.c
1968
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/nw80x.c
1970
if (!gspca_dev->streaming)
drivers/media/usb/gspca/nw80x.c
1977
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/nw80x.c
1979
if (gspca_dev->gain->is_new)
drivers/media/usb/gspca/nw80x.c
1980
setgain(gspca_dev, gspca_dev->gain->val);
drivers/media/usb/gspca/nw80x.c
1981
if (gspca_dev->exposure->is_new)
drivers/media/usb/gspca/nw80x.c
1982
setexposure(gspca_dev,
drivers/media/usb/gspca/nw80x.c
1983
gspca_dev->exposure->val);
drivers/media/usb/gspca/nw80x.c
1989
setexposure(gspca_dev, gspca_dev->exposure->val);
drivers/media/usb/gspca/nw80x.c
1992
return gspca_dev->usb_err;
drivers/media/usb/gspca/nw80x.c
1999
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/nw80x.c
2001
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/nw80x.c
2002
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/nw80x.c
2004
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/nw80x.c
2008
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2012
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2014
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2018
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2020
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2026
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/nw80x.c
2037
if (gspca_dev->autogain)
drivers/media/usb/gspca/nw80x.c
2038
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/nw80x.c
24
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/ov519.c
1991
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
1994
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2009
gspca_dbg(gspca_dev, D_USBO, "SET %02x %04x %04x\n",
drivers/media/usb/gspca/ov519.c
2011
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2012
usb_sndctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2021
gspca_dbg(gspca_dev, D_USBO, "SET %02x 0000 %04x %02x\n",
drivers/media/usb/gspca/ov519.c
2023
sd->gspca_dev.usb_buf[0] = value;
drivers/media/usb/gspca/ov519.c
2024
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2025
usb_sndctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2029
sd->gspca_dev.usb_buf, 1, 500);
drivers/media/usb/gspca/ov519.c
2032
gspca_err(gspca_dev, "reg_w %02x failed %d\n", index, ret);
drivers/media/usb/gspca/ov519.c
2033
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2042
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2046
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2063
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2064
usb_rcvctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2067
0, index, sd->gspca_dev.usb_buf, 1, 500);
drivers/media/usb/gspca/ov519.c
2070
ret = sd->gspca_dev.usb_buf[0];
drivers/media/usb/gspca/ov519.c
2071
gspca_dbg(gspca_dev, D_USBI, "GET %02x 0000 %04x %02x\n",
drivers/media/usb/gspca/ov519.c
2074
gspca_err(gspca_dev, "reg_r %02x failed %d\n", index, ret);
drivers/media/usb/gspca/ov519.c
2075
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2080
gspca_dev->usb_buf[0] = 0;
drivers/media/usb/gspca/ov519.c
2090
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2093
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2098
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2099
usb_rcvctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2102
0, index, sd->gspca_dev.usb_buf, 8, 500);
drivers/media/usb/gspca/ov519.c
2105
ret = sd->gspca_dev.usb_buf[0];
drivers/media/usb/gspca/ov519.c
2107
gspca_err(gspca_dev, "reg_r8 %02x failed %d\n", index, ret);
drivers/media/usb/gspca/ov519.c
2108
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2113
memset(gspca_dev->usb_buf, 0, 8);
drivers/media/usb/gspca/ov519.c
2151
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2154
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2157
*((__le32 *) sd->gspca_dev.usb_buf) = __cpu_to_le32(value);
drivers/media/usb/gspca/ov519.c
2161
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2162
usb_sndctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2166
sd->gspca_dev.usb_buf, n, 500);
drivers/media/usb/gspca/ov519.c
2168
gspca_err(gspca_dev, "reg_w32 %02x failed %d\n", index, ret);
drivers/media/usb/gspca/ov519.c
2169
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2175
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2178
gspca_dbg(gspca_dev, D_USBO, "ov511_i2c_w %02x %02x\n", reg, value);
drivers/media/usb/gspca/ov519.c
2201
gspca_dbg(gspca_dev, D_USBO, "i2c write retries exhausted\n");
drivers/media/usb/gspca/ov519.c
2209
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2234
gspca_dbg(gspca_dev, D_USBI, "i2c write retries exhausted\n");
drivers/media/usb/gspca/ov519.c
2258
gspca_dbg(gspca_dev, D_USBI, "i2c read retries exhausted\n");
drivers/media/usb/gspca/ov519.c
2265
gspca_dbg(gspca_dev, D_USBI, "ov511_i2c_r %02x %02x\n", reg, value);
drivers/media/usb/gspca/ov519.c
2282
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2284
gspca_dbg(gspca_dev, D_USBO, "ov518_i2c_w %02x %02x\n", reg, value);
drivers/media/usb/gspca/ov519.c
2309
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2324
gspca_dbg(gspca_dev, D_USBI, "ov518_i2c_r %02x %02x\n", reg, value);
drivers/media/usb/gspca/ov519.c
2330
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2333
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2336
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2337
usb_sndctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2343
gspca_err(gspca_dev, "ovfx2_i2c_w %02x failed %d\n", reg, ret);
drivers/media/usb/gspca/ov519.c
2344
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2347
gspca_dbg(gspca_dev, D_USBO, "ovfx2_i2c_w %02x %02x\n", reg, value);
drivers/media/usb/gspca/ov519.c
2352
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2355
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/ov519.c
2358
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/ov519.c
2359
usb_rcvctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/ov519.c
2362
0, (u16) reg, sd->gspca_dev.usb_buf, 1, 500);
drivers/media/usb/gspca/ov519.c
2365
ret = sd->gspca_dev.usb_buf[0];
drivers/media/usb/gspca/ov519.c
2366
gspca_dbg(gspca_dev, D_USBI, "ovfx2_i2c_r %02x %02x\n",
drivers/media/usb/gspca/ov519.c
2369
gspca_err(gspca_dev, "ovfx2_i2c_r %02x failed %d\n", reg, ret);
drivers/media/usb/gspca/ov519.c
2370
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/ov519.c
2399
if (sd->gspca_dev.usb_err >= 0) {
drivers/media/usb/gspca/ov519.c
2466
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2468
gspca_dbg(gspca_dev, D_STREAM, "stopping\n");
drivers/media/usb/gspca/ov519.c
2497
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2499
gspca_dbg(gspca_dev, D_STREAM, "restarting\n");
drivers/media/usb/gspca/ov519.c
2537
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2550
gspca_dbg(gspca_dev, D_PROBE, "I2C synced in %d attempt(s)\n",
drivers/media/usb/gspca/ov519.c
2618
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2622
gspca_err(gspca_dev, "error hires sensors only supported with ovfx2\n");
drivers/media/usb/gspca/ov519.c
2626
gspca_dbg(gspca_dev, D_PROBE, "starting ov hires configuration\n");
drivers/media/usb/gspca/ov519.c
2636
gspca_dbg(gspca_dev, D_PROBE, "Sensor is a OV2610\n");
drivers/media/usb/gspca/ov519.c
2640
gspca_dbg(gspca_dev, D_PROBE, "Sensor is a OV2610AE\n");
drivers/media/usb/gspca/ov519.c
2644
gspca_dbg(gspca_dev, D_PROBE, "Sensor is a OV9600\n");
drivers/media/usb/gspca/ov519.c
2651
gspca_dbg(gspca_dev, D_PROBE, "Sensor is a OV3610\n");
drivers/media/usb/gspca/ov519.c
2657
gspca_err(gspca_dev, "Error unknown sensor type: %02x%02x\n",
drivers/media/usb/gspca/ov519.c
2666
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2669
gspca_dbg(gspca_dev, D_PROBE, "starting ov8xx0 configuration\n");
drivers/media/usb/gspca/ov519.c
2674
gspca_err(gspca_dev, "Error detecting sensor type\n");
drivers/media/usb/gspca/ov519.c
2680
gspca_err(gspca_dev, "Unknown image sensor version: %d\n",
drivers/media/usb/gspca/ov519.c
2689
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2692
gspca_dbg(gspca_dev, D_PROBE, "starting OV7xx0 configuration\n");
drivers/media/usb/gspca/ov519.c
2700
gspca_err(gspca_dev, "Error detecting sensor type\n");
drivers/media/usb/gspca/ov519.c
2709
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV76%02x\n",
drivers/media/usb/gspca/ov519.c
2713
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7610\n");
drivers/media/usb/gspca/ov519.c
2719
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7620AE\n");
drivers/media/usb/gspca/ov519.c
2722
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV76BE\n");
drivers/media/usb/gspca/ov519.c
2729
gspca_err(gspca_dev, "Error detecting camera chip PID\n");
drivers/media/usb/gspca/ov519.c
2734
gspca_err(gspca_dev, "Error detecting camera chip VER\n");
drivers/media/usb/gspca/ov519.c
2740
gspca_err(gspca_dev, "Sensor is an OV7630/OV7635\n");
drivers/media/usb/gspca/ov519.c
2741
gspca_err(gspca_dev, "7630 is not supported by this driver\n");
drivers/media/usb/gspca/ov519.c
2744
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7645\n");
drivers/media/usb/gspca/ov519.c
2748
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7645B\n");
drivers/media/usb/gspca/ov519.c
2752
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7648\n");
drivers/media/usb/gspca/ov519.c
2756
gspca_dbg(gspca_dev, D_PROBE, "Sensor is a OV7660\n");
drivers/media/usb/gspca/ov519.c
2760
gspca_err(gspca_dev, "Unknown sensor: 0x76%02x\n",
drivers/media/usb/gspca/ov519.c
2765
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV7620\n");
drivers/media/usb/gspca/ov519.c
2769
gspca_err(gspca_dev, "Unknown image sensor version: %d\n",
drivers/media/usb/gspca/ov519.c
2777
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2780
gspca_dbg(gspca_dev, D_PROBE, "starting OV6xx0 configuration\n");
drivers/media/usb/gspca/ov519.c
2785
gspca_err(gspca_dev, "Error detecting sensor type\n");
drivers/media/usb/gspca/ov519.c
2799
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV6620\n");
drivers/media/usb/gspca/ov519.c
2803
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV66308AE\n");
drivers/media/usb/gspca/ov519.c
2807
gspca_dbg(gspca_dev, D_PROBE, "Sensor is an OV66308AF\n");
drivers/media/usb/gspca/ov519.c
2814
gspca_err(gspca_dev, "FATAL: Unknown sensor version: 0x%02x\n",
drivers/media/usb/gspca/ov519.c
2844
static void sd_reset_snapshot(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
2846
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
2912
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
2917
gspca_dbg(gspca_dev, D_PROBE, "Uploading quantization tables\n");
drivers/media/usb/gspca/ov519.c
2949
static void ov511_configure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
2951
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
2995
gspca_dbg(gspca_dev, D_PROBE, "Device custom id %x\n",
drivers/media/usb/gspca/ov519.c
3016
static void ov518_configure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
3018
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
3066
gspca_dbg(gspca_dev, D_PROBE, "Device revision %d\n", sd->revision);
drivers/media/usb/gspca/ov519.c
3154
write_regvals(sd, bridge_ov7660[sd->gspca_dev.curr_mode],
drivers/media/usb/gspca/ov519.c
3156
write_i2c_regvals(sd, sensor_ov7660[sd->gspca_dev.curr_mode],
drivers/media/usb/gspca/ov519.c
3202
reg_w(sd, 0xa4, fr_tb[sd->gspca_dev.curr_mode][fr][0]);
drivers/media/usb/gspca/ov519.c
3203
reg_w(sd, 0x23, fr_tb[sd->gspca_dev.curr_mode][fr][1]);
drivers/media/usb/gspca/ov519.c
3204
clock = fr_tb[sd->gspca_dev.curr_mode][fr][2];
drivers/media/usb/gspca/ov519.c
3210
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
3212
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
3218
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
3221
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
3222
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/ov519.c
3261
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
3263
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
3264
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/ov519.c
3269
ov511_configure(gspca_dev);
drivers/media/usb/gspca/ov519.c
3273
ov518_configure(gspca_dev);
drivers/media/usb/gspca/ov519.c
3307
gspca_err(gspca_dev, "Can't determine sensor slave IDs\n");
drivers/media/usb/gspca/ov519.c
3417
sd->gspca_dev.curr_mode = 1; /* 640x480 */
drivers/media/usb/gspca/ov519.c
3420
sd_reset_snapshot(gspca_dev);
drivers/media/usb/gspca/ov519.c
3438
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov519.c
3440
gspca_err(gspca_dev, "OV519 Config failed\n");
drivers/media/usb/gspca/ov519.c
3445
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
3447
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
3451
if (gspca_dev->pixfmt.width != 800)
drivers/media/usb/gspca/ov519.c
3452
gspca_dev->cam.bulk_size = OVFX2_BULK_SIZE;
drivers/media/usb/gspca/ov519.c
3454
gspca_dev->cam.bulk_size = 7 * 4096;
drivers/media/usb/gspca/ov519.c
3466
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
3472
intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface);
drivers/media/usb/gspca/ov519.c
3473
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
drivers/media/usb/gspca/ov519.c
3475
gspca_err(gspca_dev, "Couldn't get altsetting\n");
drivers/media/usb/gspca/ov519.c
3476
sd->gspca_dev.usb_err = -EIO;
drivers/media/usb/gspca/ov519.c
3481
sd->gspca_dev.usb_err = -ENODEV;
drivers/media/usb/gspca/ov519.c
3495
hsegs = (sd->gspca_dev.pixfmt.width >> 3) - 1;
drivers/media/usb/gspca/ov519.c
3496
vsegs = (sd->gspca_dev.pixfmt.height >> 3) - 1;
drivers/media/usb/gspca/ov519.c
3529
if (sd->gspca_dev.pixfmt.width == 320)
drivers/media/usb/gspca/ov519.c
3539
if (sd->gspca_dev.pixfmt.width != 640) {
drivers/media/usb/gspca/ov519.c
3573
needed = fps * sd->gspca_dev.pixfmt.width *
drivers/media/usb/gspca/ov519.c
3574
sd->gspca_dev.pixfmt.height * 3 / 2;
drivers/media/usb/gspca/ov519.c
3598
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
3603
intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface);
drivers/media/usb/gspca/ov519.c
3604
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
drivers/media/usb/gspca/ov519.c
3606
gspca_err(gspca_dev, "Couldn't get altsetting\n");
drivers/media/usb/gspca/ov519.c
3607
sd->gspca_dev.usb_err = -EIO;
drivers/media/usb/gspca/ov519.c
3612
sd->gspca_dev.usb_err = -ENODEV;
drivers/media/usb/gspca/ov519.c
3641
hsegs = sd->gspca_dev.pixfmt.width / 16;
drivers/media/usb/gspca/ov519.c
3642
vsegs = sd->gspca_dev.pixfmt.height / 4;
drivers/media/usb/gspca/ov519.c
3682
sd->gspca_dev.pixfmt.width == 640) {
drivers/media/usb/gspca/ov519.c
3788
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
3808
reg_w(sd, OV519_R10_H_SIZE, sd->gspca_dev.pixfmt.width >> 4);
drivers/media/usb/gspca/ov519.c
3809
reg_w(sd, OV519_R11_V_SIZE, sd->gspca_dev.pixfmt.height >> 3);
drivers/media/usb/gspca/ov519.c
3811
sd->gspca_dev.cam.cam_mode[sd->gspca_dev.curr_mode].priv)
drivers/media/usb/gspca/ov519.c
3814
sd->gspca_dev.cam.cam_mode[sd->gspca_dev.curr_mode].priv)
drivers/media/usb/gspca/ov519.c
3883
gspca_dbg(gspca_dev, D_STREAM, "Setting framerate to %d fps\n",
drivers/media/usb/gspca/ov519.c
3905
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/ov519.c
3909
qvga = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 1;
drivers/media/usb/gspca/ov519.c
3943
xstart = (1040 - gspca_dev->pixfmt.width) / 2 +
drivers/media/usb/gspca/ov519.c
3945
ystart = (776 - gspca_dev->pixfmt.height) / 2;
drivers/media/usb/gspca/ov519.c
3947
xstart = (2076 - gspca_dev->pixfmt.width) / 2 +
drivers/media/usb/gspca/ov519.c
3949
ystart = (1544 - gspca_dev->pixfmt.height) / 2;
drivers/media/usb/gspca/ov519.c
3951
xend = xstart + gspca_dev->pixfmt.width;
drivers/media/usb/gspca/ov519.c
3952
yend = ystart + gspca_dev->pixfmt.height;
drivers/media/usb/gspca/ov519.c
4095
static void sethvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip)
drivers/media/usb/gspca/ov519.c
4097
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4099
if (sd->gspca_dev.streaming)
drivers/media/usb/gspca/ov519.c
4104
if (sd->gspca_dev.streaming)
drivers/media/usb/gspca/ov519.c
4110
struct gspca_dev *gspca_dev;
drivers/media/usb/gspca/ov519.c
4129
gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/ov519.c
4130
qvga = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 1;
drivers/media/usb/gspca/ov519.c
4131
crop = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv & 2;
drivers/media/usb/gspca/ov519.c
4222
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
4224
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4227
sd->sensor_width = sd->gspca_dev.pixfmt.width;
drivers/media/usb/gspca/ov519.c
4228
sd->sensor_height = sd->gspca_dev.pixfmt.height;
drivers/media/usb/gspca/ov519.c
4253
sd_reset_snapshot(gspca_dev);
drivers/media/usb/gspca/ov519.c
4259
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov519.c
4262
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
4264
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4270
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
4272
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4274
if (!sd->gspca_dev.present)
drivers/media/usb/gspca/ov519.c
4282
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/ov519.c
4283
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/ov519.c
4291
static void ov51x_handle_button(struct gspca_dev *gspca_dev, u8 state)
drivers/media/usb/gspca/ov519.c
4293
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4297
input_report_key(gspca_dev->input_dev, KEY_CAMERA, state);
drivers/media/usb/gspca/ov519.c
4298
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/ov519.c
4319
static void ov511_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4323
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4340
ov51x_handle_button(gspca_dev, (in[8] >> 2) & 1);
drivers/media/usb/gspca/ov519.c
4343
if ((in[9] + 1) * 8 != gspca_dev->pixfmt.width ||
drivers/media/usb/gspca/ov519.c
4344
(in[10] + 1) * 8 != gspca_dev->pixfmt.height) {
drivers/media/usb/gspca/ov519.c
4345
gspca_err(gspca_dev, "Invalid frame size, got: %dx%d, requested: %dx%d\n",
drivers/media/usb/gspca/ov519.c
4347
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/ov519.c
4348
gspca_dev->pixfmt.height);
drivers/media/usb/gspca/ov519.c
4349
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov519.c
4353
gspca_frame_add(gspca_dev, LAST_PACKET, in, 11);
drivers/media/usb/gspca/ov519.c
4357
gspca_frame_add(gspca_dev, FIRST_PACKET, in, 0);
drivers/media/usb/gspca/ov519.c
4366
gspca_frame_add(gspca_dev, INTER_PACKET, in, len);
drivers/media/usb/gspca/ov519.c
4369
static void ov518_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4373
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4378
ov51x_handle_button(gspca_dev, (data[6] >> 1) & 1);
drivers/media/usb/gspca/ov519.c
4379
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/ov519.c
4380
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/ov519.c
4384
if (gspca_dev->last_packet_type == DISCARD_PACKET)
drivers/media/usb/gspca/ov519.c
4396
gspca_err(gspca_dev, "Invalid packet nr: %d (expect: %d)\n",
drivers/media/usb/gspca/ov519.c
4398
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov519.c
4404
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/ov519.c
4407
static void ov519_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4434
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/ov519.c
4437
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov519.c
4440
ov51x_handle_button(gspca_dev, data[11] & 1);
drivers/media/usb/gspca/ov519.c
4442
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov519.c
4443
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/ov519.c
4450
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/ov519.c
4453
static void ovfx2_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4457
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4459
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/ov519.c
4462
if (len < gspca_dev->cam.bulk_size) {
drivers/media/usb/gspca/ov519.c
4467
if (gspca_dev->image_len <
drivers/media/usb/gspca/ov519.c
4468
sd->gspca_dev.pixfmt.width *
drivers/media/usb/gspca/ov519.c
4469
sd->gspca_dev.pixfmt.height)
drivers/media/usb/gspca/ov519.c
4470
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov519.c
4472
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/ov519.c
4473
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/ov519.c
4477
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4481
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4486
ov511_pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/ov519.c
4490
ov518_pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/ov519.c
4493
ov519_pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/ov519.c
4496
ovfx2_pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/ov519.c
4499
w9968cf_pkt_scan(gspca_dev, data, len);
drivers/media/usb/gspca/ov519.c
4506
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4508
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4553
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4555
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4655
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4657
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4662
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4664
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4711
static void setautobright(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4713
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4777
static void setfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov519.c
4779
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4788
static int sd_get_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4791
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4803
static int sd_set_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov519.c
4806
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov519.c
4817
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/ov519.c
4818
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/ov519.c
4819
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/ov519.c
4821
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov519.c
4825
gspca_dev->exposure->val = i2c_r(sd, 0x10);
drivers/media/usb/gspca/ov519.c
4833
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/ov519.c
4834
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/ov519.c
4835
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/ov519.c
4837
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov519.c
4839
if (!gspca_dev->streaming)
drivers/media/usb/gspca/ov519.c
4844
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4847
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4850
setfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4854
setautobright(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4856
setbrightness(gspca_dev, sd->brightness->val);
drivers/media/usb/gspca/ov519.c
4859
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4862
sethvflip(gspca_dev, ctrl->val, sd->vflip->val);
drivers/media/usb/gspca/ov519.c
4866
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov519.c
4867
if (!ctrl->val && gspca_dev->exposure->is_new)
drivers/media/usb/gspca/ov519.c
4868
setexposure(gspca_dev, gspca_dev->exposure->val);
drivers/media/usb/gspca/ov519.c
4873
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov519.c
4881
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov519.c
4883
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/ov519.c
4884
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/ov519.c
4886
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/ov519.c
4909
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/ov519.c
4921
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/ov519.c
4940
gspca_err(gspca_dev, "Could not initialize controls\n");
drivers/media/usb/gspca/ov519.c
4943
if (gspca_dev->autogain)
drivers/media/usb/gspca/ov519.c
4944
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, true);
drivers/media/usb/gspca/ov519.c
51
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/ov534.c
1000
return sccb_reg_read(gspca_dev, 0x10); /* aech */
drivers/media/usb/gspca/ov534.c
1002
u8 hi = sccb_reg_read(gspca_dev, 0x08);
drivers/media/usb/gspca/ov534.c
1003
u8 lo = sccb_reg_read(gspca_dev, 0x10);
drivers/media/usb/gspca/ov534.c
1008
static void setagc(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
1011
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1012
sccb_reg_read(gspca_dev, 0x13) | 0x04);
drivers/media/usb/gspca/ov534.c
1013
sccb_reg_write(gspca_dev, 0x64,
drivers/media/usb/gspca/ov534.c
1014
sccb_reg_read(gspca_dev, 0x64) | 0x03);
drivers/media/usb/gspca/ov534.c
1016
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1017
sccb_reg_read(gspca_dev, 0x13) & ~0x04);
drivers/media/usb/gspca/ov534.c
1018
sccb_reg_write(gspca_dev, 0x64,
drivers/media/usb/gspca/ov534.c
1019
sccb_reg_read(gspca_dev, 0x64) & ~0x03);
drivers/media/usb/gspca/ov534.c
1023
static void setawb(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
1025
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1028
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1029
sccb_reg_read(gspca_dev, 0x13) | 0x02);
drivers/media/usb/gspca/ov534.c
1031
sccb_reg_write(gspca_dev, 0x63,
drivers/media/usb/gspca/ov534.c
1032
sccb_reg_read(gspca_dev, 0x63) | 0xc0);
drivers/media/usb/gspca/ov534.c
1034
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1035
sccb_reg_read(gspca_dev, 0x13) & ~0x02);
drivers/media/usb/gspca/ov534.c
1037
sccb_reg_write(gspca_dev, 0x63,
drivers/media/usb/gspca/ov534.c
1038
sccb_reg_read(gspca_dev, 0x63) & ~0xc0);
drivers/media/usb/gspca/ov534.c
1042
static void setaec(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
1044
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1052
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1053
sccb_reg_read(gspca_dev, 0x13) | data);
drivers/media/usb/gspca/ov534.c
1056
sccb_reg_write(gspca_dev, 0x13,
drivers/media/usb/gspca/ov534.c
1057
sccb_reg_read(gspca_dev, 0x13) & ~data);
drivers/media/usb/gspca/ov534.c
1062
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
1064
sccb_reg_write(gspca_dev, 0x91, val); /* Auto de-noise threshold */
drivers/media/usb/gspca/ov534.c
1065
sccb_reg_write(gspca_dev, 0x8e, val); /* De-noise threshold */
drivers/media/usb/gspca/ov534.c
1068
static void sethvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip)
drivers/media/usb/gspca/ov534.c
1070
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1074
val = sccb_reg_read(gspca_dev, 0x1e); /* mvfp */
drivers/media/usb/gspca/ov534.c
1080
sccb_reg_write(gspca_dev, 0x1e, val);
drivers/media/usb/gspca/ov534.c
1082
val = sccb_reg_read(gspca_dev, 0x0c);
drivers/media/usb/gspca/ov534.c
1088
sccb_reg_write(gspca_dev, 0x0c, val);
drivers/media/usb/gspca/ov534.c
1092
static void setlightfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
1094
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1098
sccb_reg_write(gspca_dev, 0x2a, 0x00);
drivers/media/usb/gspca/ov534.c
1102
sccb_reg_write(gspca_dev, 0x2b, val);
drivers/media/usb/gspca/ov534.c
1107
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
1110
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1113
cam = &gspca_dev->cam;
drivers/media/usb/gspca/ov534.c
1126
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/ov534.c
1130
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov534.c
1131
if (ctrl->val && sd->gain && gspca_dev->streaming)
drivers/media/usb/gspca/ov534.c
1132
sd->gain->val = getgain(gspca_dev);
drivers/media/usb/gspca/ov534.c
1133
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534.c
1136
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov534.c
1138
gspca_dev->streaming)
drivers/media/usb/gspca/ov534.c
1139
sd->exposure->val = getexposure(gspca_dev);
drivers/media/usb/gspca/ov534.c
1140
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534.c
1148
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/ov534.c
1150
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov534.c
1151
if (!gspca_dev->streaming)
drivers/media/usb/gspca/ov534.c
1156
sethue(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1159
setsaturation(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1162
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1165
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1169
setagc(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1170
if (!gspca_dev->usb_err && !ctrl->val && sd->gain)
drivers/media/usb/gspca/ov534.c
1171
setgain(gspca_dev, sd->gain->val);
drivers/media/usb/gspca/ov534.c
1174
setawb(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1178
setaec(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1179
if (!gspca_dev->usb_err && ctrl->val == V4L2_EXPOSURE_MANUAL &&
drivers/media/usb/gspca/ov534.c
1181
setexposure(gspca_dev, sd->exposure->val);
drivers/media/usb/gspca/ov534.c
1184
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1187
sethvflip(gspca_dev, ctrl->val, sd->vflip->val);
drivers/media/usb/gspca/ov534.c
1190
sethvflip(gspca_dev, sd->hflip->val, ctrl->val);
drivers/media/usb/gspca/ov534.c
1193
setlightfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534.c
1196
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534.c
1204
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
1206
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1250
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/ov534.c
1313
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
1315
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1327
ov534_reg_write(gspca_dev, 0xe7, 0x3a);
drivers/media/usb/gspca/ov534.c
1328
ov534_reg_write(gspca_dev, 0xe0, 0x08);
drivers/media/usb/gspca/ov534.c
1332
ov534_reg_write(gspca_dev, OV534_REG_ADDRESS, 0x42);
drivers/media/usb/gspca/ov534.c
1335
sccb_reg_write(gspca_dev, 0x12, 0x80);
drivers/media/usb/gspca/ov534.c
1339
sccb_reg_read(gspca_dev, 0x0a);
drivers/media/usb/gspca/ov534.c
1340
sensor_id = sccb_reg_read(gspca_dev, 0x0a) << 8;
drivers/media/usb/gspca/ov534.c
1341
sccb_reg_read(gspca_dev, 0x0b);
drivers/media/usb/gspca/ov534.c
1342
sensor_id |= sccb_reg_read(gspca_dev, 0x0b);
drivers/media/usb/gspca/ov534.c
1343
gspca_dbg(gspca_dev, D_PROBE, "Sensor ID: %04x\n", sensor_id);
drivers/media/usb/gspca/ov534.c
1347
gspca_dev->cam.cam_mode = ov767x_mode;
drivers/media/usb/gspca/ov534.c
1348
gspca_dev->cam.nmodes = ARRAY_SIZE(ov767x_mode);
drivers/media/usb/gspca/ov534.c
1351
gspca_dev->cam.bulk = 1;
drivers/media/usb/gspca/ov534.c
1352
gspca_dev->cam.bulk_size = 16384;
drivers/media/usb/gspca/ov534.c
1353
gspca_dev->cam.bulk_nurbs = 2;
drivers/media/usb/gspca/ov534.c
1354
gspca_dev->cam.mode_framerates = ov772x_framerates;
drivers/media/usb/gspca/ov534.c
1358
reg_w_array(gspca_dev, bridge_init[sd->sensor].val,
drivers/media/usb/gspca/ov534.c
1360
ov534_set_led(gspca_dev, 1);
drivers/media/usb/gspca/ov534.c
1361
sccb_w_array(gspca_dev, sensor_init[sd->sensor].val,
drivers/media/usb/gspca/ov534.c
1364
sd_stopN(gspca_dev);
drivers/media/usb/gspca/ov534.c
1367
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534.c
1370
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
1372
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1405
sccb_reg_write(gspca_dev, 0x1e, 0x04);
drivers/media/usb/gspca/ov534.c
1408
mode = gspca_dev->curr_mode; /* 0: 320x240, 1: 640x480 */
drivers/media/usb/gspca/ov534.c
1409
reg_w_array(gspca_dev, bridge_start[sd->sensor][mode].val,
drivers/media/usb/gspca/ov534.c
1411
sccb_w_array(gspca_dev, sensor_start[sd->sensor][mode].val,
drivers/media/usb/gspca/ov534.c
1414
set_frame_rate(gspca_dev);
drivers/media/usb/gspca/ov534.c
1417
sethue(gspca_dev, v4l2_ctrl_g_ctrl(sd->hue));
drivers/media/usb/gspca/ov534.c
1418
setsaturation(gspca_dev, v4l2_ctrl_g_ctrl(sd->saturation));
drivers/media/usb/gspca/ov534.c
1420
setagc(gspca_dev, v4l2_ctrl_g_ctrl(sd->autogain));
drivers/media/usb/gspca/ov534.c
1421
setawb(gspca_dev, v4l2_ctrl_g_ctrl(sd->autowhitebalance));
drivers/media/usb/gspca/ov534.c
1422
setaec(gspca_dev, v4l2_ctrl_g_ctrl(sd->autoexposure));
drivers/media/usb/gspca/ov534.c
1424
setgain(gspca_dev, v4l2_ctrl_g_ctrl(sd->gain));
drivers/media/usb/gspca/ov534.c
1425
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(sd->exposure));
drivers/media/usb/gspca/ov534.c
1426
setbrightness(gspca_dev, v4l2_ctrl_g_ctrl(sd->brightness));
drivers/media/usb/gspca/ov534.c
1427
setcontrast(gspca_dev, v4l2_ctrl_g_ctrl(sd->contrast));
drivers/media/usb/gspca/ov534.c
1429
setsharpness(gspca_dev, v4l2_ctrl_g_ctrl(sd->sharpness));
drivers/media/usb/gspca/ov534.c
1430
sethvflip(gspca_dev, v4l2_ctrl_g_ctrl(sd->hflip),
drivers/media/usb/gspca/ov534.c
1432
setlightfreq(gspca_dev, v4l2_ctrl_g_ctrl(sd->plfreq));
drivers/media/usb/gspca/ov534.c
1434
ov534_set_led(gspca_dev, 1);
drivers/media/usb/gspca/ov534.c
1435
ov534_reg_write(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534.c
1436
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534.c
1439
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
1441
ov534_reg_write(gspca_dev, 0xe0, 0x09);
drivers/media/usb/gspca/ov534.c
1442
ov534_set_led(gspca_dev, 0);
drivers/media/usb/gspca/ov534.c
1455
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
1458
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1464
payload_len = gspca_dev->cam.bulk ? 2048 : 2040;
drivers/media/usb/gspca/ov534.c
1475
gspca_dbg(gspca_dev, D_PACK, "bad header\n");
drivers/media/usb/gspca/ov534.c
1481
gspca_dbg(gspca_dev, D_PACK, "payload error\n");
drivers/media/usb/gspca/ov534.c
1487
gspca_dbg(gspca_dev, D_PACK, "PTS not present\n");
drivers/media/usb/gspca/ov534.c
1496
if (gspca_dev->last_packet_type == INTER_PACKET)
drivers/media/usb/gspca/ov534.c
1497
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/ov534.c
1501
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/ov534.c
1506
if (gspca_dev->pixfmt.pixelformat != V4L2_PIX_FMT_JPEG
drivers/media/usb/gspca/ov534.c
1507
&& gspca_dev->image_len + len - 12 !=
drivers/media/usb/gspca/ov534.c
1508
gspca_dev->pixfmt.sizeimage) {
drivers/media/usb/gspca/ov534.c
1509
gspca_dbg(gspca_dev, D_PACK, "wrong sized frame\n");
drivers/media/usb/gspca/ov534.c
1512
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/ov534.c
1517
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/ov534.c
1526
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov534.c
1535
static void sd_get_streamparm(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
1540
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1547
static void sd_set_streamparm(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
1552
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
1559
if (gspca_dev->streaming)
drivers/media/usb/gspca/ov534.c
1560
set_frame_rate(gspca_dev);
drivers/media/usb/gspca/ov534.c
49
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/ov534.c
658
static void ov534_reg_write(struct gspca_dev *gspca_dev, u16 reg, u8 val)
drivers/media/usb/gspca/ov534.c
660
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/ov534.c
663
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/ov534.c
666
gspca_dbg(gspca_dev, D_USBO, "SET 01 0000 %04x %02x\n", reg, val);
drivers/media/usb/gspca/ov534.c
667
gspca_dev->usb_buf[0] = val;
drivers/media/usb/gspca/ov534.c
672
0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT);
drivers/media/usb/gspca/ov534.c
675
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/ov534.c
679
static u8 ov534_reg_read(struct gspca_dev *gspca_dev, u16 reg)
drivers/media/usb/gspca/ov534.c
681
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/ov534.c
684
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/ov534.c
690
0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT);
drivers/media/usb/gspca/ov534.c
691
gspca_dbg(gspca_dev, D_USBI, "GET 01 0000 %04x %02x\n",
drivers/media/usb/gspca/ov534.c
692
reg, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/ov534.c
695
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/ov534.c
700
gspca_dev->usb_buf[0] = 0;
drivers/media/usb/gspca/ov534.c
702
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/ov534.c
707
static void ov534_set_led(struct gspca_dev *gspca_dev, int status)
drivers/media/usb/gspca/ov534.c
711
gspca_dbg(gspca_dev, D_CONF, "led status: %d\n", status);
drivers/media/usb/gspca/ov534.c
713
data = ov534_reg_read(gspca_dev, 0x21);
drivers/media/usb/gspca/ov534.c
715
ov534_reg_write(gspca_dev, 0x21, data);
drivers/media/usb/gspca/ov534.c
717
data = ov534_reg_read(gspca_dev, 0x23);
drivers/media/usb/gspca/ov534.c
723
ov534_reg_write(gspca_dev, 0x23, data);
drivers/media/usb/gspca/ov534.c
726
data = ov534_reg_read(gspca_dev, 0x21);
drivers/media/usb/gspca/ov534.c
728
ov534_reg_write(gspca_dev, 0x21, data);
drivers/media/usb/gspca/ov534.c
732
static int sccb_check_status(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
739
data = ov534_reg_read(gspca_dev, OV534_REG_STATUS);
drivers/media/usb/gspca/ov534.c
749
gspca_err(gspca_dev, "sccb status 0x%02x, attempt %d/5\n",
drivers/media/usb/gspca/ov534.c
756
static void sccb_reg_write(struct gspca_dev *gspca_dev, u8 reg, u8 val)
drivers/media/usb/gspca/ov534.c
758
gspca_dbg(gspca_dev, D_USBO, "sccb write: %02x %02x\n", reg, val);
drivers/media/usb/gspca/ov534.c
759
ov534_reg_write(gspca_dev, OV534_REG_SUBADDR, reg);
drivers/media/usb/gspca/ov534.c
760
ov534_reg_write(gspca_dev, OV534_REG_WRITE, val);
drivers/media/usb/gspca/ov534.c
761
ov534_reg_write(gspca_dev, OV534_REG_OPERATION, OV534_OP_WRITE_3);
drivers/media/usb/gspca/ov534.c
763
if (!sccb_check_status(gspca_dev)) {
drivers/media/usb/gspca/ov534.c
765
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/ov534.c
769
static u8 sccb_reg_read(struct gspca_dev *gspca_dev, u16 reg)
drivers/media/usb/gspca/ov534.c
771
ov534_reg_write(gspca_dev, OV534_REG_SUBADDR, reg);
drivers/media/usb/gspca/ov534.c
772
ov534_reg_write(gspca_dev, OV534_REG_OPERATION, OV534_OP_WRITE_2);
drivers/media/usb/gspca/ov534.c
773
if (!sccb_check_status(gspca_dev))
drivers/media/usb/gspca/ov534.c
776
ov534_reg_write(gspca_dev, OV534_REG_OPERATION, OV534_OP_READ_2);
drivers/media/usb/gspca/ov534.c
777
if (!sccb_check_status(gspca_dev))
drivers/media/usb/gspca/ov534.c
780
return ov534_reg_read(gspca_dev, OV534_REG_READ);
drivers/media/usb/gspca/ov534.c
784
static void reg_w_array(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
788
ov534_reg_write(gspca_dev, (*data)[0], (*data)[1]);
drivers/media/usb/gspca/ov534.c
794
static void sccb_w_array(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534.c
799
sccb_reg_write(gspca_dev, (*data)[0], (*data)[1]);
drivers/media/usb/gspca/ov534.c
801
sccb_reg_read(gspca_dev, (*data)[1]);
drivers/media/usb/gspca/ov534.c
802
sccb_reg_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534.c
809
static void set_frame_rate(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
811
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
82
static int sd_start(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/ov534.c
83
static void sd_stopN(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/ov534.c
843
if (gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv == 0) {
drivers/media/usb/gspca/ov534.c
856
sccb_reg_write(gspca_dev, 0x11, r->r11);
drivers/media/usb/gspca/ov534.c
857
sccb_reg_write(gspca_dev, 0x0d, r->r0d);
drivers/media/usb/gspca/ov534.c
858
ov534_reg_write(gspca_dev, 0xe5, r->re5);
drivers/media/usb/gspca/ov534.c
860
gspca_dbg(gspca_dev, D_PROBE, "frame_rate: %d\n", r->fps);
drivers/media/usb/gspca/ov534.c
863
static void sethue(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
865
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
885
sccb_reg_write(gspca_dev, 0xab,
drivers/media/usb/gspca/ov534.c
886
sccb_reg_read(gspca_dev, 0xab) | 0x2);
drivers/media/usb/gspca/ov534.c
889
sccb_reg_write(gspca_dev, 0xab,
drivers/media/usb/gspca/ov534.c
890
sccb_reg_read(gspca_dev, 0xab) & ~0x2);
drivers/media/usb/gspca/ov534.c
893
sccb_reg_write(gspca_dev, 0xa9, (u8)huecos);
drivers/media/usb/gspca/ov534.c
894
sccb_reg_write(gspca_dev, 0xaa, (u8)huesin);
drivers/media/usb/gspca/ov534.c
898
static void setsaturation(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
900
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
915
sccb_reg_write(gspca_dev, 0x4f + i, color_tb[val][i]);
drivers/media/usb/gspca/ov534.c
917
sccb_reg_write(gspca_dev, 0xa7, val); /* U saturation */
drivers/media/usb/gspca/ov534.c
918
sccb_reg_write(gspca_dev, 0xa8, val); /* V saturation */
drivers/media/usb/gspca/ov534.c
922
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
924
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
929
sccb_reg_write(gspca_dev, 0x55, val); /* bright */
drivers/media/usb/gspca/ov534.c
931
sccb_reg_write(gspca_dev, 0x9b, val);
drivers/media/usb/gspca/ov534.c
935
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
937
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
940
sccb_reg_write(gspca_dev, 0x56, val); /* contras */
drivers/media/usb/gspca/ov534.c
942
sccb_reg_write(gspca_dev, 0x9c, val);
drivers/media/usb/gspca/ov534.c
945
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
965
sccb_reg_write(gspca_dev, 0x00, val);
drivers/media/usb/gspca/ov534.c
968
static s32 getgain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
970
return sccb_reg_read(gspca_dev, 0x00);
drivers/media/usb/gspca/ov534.c
973
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534.c
975
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534.c
980
sccb_reg_write(gspca_dev, 0x10, val); /* aech */
drivers/media/usb/gspca/ov534.c
989
sccb_reg_write(gspca_dev, 0x08, val >> 7);
drivers/media/usb/gspca/ov534.c
990
sccb_reg_write(gspca_dev, 0x10, val << 1);
drivers/media/usb/gspca/ov534.c
994
static s32 getexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534.c
996
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1106
static void reg_w_i(struct gspca_dev *gspca_dev, u16 reg, u8 val)
drivers/media/usb/gspca/ov534_9.c
1108
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/ov534_9.c
1111
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/ov534_9.c
1113
gspca_dev->usb_buf[0] = val;
drivers/media/usb/gspca/ov534_9.c
1118
0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT);
drivers/media/usb/gspca/ov534_9.c
1121
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/ov534_9.c
1125
static void reg_w(struct gspca_dev *gspca_dev, u16 reg, u8 val)
drivers/media/usb/gspca/ov534_9.c
1127
gspca_dbg(gspca_dev, D_USBO, "reg_w [%04x] = %02x\n", reg, val);
drivers/media/usb/gspca/ov534_9.c
1128
reg_w_i(gspca_dev, reg, val);
drivers/media/usb/gspca/ov534_9.c
1131
static u8 reg_r(struct gspca_dev *gspca_dev, u16 reg)
drivers/media/usb/gspca/ov534_9.c
1133
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/ov534_9.c
1136
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/ov534_9.c
1142
0x00, reg, gspca_dev->usb_buf, 1, CTRL_TIMEOUT);
drivers/media/usb/gspca/ov534_9.c
1143
gspca_dbg(gspca_dev, D_USBI, "reg_r [%04x] -> %02x\n",
drivers/media/usb/gspca/ov534_9.c
1144
reg, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/ov534_9.c
1147
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/ov534_9.c
1150
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/ov534_9.c
1153
static int sccb_check_status(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1160
data = reg_r(gspca_dev, OV534_REG_STATUS);
drivers/media/usb/gspca/ov534_9.c
1170
gspca_dbg(gspca_dev, D_USBI|D_USBO,
drivers/media/usb/gspca/ov534_9.c
1178
static void sccb_write(struct gspca_dev *gspca_dev, u8 reg, u8 val)
drivers/media/usb/gspca/ov534_9.c
1180
gspca_dbg(gspca_dev, D_USBO, "sccb_write [%02x] = %02x\n", reg, val);
drivers/media/usb/gspca/ov534_9.c
1181
reg_w_i(gspca_dev, OV534_REG_SUBADDR, reg);
drivers/media/usb/gspca/ov534_9.c
1182
reg_w_i(gspca_dev, OV534_REG_WRITE, val);
drivers/media/usb/gspca/ov534_9.c
1183
reg_w_i(gspca_dev, OV534_REG_OPERATION, OV534_OP_WRITE_3);
drivers/media/usb/gspca/ov534_9.c
1185
if (!sccb_check_status(gspca_dev))
drivers/media/usb/gspca/ov534_9.c
1189
static u8 sccb_read(struct gspca_dev *gspca_dev, u16 reg)
drivers/media/usb/gspca/ov534_9.c
1191
reg_w(gspca_dev, OV534_REG_SUBADDR, reg);
drivers/media/usb/gspca/ov534_9.c
1192
reg_w(gspca_dev, OV534_REG_OPERATION, OV534_OP_WRITE_2);
drivers/media/usb/gspca/ov534_9.c
1193
if (!sccb_check_status(gspca_dev))
drivers/media/usb/gspca/ov534_9.c
1196
reg_w(gspca_dev, OV534_REG_OPERATION, OV534_OP_READ_2);
drivers/media/usb/gspca/ov534_9.c
1197
if (!sccb_check_status(gspca_dev))
drivers/media/usb/gspca/ov534_9.c
1200
return reg_r(gspca_dev, OV534_REG_READ);
drivers/media/usb/gspca/ov534_9.c
1204
static void reg_w_array(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534_9.c
1208
reg_w(gspca_dev, (*data)[0], (*data)[1]);
drivers/media/usb/gspca/ov534_9.c
1214
static void sccb_w_array(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534_9.c
1219
sccb_write(gspca_dev, (*data)[0], (*data)[1]);
drivers/media/usb/gspca/ov534_9.c
1221
sccb_read(gspca_dev, (*data)[1]);
drivers/media/usb/gspca/ov534_9.c
1222
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1230
static void set_led(struct gspca_dev *gspca_dev, int status)
drivers/media/usb/gspca/ov534_9.c
1234
gspca_dbg(gspca_dev, D_CONF, "led status: %d\n", status);
drivers/media/usb/gspca/ov534_9.c
1236
data = reg_r(gspca_dev, 0x21);
drivers/media/usb/gspca/ov534_9.c
1238
reg_w(gspca_dev, 0x21, data);
drivers/media/usb/gspca/ov534_9.c
1240
data = reg_r(gspca_dev, 0x23);
drivers/media/usb/gspca/ov534_9.c
1246
reg_w(gspca_dev, 0x23, data);
drivers/media/usb/gspca/ov534_9.c
1249
data = reg_r(gspca_dev, 0x21);
drivers/media/usb/gspca/ov534_9.c
1251
reg_w(gspca_dev, 0x21, data);
drivers/media/usb/gspca/ov534_9.c
1255
static void setbrightness(struct gspca_dev *gspca_dev, s32 brightness)
drivers/media/usb/gspca/ov534_9.c
1257
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1265
sccb_write(gspca_dev, 0x24, val);
drivers/media/usb/gspca/ov534_9.c
1268
sccb_write(gspca_dev, 0x25, val);
drivers/media/usb/gspca/ov534_9.c
1275
sccb_write(gspca_dev, 0x26, val);
drivers/media/usb/gspca/ov534_9.c
1282
sccb_write(gspca_dev, 0x55, /* brtn - brightness adjustment */
drivers/media/usb/gspca/ov534_9.c
1287
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534_9.c
1289
sccb_write(gspca_dev, 0x56, /* cnst1 - contrast 1 ctrl coeff */
drivers/media/usb/gspca/ov534_9.c
1293
static void setautogain(struct gspca_dev *gspca_dev, s32 autogain)
drivers/media/usb/gspca/ov534_9.c
1298
val = sccb_read(gspca_dev, 0x13); /* com8 */
drivers/media/usb/gspca/ov534_9.c
1299
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1304
sccb_write(gspca_dev, 0x13, val);
drivers/media/usb/gspca/ov534_9.c
1307
static void setexposure(struct gspca_dev *gspca_dev, s32 exposure)
drivers/media/usb/gspca/ov534_9.c
1312
sccb_write(gspca_dev, 0x10, expo[exposure]); /* aec[9:2] */
drivers/media/usb/gspca/ov534_9.c
1314
val = sccb_read(gspca_dev, 0x13); /* com8 */
drivers/media/usb/gspca/ov534_9.c
1315
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1316
sccb_write(gspca_dev, 0x13, val);
drivers/media/usb/gspca/ov534_9.c
1318
val = sccb_read(gspca_dev, 0xa1); /* aech */
drivers/media/usb/gspca/ov534_9.c
1319
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1320
sccb_write(gspca_dev, 0xa1, val & 0xe0); /* aec[15:10] = 0 */
drivers/media/usb/gspca/ov534_9.c
1323
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534_9.c
1326
val = sccb_read(gspca_dev, 0x42); /* com17 */
drivers/media/usb/gspca/ov534_9.c
1327
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1328
sccb_write(gspca_dev, 0x42, val | 0x40);
drivers/media/usb/gspca/ov534_9.c
1334
sccb_write(gspca_dev, 0x3f, /* edge - edge enhance. factor */
drivers/media/usb/gspca/ov534_9.c
1336
val = sccb_read(gspca_dev, 0x42); /* com17 */
drivers/media/usb/gspca/ov534_9.c
1337
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1338
sccb_write(gspca_dev, 0x42, val & 0xbf);
drivers/media/usb/gspca/ov534_9.c
1341
static void setsatur(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/ov534_9.c
1355
sccb_write(gspca_dev, 0x4f, val3); /* matrix coeff */
drivers/media/usb/gspca/ov534_9.c
1356
sccb_write(gspca_dev, 0x50, val3);
drivers/media/usb/gspca/ov534_9.c
1357
sccb_write(gspca_dev, 0x51, 0x00);
drivers/media/usb/gspca/ov534_9.c
1358
sccb_write(gspca_dev, 0x52, val1);
drivers/media/usb/gspca/ov534_9.c
1359
sccb_write(gspca_dev, 0x53, val2);
drivers/media/usb/gspca/ov534_9.c
1360
sccb_write(gspca_dev, 0x54, val3);
drivers/media/usb/gspca/ov534_9.c
1361
sccb_write(gspca_dev, 0x58, 0x1a); /* mtxs - coeff signs */
drivers/media/usb/gspca/ov534_9.c
1363
val1 = sccb_read(gspca_dev, 0x41); /* com16 */
drivers/media/usb/gspca/ov534_9.c
1364
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1365
sccb_write(gspca_dev, 0x41, val1);
drivers/media/usb/gspca/ov534_9.c
1368
static void setlightfreq(struct gspca_dev *gspca_dev, s32 freq)
drivers/media/usb/gspca/ov534_9.c
1372
val = sccb_read(gspca_dev, 0x13); /* com8 */
drivers/media/usb/gspca/ov534_9.c
1373
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1375
sccb_write(gspca_dev, 0x13, val & 0xdf);
drivers/media/usb/gspca/ov534_9.c
1378
sccb_write(gspca_dev, 0x13, val | 0x20);
drivers/media/usb/gspca/ov534_9.c
1380
val = sccb_read(gspca_dev, 0x42); /* com17 */
drivers/media/usb/gspca/ov534_9.c
1381
sccb_write(gspca_dev, 0xff, 0x00);
drivers/media/usb/gspca/ov534_9.c
1386
sccb_write(gspca_dev, 0x42, val);
drivers/media/usb/gspca/ov534_9.c
1390
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534_9.c
1397
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1399
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1403
reg_w(gspca_dev, 0xe7, 0x3a);
drivers/media/usb/gspca/ov534_9.c
1404
reg_w(gspca_dev, 0xe0, 0x08);
drivers/media/usb/gspca/ov534_9.c
1408
reg_w(gspca_dev, OV534_REG_ADDRESS, 0x60);
drivers/media/usb/gspca/ov534_9.c
1411
sccb_write(gspca_dev, 0x12, 0x80);
drivers/media/usb/gspca/ov534_9.c
1415
sccb_read(gspca_dev, 0x0a);
drivers/media/usb/gspca/ov534_9.c
1416
sensor_id = sccb_read(gspca_dev, 0x0a) << 8;
drivers/media/usb/gspca/ov534_9.c
1417
sccb_read(gspca_dev, 0x0b);
drivers/media/usb/gspca/ov534_9.c
1418
sensor_id |= sccb_read(gspca_dev, 0x0b);
drivers/media/usb/gspca/ov534_9.c
1419
gspca_dbg(gspca_dev, D_PROBE, "Sensor ID: %04x\n", sensor_id);
drivers/media/usb/gspca/ov534_9.c
1425
gspca_dev->cam.cam_mode = ov965x_mode;
drivers/media/usb/gspca/ov534_9.c
1426
gspca_dev->cam.nmodes = ARRAY_SIZE(ov965x_mode);
drivers/media/usb/gspca/ov534_9.c
1428
reg_w_array(gspca_dev, bridge_init,
drivers/media/usb/gspca/ov534_9.c
1430
sccb_w_array(gspca_dev, ov965x_init,
drivers/media/usb/gspca/ov534_9.c
1432
reg_w_array(gspca_dev, bridge_init_2,
drivers/media/usb/gspca/ov534_9.c
1434
sccb_w_array(gspca_dev, ov965x_init_2,
drivers/media/usb/gspca/ov534_9.c
1436
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1437
reg_w(gspca_dev, 0xe0, 0x01);
drivers/media/usb/gspca/ov534_9.c
1438
set_led(gspca_dev, 0);
drivers/media/usb/gspca/ov534_9.c
1439
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1446
gspca_dev->cam.cam_mode = ov971x_mode;
drivers/media/usb/gspca/ov534_9.c
1447
gspca_dev->cam.nmodes = ARRAY_SIZE(ov971x_mode);
drivers/media/usb/gspca/ov534_9.c
1449
gspca_dev->cam.bulk = 1;
drivers/media/usb/gspca/ov534_9.c
1450
gspca_dev->cam.bulk_size = 16384;
drivers/media/usb/gspca/ov534_9.c
1451
gspca_dev->cam.bulk_nurbs = 2;
drivers/media/usb/gspca/ov534_9.c
1453
sccb_w_array(gspca_dev, ov971x_init,
drivers/media/usb/gspca/ov534_9.c
1458
reg_w(gspca_dev, 0x1c, 0x00);
drivers/media/usb/gspca/ov534_9.c
1460
reg_w(gspca_dev, 0x1d, 0x00);
drivers/media/usb/gspca/ov534_9.c
1466
p = video_device_node_name(&gspca_dev->vdev);
drivers/media/usb/gspca/ov534_9.c
1469
reg_w(gspca_dev, 0x56, 0x1f);
drivers/media/usb/gspca/ov534_9.c
1471
reg_w(gspca_dev, 0x56, 0x17);
drivers/media/usb/gspca/ov534_9.c
1474
gspca_dev->cam.cam_mode = ov562x_mode;
drivers/media/usb/gspca/ov534_9.c
1475
gspca_dev->cam.nmodes = ARRAY_SIZE(ov562x_mode);
drivers/media/usb/gspca/ov534_9.c
1477
reg_w_array(gspca_dev, ov562x_init,
drivers/media/usb/gspca/ov534_9.c
1479
sccb_w_array(gspca_dev, ov562x_init_2,
drivers/media/usb/gspca/ov534_9.c
1481
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1484
gspca_dev->cam.cam_mode = ov361x_mode;
drivers/media/usb/gspca/ov534_9.c
1485
gspca_dev->cam.nmodes = ARRAY_SIZE(ov361x_mode);
drivers/media/usb/gspca/ov534_9.c
1486
reg_w(gspca_dev, 0xe7, 0x3a);
drivers/media/usb/gspca/ov534_9.c
1487
reg_w(gspca_dev, 0xf1, 0x60);
drivers/media/usb/gspca/ov534_9.c
1488
sccb_write(gspca_dev, 0x12, 0x80);
drivers/media/usb/gspca/ov534_9.c
1494
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1497
static int sd_start_ov361x(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1499
sccb_write(gspca_dev, 0x12, 0x80);
drivers/media/usb/gspca/ov534_9.c
1501
switch (gspca_dev->curr_mode % (ov361x_last)) {
drivers/media/usb/gspca/ov534_9.c
1503
reg_w_array(gspca_dev, ov361x_bridge_start_2048,
drivers/media/usb/gspca/ov534_9.c
1505
sccb_w_array(gspca_dev, ov361x_start_2048,
drivers/media/usb/gspca/ov534_9.c
1509
reg_w_array(gspca_dev, ov361x_bridge_start_1600,
drivers/media/usb/gspca/ov534_9.c
1511
sccb_w_array(gspca_dev, ov361x_start_1600,
drivers/media/usb/gspca/ov534_9.c
1515
reg_w_array(gspca_dev, ov361x_bridge_start_1024,
drivers/media/usb/gspca/ov534_9.c
1517
sccb_w_array(gspca_dev, ov361x_start_1024,
drivers/media/usb/gspca/ov534_9.c
1521
reg_w_array(gspca_dev, ov361x_bridge_start_640,
drivers/media/usb/gspca/ov534_9.c
1523
sccb_w_array(gspca_dev, ov361x_start_640,
drivers/media/usb/gspca/ov534_9.c
1527
reg_w_array(gspca_dev, ov361x_bridge_start_320,
drivers/media/usb/gspca/ov534_9.c
1529
sccb_w_array(gspca_dev, ov361x_start_320,
drivers/media/usb/gspca/ov534_9.c
1533
reg_w_array(gspca_dev, ov361x_bridge_start_160,
drivers/media/usb/gspca/ov534_9.c
1535
sccb_w_array(gspca_dev, ov361x_start_160,
drivers/media/usb/gspca/ov534_9.c
1539
reg_w(gspca_dev, 0xe0, 0x00); /* start transfer */
drivers/media/usb/gspca/ov534_9.c
1541
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1544
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1546
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1549
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1551
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1553
return sd_start_ov361x(gspca_dev);
drivers/media/usb/gspca/ov534_9.c
1555
switch (gspca_dev->curr_mode) {
drivers/media/usb/gspca/ov534_9.c
1557
sccb_w_array(gspca_dev, ov965x_start_1_vga,
drivers/media/usb/gspca/ov534_9.c
1559
reg_w_array(gspca_dev, bridge_start_qvga,
drivers/media/usb/gspca/ov534_9.c
1561
sccb_w_array(gspca_dev, ov965x_start_2_qvga,
drivers/media/usb/gspca/ov534_9.c
1565
sccb_w_array(gspca_dev, ov965x_start_1_vga,
drivers/media/usb/gspca/ov534_9.c
1567
reg_w_array(gspca_dev, bridge_start_vga,
drivers/media/usb/gspca/ov534_9.c
1569
sccb_w_array(gspca_dev, ov965x_start_2_vga,
drivers/media/usb/gspca/ov534_9.c
1573
sccb_w_array(gspca_dev, ov965x_start_1_svga,
drivers/media/usb/gspca/ov534_9.c
1575
reg_w_array(gspca_dev, bridge_start_svga,
drivers/media/usb/gspca/ov534_9.c
1577
sccb_w_array(gspca_dev, ov965x_start_2_svga,
drivers/media/usb/gspca/ov534_9.c
1581
sccb_w_array(gspca_dev, ov965x_start_1_xga,
drivers/media/usb/gspca/ov534_9.c
1583
reg_w_array(gspca_dev, bridge_start_xga,
drivers/media/usb/gspca/ov534_9.c
1585
sccb_w_array(gspca_dev, ov965x_start_2_svga,
drivers/media/usb/gspca/ov534_9.c
1590
sccb_w_array(gspca_dev, ov965x_start_1_sxga,
drivers/media/usb/gspca/ov534_9.c
1592
reg_w_array(gspca_dev, bridge_start_sxga,
drivers/media/usb/gspca/ov534_9.c
1594
sccb_w_array(gspca_dev, ov965x_start_2_sxga,
drivers/media/usb/gspca/ov534_9.c
1599
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1600
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1601
set_led(gspca_dev, 1);
drivers/media/usb/gspca/ov534_9.c
1602
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1605
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1607
if (((struct sd *)gspca_dev)->sensor == SENSOR_OV361x) {
drivers/media/usb/gspca/ov534_9.c
1608
reg_w(gspca_dev, 0xe0, 0x01); /* stop transfer */
drivers/media/usb/gspca/ov534_9.c
1612
reg_w(gspca_dev, 0xe0, 0x01);
drivers/media/usb/gspca/ov534_9.c
1613
set_led(gspca_dev, 0);
drivers/media/usb/gspca/ov534_9.c
1614
reg_w(gspca_dev, 0xe0, 0x00);
drivers/media/usb/gspca/ov534_9.c
1627
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/ov534_9.c
1630
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1636
payload_len = gspca_dev->cam.bulk ? 2048 : 2040;
drivers/media/usb/gspca/ov534_9.c
1647
gspca_dbg(gspca_dev, D_PACK, "bad header\n");
drivers/media/usb/gspca/ov534_9.c
1653
gspca_dbg(gspca_dev, D_PACK, "payload error\n");
drivers/media/usb/gspca/ov534_9.c
1659
gspca_dbg(gspca_dev, D_PACK, "PTS not present\n");
drivers/media/usb/gspca/ov534_9.c
1668
if (gspca_dev->last_packet_type == INTER_PACKET)
drivers/media/usb/gspca/ov534_9.c
1669
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/ov534_9.c
1673
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/ov534_9.c
1678
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/ov534_9.c
1683
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/ov534_9.c
1692
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/ov534_9.c
1702
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/ov534_9.c
1703
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/ov534_9.c
1705
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/ov534_9.c
1707
if (!gspca_dev->streaming)
drivers/media/usb/gspca/ov534_9.c
1712
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1715
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1718
setsatur(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1721
setlightfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1724
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1728
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/ov534_9.c
1729
if (!ctrl->val && gspca_dev->exposure->is_new)
drivers/media/usb/gspca/ov534_9.c
1730
setexposure(gspca_dev, gspca_dev->exposure->val);
drivers/media/usb/gspca/ov534_9.c
1733
return gspca_dev->usb_err;
drivers/media/usb/gspca/ov534_9.c
1740
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/ov534_9.c
1742
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/ov534_9.c
1743
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/ov534_9.c
1749
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/ov534_9.c
1764
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/ov534_9.c
1766
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/ov534_9.c
1771
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/ov534_9.c
39
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/pac207.c
100
gspca_dev->usb_buf, length, PAC207_CTRL_TIMEOUT);
drivers/media/usb/gspca/pac207.c
104
gspca_dev->usb_err = err;
drivers/media/usb/gspca/pac207.c
108
static void pac207_write_reg(struct gspca_dev *gspca_dev, u16 index, u16 value)
drivers/media/usb/gspca/pac207.c
110
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/pac207.c
113
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac207.c
122
gspca_dev->usb_err = err;
drivers/media/usb/gspca/pac207.c
126
static int pac207_read_reg(struct gspca_dev *gspca_dev, u16 index)
drivers/media/usb/gspca/pac207.c
128
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/pac207.c
131
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac207.c
137
gspca_dev->usb_buf, 1, PAC207_CTRL_TIMEOUT);
drivers/media/usb/gspca/pac207.c
141
gspca_dev->usb_err = res;
drivers/media/usb/gspca/pac207.c
145
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/pac207.c
149
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac207.c
155
idreg[0] = pac207_read_reg(gspca_dev, 0x0000);
drivers/media/usb/gspca/pac207.c
156
idreg[1] = pac207_read_reg(gspca_dev, 0x0001);
drivers/media/usb/gspca/pac207.c
159
gspca_dbg(gspca_dev, D_PROBE, "Pixart Sensor ID 0x%02X Chips ID 0x%02X\n",
drivers/media/usb/gspca/pac207.c
163
gspca_dbg(gspca_dev, D_PROBE, "Error invalid sensor ID!\n");
drivers/media/usb/gspca/pac207.c
167
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/pac207.c
171
cam = &gspca_dev->cam;
drivers/media/usb/gspca/pac207.c
179
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac207.c
188
pac207_write_reg(gspca_dev, 0x41, mode);
drivers/media/usb/gspca/pac207.c
189
pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */
drivers/media/usb/gspca/pac207.c
191
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac207.c
194
static void setcontrol(struct gspca_dev *gspca_dev, u16 reg, u16 val)
drivers/media/usb/gspca/pac207.c
196
pac207_write_reg(gspca_dev, reg, val);
drivers/media/usb/gspca/pac207.c
197
pac207_write_reg(gspca_dev, 0x13, 0x01); /* Bit 0, auto clear */
drivers/media/usb/gspca/pac207.c
198
pac207_write_reg(gspca_dev, 0x1c, 0x01); /* not documented */
drivers/media/usb/gspca/pac207.c
203
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/pac207.c
204
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/pac207.c
205
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/pac207.c
207
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/pac207.c
214
gspca_dev->exposure->val = PAC207_EXPOSURE_DEFAULT;
drivers/media/usb/gspca/pac207.c
215
gspca_dev->gain->val = PAC207_GAIN_DEFAULT;
drivers/media/usb/gspca/pac207.c
219
if (!gspca_dev->streaming)
drivers/media/usb/gspca/pac207.c
224
setcontrol(gspca_dev, PAC207_BRIGHTNESS_REG, ctrl->val);
drivers/media/usb/gspca/pac207.c
227
if (gspca_dev->exposure->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac207.c
228
setcontrol(gspca_dev, PAC207_EXPOSURE_REG,
drivers/media/usb/gspca/pac207.c
229
gspca_dev->exposure->val);
drivers/media/usb/gspca/pac207.c
230
if (gspca_dev->gain->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac207.c
231
setcontrol(gspca_dev, PAC207_GAIN_REG,
drivers/media/usb/gspca/pac207.c
232
gspca_dev->gain->val);
drivers/media/usb/gspca/pac207.c
237
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac207.c
245
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac207.c
247
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac207.c
248
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/pac207.c
250
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/pac207.c
257
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac207.c
259
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac207.c
263
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac207.c
271
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/pac207.c
276
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac207.c
278
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac207.c
281
pac207_write_reg(gspca_dev, 0x0f, 0x10); /* Power control (Bit 6-0) */
drivers/media/usb/gspca/pac207.c
282
pac207_write_regs(gspca_dev, 0x0002, pac207_sensor_init[0], 8);
drivers/media/usb/gspca/pac207.c
283
pac207_write_regs(gspca_dev, 0x000a, pac207_sensor_init[1], 8);
drivers/media/usb/gspca/pac207.c
284
pac207_write_regs(gspca_dev, 0x0012, pac207_sensor_init[2], 8);
drivers/media/usb/gspca/pac207.c
285
pac207_write_regs(gspca_dev, 0x0042, pac207_sensor_init[3], 8);
drivers/media/usb/gspca/pac207.c
288
if (gspca_dev->pixfmt.width == 176)
drivers/media/usb/gspca/pac207.c
289
pac207_write_reg(gspca_dev, 0x4a, 0xff);
drivers/media/usb/gspca/pac207.c
291
pac207_write_reg(gspca_dev, 0x4a, 0x30);
drivers/media/usb/gspca/pac207.c
292
pac207_write_reg(gspca_dev, 0x4b, 0x00); /* Sram test value */
drivers/media/usb/gspca/pac207.c
293
pac207_write_reg(gspca_dev, 0x08, v4l2_ctrl_g_ctrl(sd->brightness));
drivers/media/usb/gspca/pac207.c
296
pac207_write_reg(gspca_dev, 0x0e,
drivers/media/usb/gspca/pac207.c
297
v4l2_ctrl_g_ctrl(gspca_dev->gain));
drivers/media/usb/gspca/pac207.c
298
pac207_write_reg(gspca_dev, 0x02,
drivers/media/usb/gspca/pac207.c
299
v4l2_ctrl_g_ctrl(gspca_dev->exposure)); /* PXCK = 12MHz /n */
drivers/media/usb/gspca/pac207.c
306
if (gspca_dev->pixfmt.width == 176) { /* 176x144 */
drivers/media/usb/gspca/pac207.c
308
gspca_dbg(gspca_dev, D_STREAM, "pac207_start mode 176x144\n");
drivers/media/usb/gspca/pac207.c
310
gspca_dbg(gspca_dev, D_STREAM, "pac207_start mode 352x288\n");
drivers/media/usb/gspca/pac207.c
312
pac207_write_reg(gspca_dev, 0x41, mode);
drivers/media/usb/gspca/pac207.c
314
pac207_write_reg(gspca_dev, 0x13, 0x01); /* Bit 0, auto clear */
drivers/media/usb/gspca/pac207.c
315
pac207_write_reg(gspca_dev, 0x1c, 0x01); /* not documented */
drivers/media/usb/gspca/pac207.c
317
pac207_write_reg(gspca_dev, 0x40, 0x01); /* Start ISO pipe */
drivers/media/usb/gspca/pac207.c
322
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac207.c
325
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac207.c
334
pac207_write_reg(gspca_dev, 0x40, 0x00); /* Stop ISO pipe */
drivers/media/usb/gspca/pac207.c
335
pac207_write_reg(gspca_dev, 0x41, mode); /* Turn off LED */
drivers/media/usb/gspca/pac207.c
336
pac207_write_reg(gspca_dev, 0x0f, 0x00); /* Power Control */
drivers/media/usb/gspca/pac207.c
340
static void pac207_do_auto_gain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac207.c
342
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac207.c
350
else if (gspca_coarse_grained_expo_autogain(gspca_dev, avg_lum,
drivers/media/usb/gspca/pac207.c
355
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac207.c
359
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac207.c
362
sof = pac_find_sof(gspca_dev, &sd->sof_read, data, len);
drivers/media/usb/gspca/pac207.c
372
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/pac207.c
375
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/pac207.c
399
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/pac207.c
403
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac207.c
410
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/pac207.c
411
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac207.c
412
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/pac207.c
413
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac207.c
51
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/pac207.c
86
static void pac207_write_regs(struct gspca_dev *gspca_dev, u16 index,
drivers/media/usb/gspca/pac207.c
89
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/pac207.c
92
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac207.c
95
memcpy(gspca_dev->usb_buf, buffer, length);
drivers/media/usb/gspca/pac7302.c
100
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/pac7302.c
232
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
238
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7302.c
240
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/pac7302.c
241
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7302.c
242
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7302.c
246
index, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/pac7302.c
251
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7302.c
256
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
262
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7302.c
264
gspca_dev->usb_buf[0] = value;
drivers/media/usb/gspca/pac7302.c
265
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7302.c
266
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7302.c
269
0, index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/pac7302.c
274
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7302.c
278
static void reg_w_seq(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
282
reg_w(gspca_dev, seq[0], seq[1]);
drivers/media/usb/gspca/pac7302.c
288
static void reg_w_page(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
294
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7302.c
299
gspca_dev->usb_buf[0] = page[index];
drivers/media/usb/gspca/pac7302.c
300
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7302.c
301
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7302.c
304
0, index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/pac7302.c
309
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7302.c
316
static void reg_w_var(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
329
reg_w_page(gspca_dev, page3, page3_len);
drivers/media/usb/gspca/pac7302.c
333
gspca_err(gspca_dev, "Incorrect variable sequence\n");
drivers/media/usb/gspca/pac7302.c
338
reg_w_buf(gspca_dev,
drivers/media/usb/gspca/pac7302.c
343
reg_w_buf(gspca_dev, index, seq, 8);
drivers/media/usb/gspca/pac7302.c
354
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
357
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
360
cam = &gspca_dev->cam;
drivers/media/usb/gspca/pac7302.c
369
static void setbrightcont(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
371
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
380
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
390
reg_w(gspca_dev, 0xa2 + i, v);
drivers/media/usb/gspca/pac7302.c
392
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
395
static void setcolors(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
397
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
404
reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
drivers/media/usb/gspca/pac7302.c
405
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7302.c
406
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
410
reg_w(gspca_dev, 0x0f + 2 * i, (v >> 8) & 0x07);
drivers/media/usb/gspca/pac7302.c
411
reg_w(gspca_dev, 0x0f + 2 * i + 1, v);
drivers/media/usb/gspca/pac7302.c
413
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
416
static void setwhitebalance(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
418
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
420
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
421
reg_w(gspca_dev, 0xc6, sd->white_balance->val);
drivers/media/usb/gspca/pac7302.c
423
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
444
static void setredbalance(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
446
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
448
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
449
reg_w(gspca_dev, 0x01,
drivers/media/usb/gspca/pac7302.c
452
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
455
static void setbluebalance(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
457
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
459
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
460
reg_w(gspca_dev, 0x03,
drivers/media/usb/gspca/pac7302.c
463
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
466
static void setgain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
470
if (gspca_dev->gain->val < 32) {
drivers/media/usb/gspca/pac7302.c
471
reg10 = gspca_dev->gain->val;
drivers/media/usb/gspca/pac7302.c
475
reg12 = gspca_dev->gain->val - 31;
drivers/media/usb/gspca/pac7302.c
478
reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
drivers/media/usb/gspca/pac7302.c
479
reg_w(gspca_dev, 0x10, reg10);
drivers/media/usb/gspca/pac7302.c
480
reg_w(gspca_dev, 0x12, reg12);
drivers/media/usb/gspca/pac7302.c
483
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7302.c
486
static void setexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
496
clockdiv = (90 * gspca_dev->exposure->val + 1999) / 2000;
drivers/media/usb/gspca/pac7302.c
521
exposure = (gspca_dev->exposure->val * 45 * 448) / (1000 * clockdiv);
drivers/media/usb/gspca/pac7302.c
525
reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
drivers/media/usb/gspca/pac7302.c
526
reg_w(gspca_dev, 0x02, clockdiv);
drivers/media/usb/gspca/pac7302.c
527
reg_w(gspca_dev, 0x0e, exposure & 0xff);
drivers/media/usb/gspca/pac7302.c
528
reg_w(gspca_dev, 0x0f, exposure >> 8);
drivers/media/usb/gspca/pac7302.c
531
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7302.c
534
static void sethvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
536
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
546
reg_w(gspca_dev, 0xff, 0x03); /* page 3 */
drivers/media/usb/gspca/pac7302.c
548
reg_w(gspca_dev, 0x21, data);
drivers/media/usb/gspca/pac7302.c
551
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7302.c
554
static void setsharpness(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
556
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
558
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
559
reg_w(gspca_dev, 0xb6, sd->sharpness->val);
drivers/media/usb/gspca/pac7302.c
561
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
565
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
567
reg_w_seq(gspca_dev, init_7302, sizeof(init_7302)/2);
drivers/media/usb/gspca/pac7302.c
568
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7302.c
573
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/pac7302.c
574
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/pac7302.c
575
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/pac7302.c
577
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/pac7302.c
584
gspca_dev->exposure->val = PAC7302_EXPOSURE_DEFAULT;
drivers/media/usb/gspca/pac7302.c
585
gspca_dev->gain->val = PAC7302_GAIN_DEFAULT;
drivers/media/usb/gspca/pac7302.c
589
if (!gspca_dev->streaming)
drivers/media/usb/gspca/pac7302.c
594
setbrightcont(gspca_dev);
drivers/media/usb/gspca/pac7302.c
597
setcolors(gspca_dev);
drivers/media/usb/gspca/pac7302.c
600
setwhitebalance(gspca_dev);
drivers/media/usb/gspca/pac7302.c
603
setredbalance(gspca_dev);
drivers/media/usb/gspca/pac7302.c
606
setbluebalance(gspca_dev);
drivers/media/usb/gspca/pac7302.c
609
if (gspca_dev->exposure->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac7302.c
610
setexposure(gspca_dev);
drivers/media/usb/gspca/pac7302.c
611
if (gspca_dev->gain->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac7302.c
612
setgain(gspca_dev);
drivers/media/usb/gspca/pac7302.c
615
sethvflip(gspca_dev);
drivers/media/usb/gspca/pac7302.c
618
setsharpness(gspca_dev);
drivers/media/usb/gspca/pac7302.c
623
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7302.c
631
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
633
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
634
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/pac7302.c
636
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/pac7302.c
660
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7302.c
662
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7302.c
665
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7302.c
683
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/pac7302.c
689
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
691
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
693
reg_w_var(gspca_dev, start_7302,
drivers/media/usb/gspca/pac7302.c
701
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7302.c
702
reg_w(gspca_dev, 0x78, 0x01);
drivers/media/usb/gspca/pac7302.c
704
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7302.c
707
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
711
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7302.c
712
reg_w(gspca_dev, 0x78, 0x00);
drivers/media/usb/gspca/pac7302.c
716
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
718
if (!gspca_dev->present)
drivers/media/usb/gspca/pac7302.c
720
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7302.c
721
reg_w(gspca_dev, 0x78, 0x40);
drivers/media/usb/gspca/pac7302.c
724
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7302.c
726
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
739
if (gspca_expo_autogain(gspca_dev, avg_lum, desired_lum,
drivers/media/usb/gspca/pac7302.c
772
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
776
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7302.c
780
sof = pac_find_sof(gspca_dev, &sd->sof_read, data, len);
drivers/media/usb/gspca/pac7302.c
796
gspca_dev->image_len += n;
drivers/media/usb/gspca/pac7302.c
798
gspca_frame_add(gspca_dev, INTER_PACKET, data, n);
drivers/media/usb/gspca/pac7302.c
801
image = gspca_dev->image;
drivers/media/usb/gspca/pac7302.c
803
&& image[gspca_dev->image_len - 2] == 0xff
drivers/media/usb/gspca/pac7302.c
804
&& image[gspca_dev->image_len - 1] == 0xd9)
drivers/media/usb/gspca/pac7302.c
805
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/pac7302.c
812
if (gspca_dev->last_packet_type == LAST_PACKET &&
drivers/media/usb/gspca/pac7302.c
819
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/pac7302.c
822
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/pac7302.c
826
static int sd_dbg_s_register(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
850
reg_w(gspca_dev, 0xff, 0x00); /* page 0 */
drivers/media/usb/gspca/pac7302.c
851
reg_w(gspca_dev, index, value);
drivers/media/usb/gspca/pac7302.c
853
reg_w(gspca_dev, 0xdc, 0x01);
drivers/media/usb/gspca/pac7302.c
855
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7302.c
860
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7302.c
878
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/pac7302.c
879
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac7302.c
880
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/pac7302.c
881
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac7311.c
151
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
157
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7311.c
159
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/pac7311.c
160
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7311.c
161
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7311.c
165
index, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/pac7311.c
170
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7311.c
175
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
181
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7311.c
183
gspca_dev->usb_buf[0] = value;
drivers/media/usb/gspca/pac7311.c
184
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7311.c
185
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7311.c
188
0, index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/pac7311.c
193
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7311.c
197
static void reg_w_seq(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
201
reg_w(gspca_dev, seq[0], seq[1]);
drivers/media/usb/gspca/pac7311.c
207
static void reg_w_page(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
213
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/pac7311.c
218
gspca_dev->usb_buf[0] = page[index];
drivers/media/usb/gspca/pac7311.c
219
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/pac7311.c
220
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/pac7311.c
223
0, index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/pac7311.c
228
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/pac7311.c
235
static void reg_w_var(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
248
reg_w_page(gspca_dev, page4, page4_len);
drivers/media/usb/gspca/pac7311.c
252
gspca_err(gspca_dev, "Incorrect variable sequence\n");
drivers/media/usb/gspca/pac7311.c
257
reg_w_buf(gspca_dev,
drivers/media/usb/gspca/pac7311.c
262
reg_w_buf(gspca_dev, index, seq, 8);
drivers/media/usb/gspca/pac7311.c
273
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
276
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/pac7311.c
285
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/pac7311.c
287
reg_w(gspca_dev, 0xff, 0x04);
drivers/media/usb/gspca/pac7311.c
288
reg_w(gspca_dev, 0x10, val);
drivers/media/usb/gspca/pac7311.c
290
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7311.c
293
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/pac7311.c
295
reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
drivers/media/usb/gspca/pac7311.c
296
reg_w(gspca_dev, 0x0e, 0x00);
drivers/media/usb/gspca/pac7311.c
297
reg_w(gspca_dev, 0x0f, gspca_dev->gain->maximum - val + 1);
drivers/media/usb/gspca/pac7311.c
300
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7311.c
303
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/pac7311.c
305
reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
drivers/media/usb/gspca/pac7311.c
306
reg_w(gspca_dev, 0x02, val);
drivers/media/usb/gspca/pac7311.c
309
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7311.c
315
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
316
if (gspca_dev->pixfmt.width != 640 && val <= 3)
drivers/media/usb/gspca/pac7311.c
317
reg_w(gspca_dev, 0x08, 0x09);
drivers/media/usb/gspca/pac7311.c
319
reg_w(gspca_dev, 0x08, 0x08);
drivers/media/usb/gspca/pac7311.c
327
if (gspca_dev->pixfmt.width == 640 && val == 2)
drivers/media/usb/gspca/pac7311.c
328
reg_w(gspca_dev, 0x80, 0x01);
drivers/media/usb/gspca/pac7311.c
330
reg_w(gspca_dev, 0x80, 0x1c);
drivers/media/usb/gspca/pac7311.c
333
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7311.c
336
static void sethvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip)
drivers/media/usb/gspca/pac7311.c
340
reg_w(gspca_dev, 0xff, 0x04); /* page 4 */
drivers/media/usb/gspca/pac7311.c
343
reg_w(gspca_dev, 0x21, data);
drivers/media/usb/gspca/pac7311.c
346
reg_w(gspca_dev, 0x11, 0x01);
drivers/media/usb/gspca/pac7311.c
350
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7311.c
352
reg_w_seq(gspca_dev, init_7311, sizeof(init_7311)/2);
drivers/media/usb/gspca/pac7311.c
353
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7311.c
358
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/pac7311.c
359
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/pac7311.c
360
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/pac7311.c
362
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/pac7311.c
369
gspca_dev->exposure->val = PAC7311_EXPOSURE_DEFAULT;
drivers/media/usb/gspca/pac7311.c
370
gspca_dev->gain->val = PAC7311_GAIN_DEFAULT;
drivers/media/usb/gspca/pac7311.c
374
if (!gspca_dev->streaming)
drivers/media/usb/gspca/pac7311.c
379
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/pac7311.c
382
if (gspca_dev->exposure->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac7311.c
383
setexposure(gspca_dev, gspca_dev->exposure->val);
drivers/media/usb/gspca/pac7311.c
384
if (gspca_dev->gain->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/pac7311.c
385
setgain(gspca_dev, gspca_dev->gain->val);
drivers/media/usb/gspca/pac7311.c
388
sethvflip(gspca_dev, sd->hflip->val, 1);
drivers/media/usb/gspca/pac7311.c
393
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7311.c
401
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7311.c
403
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7311.c
404
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/pac7311.c
406
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/pac7311.c
411
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7311.c
413
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7311.c
416
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/pac7311.c
427
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/pac7311.c
432
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7311.c
434
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7311.c
438
reg_w_var(gspca_dev, start_7311,
drivers/media/usb/gspca/pac7311.c
440
setcontrast(gspca_dev, v4l2_ctrl_g_ctrl(sd->contrast));
drivers/media/usb/gspca/pac7311.c
441
setgain(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->gain));
drivers/media/usb/gspca/pac7311.c
442
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure));
drivers/media/usb/gspca/pac7311.c
443
sethvflip(gspca_dev, v4l2_ctrl_g_ctrl(sd->hflip), 1);
drivers/media/usb/gspca/pac7311.c
446
switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/pac7311.c
448
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
449
reg_w(gspca_dev, 0x17, 0x20);
drivers/media/usb/gspca/pac7311.c
450
reg_w(gspca_dev, 0x87, 0x10);
drivers/media/usb/gspca/pac7311.c
453
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
454
reg_w(gspca_dev, 0x17, 0x30);
drivers/media/usb/gspca/pac7311.c
455
reg_w(gspca_dev, 0x87, 0x11);
drivers/media/usb/gspca/pac7311.c
458
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
459
reg_w(gspca_dev, 0x17, 0x00);
drivers/media/usb/gspca/pac7311.c
460
reg_w(gspca_dev, 0x87, 0x12);
drivers/media/usb/gspca/pac7311.c
469
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
470
reg_w(gspca_dev, 0x78, 0x05);
drivers/media/usb/gspca/pac7311.c
472
return gspca_dev->usb_err;
drivers/media/usb/gspca/pac7311.c
475
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7311.c
477
reg_w(gspca_dev, 0xff, 0x04);
drivers/media/usb/gspca/pac7311.c
478
reg_w(gspca_dev, 0x27, 0x80);
drivers/media/usb/gspca/pac7311.c
479
reg_w(gspca_dev, 0x28, 0xca);
drivers/media/usb/gspca/pac7311.c
480
reg_w(gspca_dev, 0x29, 0x53);
drivers/media/usb/gspca/pac7311.c
481
reg_w(gspca_dev, 0x2a, 0x0e);
drivers/media/usb/gspca/pac7311.c
482
reg_w(gspca_dev, 0xff, 0x01);
drivers/media/usb/gspca/pac7311.c
483
reg_w(gspca_dev, 0x3e, 0x20);
drivers/media/usb/gspca/pac7311.c
484
reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
drivers/media/usb/gspca/pac7311.c
485
reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
drivers/media/usb/gspca/pac7311.c
486
reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
drivers/media/usb/gspca/pac7311.c
489
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/pac7311.c
491
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7311.c
503
else if (gspca_coarse_grained_expo_autogain(gspca_dev, avg_lum,
drivers/media/usb/gspca/pac7311.c
536
static void pac_start_frame(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
541
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/pac7311.c
549
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/pac7311.c
551
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/pac7311.c
556
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
560
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/pac7311.c
564
sof = pac_find_sof(gspca_dev, &sd->sof_read, data, len);
drivers/media/usb/gspca/pac7311.c
580
gspca_dev->image_len += n;
drivers/media/usb/gspca/pac7311.c
583
gspca_frame_add(gspca_dev, INTER_PACKET, data, n);
drivers/media/usb/gspca/pac7311.c
585
image = gspca_dev->image;
drivers/media/usb/gspca/pac7311.c
587
&& image[gspca_dev->image_len - 2] == 0xff
drivers/media/usb/gspca/pac7311.c
588
&& image[gspca_dev->image_len - 1] == 0xd9)
drivers/media/usb/gspca/pac7311.c
589
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/pac7311.c
596
if (gspca_dev->last_packet_type == LAST_PACKET &&
drivers/media/usb/gspca/pac7311.c
604
pac_start_frame(gspca_dev,
drivers/media/usb/gspca/pac7311.c
605
gspca_dev->pixfmt.height, gspca_dev->pixfmt.width);
drivers/media/usb/gspca/pac7311.c
607
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/pac7311.c
611
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/pac7311.c
629
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/pac7311.c
630
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac7311.c
631
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/pac7311.c
632
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/pac7311.c
64
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/pac_common.h
100
gspca_dbg(gspca_dev, D_FRAM,
drivers/media/usb/gspca/pac_common.h
60
static unsigned char *pac_find_sof(struct gspca_dev *gspca_dev, u8 *sof_read,
drivers/media/usb/gspca/se401.c
103
gspca_dev->usb_err = err;
drivers/media/usb/gspca/se401.c
108
memset(gspca_dev->usb_buf, 0, READ_REQ_SIZE);
drivers/media/usb/gspca/se401.c
112
static void se401_set_feature(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/se401.c
117
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/se401.c
120
err = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/se401.c
121
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/se401.c
128
gspca_dev->usb_err = err;
drivers/media/usb/gspca/se401.c
132
static int se401_get_feature(struct gspca_dev *gspca_dev, u16 selector)
drivers/media/usb/gspca/se401.c
136
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/se401.c
137
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
141
gspca_dev->usb_err = -ENOBUFS;
drivers/media/usb/gspca/se401.c
142
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
145
err = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/se401.c
146
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/se401.c
149
0, selector, gspca_dev->usb_buf, 2, 1000);
drivers/media/usb/gspca/se401.c
153
gspca_dev->usb_err = err;
drivers/media/usb/gspca/se401.c
156
return gspca_dev->usb_buf[0] | (gspca_dev->usb_buf[1] << 8);
drivers/media/usb/gspca/se401.c
159
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/se401.c
162
se401_write_req(gspca_dev, SE401_REQ_SET_BRT, val, 0);
drivers/media/usb/gspca/se401.c
165
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/se401.c
170
se401_set_feature(gspca_dev, HV7131_REG_ARCG, gain);
drivers/media/usb/gspca/se401.c
172
se401_set_feature(gspca_dev, HV7131_REG_AGCG, gain);
drivers/media/usb/gspca/se401.c
174
se401_set_feature(gspca_dev, HV7131_REG_ABCG, gain);
drivers/media/usb/gspca/se401.c
177
static void setexposure(struct gspca_dev *gspca_dev, s32 val, s32 freq)
drivers/media/usb/gspca/se401.c
179
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/se401.c
200
se401_set_feature(gspca_dev, HV7131_REG_TITL, expose_l);
drivers/media/usb/gspca/se401.c
202
se401_set_feature(gspca_dev, HV7131_REG_TITM, expose_m);
drivers/media/usb/gspca/se401.c
204
se401_set_feature(gspca_dev, HV7131_REG_TITU, expose_h);
drivers/media/usb/gspca/se401.c
207
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/se401.c
210
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
211
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/se401.c
212
u8 *cd = gspca_dev->usb_buf;
drivers/media/usb/gspca/se401.c
217
se401_read_req(gspca_dev, SE401_REQ_GET_CAMERA_DESCRIPTOR, 1);
drivers/media/usb/gspca/se401.c
218
if (gspca_dev->usb_err) {
drivers/media/usb/gspca/se401.c
221
usb_reset_device(gspca_dev->dev);
drivers/media/usb/gspca/se401.c
222
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/se401.c
223
se401_read_req(gspca_dev, SE401_REQ_GET_CAMERA_DESCRIPTOR, 0);
drivers/media/usb/gspca/se401.c
227
se401_write_req(gspca_dev, SE401_REQ_LED_CONTROL, 0, 0);
drivers/media/usb/gspca/se401.c
228
if (gspca_dev->usb_err)
drivers/media/usb/gspca/se401.c
229
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
306
se401_read_req(gspca_dev, SE401_REQ_GET_BRT, 1);
drivers/media/usb/gspca/se401.c
307
sd->has_brightness = !!gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
308
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/se401.c
314
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
320
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
322
gspca_dev->alt = 1; /* Ignore the bogus isoc alt settings */
drivers/media/usb/gspca/se401.c
324
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
328
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
330
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
331
int mult = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/se401.c
334
se401_write_req(gspca_dev, SE401_REQ_CAMERA_POWER, 1, 1);
drivers/media/usb/gspca/se401.c
335
if (gspca_dev->usb_err) {
drivers/media/usb/gspca/se401.c
338
usb_reset_device(gspca_dev->dev);
drivers/media/usb/gspca/se401.c
339
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/se401.c
340
se401_write_req(gspca_dev, SE401_REQ_CAMERA_POWER, 1, 0);
drivers/media/usb/gspca/se401.c
342
se401_write_req(gspca_dev, SE401_REQ_LED_CONTROL, 1, 0);
drivers/media/usb/gspca/se401.c
344
se401_set_feature(gspca_dev, HV7131_REG_MODE_B, 0x05);
drivers/media/usb/gspca/se401.c
347
se401_write_req(gspca_dev, SE401_REQ_SET_WIDTH,
drivers/media/usb/gspca/se401.c
348
gspca_dev->pixfmt.width * mult, 0);
drivers/media/usb/gspca/se401.c
349
se401_write_req(gspca_dev, SE401_REQ_SET_HEIGHT,
drivers/media/usb/gspca/se401.c
350
gspca_dev->pixfmt.height * mult, 0);
drivers/media/usb/gspca/se401.c
365
se401_set_feature(gspca_dev, SE401_OPERATINGMODE, mode);
drivers/media/usb/gspca/se401.c
367
se401_set_feature(gspca_dev, HV7131_REG_ARLV, sd->resetlevel);
drivers/media/usb/gspca/se401.c
376
se401_write_req(gspca_dev, SE401_REQ_START_CONTINUOUS_CAPTURE, 0, 0);
drivers/media/usb/gspca/se401.c
378
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
381
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
383
se401_write_req(gspca_dev, SE401_REQ_STOP_CONTINUOUS_CAPTURE, 0, 0);
drivers/media/usb/gspca/se401.c
384
se401_write_req(gspca_dev, SE401_REQ_LED_CONTROL, 0, 0);
drivers/media/usb/gspca/se401.c
385
se401_write_req(gspca_dev, SE401_REQ_CAMERA_POWER, 0, 0);
drivers/media/usb/gspca/se401.c
388
static void sd_dq_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
390
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
396
sd_stopN(gspca_dev);
drivers/media/usb/gspca/se401.c
397
sd_start(gspca_dev);
drivers/media/usb/gspca/se401.c
410
se401_get_feature(gspca_dev, HV7131_REG_HIREFNOH);
drivers/media/usb/gspca/se401.c
411
se401_get_feature(gspca_dev, HV7131_REG_HIREFNOL);
drivers/media/usb/gspca/se401.c
412
se401_get_feature(gspca_dev, HV7131_REG_LOREFNOH);
drivers/media/usb/gspca/se401.c
413
se401_get_feature(gspca_dev, HV7131_REG_LOREFNOL);
drivers/media/usb/gspca/se401.c
414
ahrc = 256*se401_get_feature(gspca_dev, HV7131_REG_HIREFNOH) +
drivers/media/usb/gspca/se401.c
415
se401_get_feature(gspca_dev, HV7131_REG_HIREFNOL);
drivers/media/usb/gspca/se401.c
416
alrc = 256*se401_get_feature(gspca_dev, HV7131_REG_LOREFNOH) +
drivers/media/usb/gspca/se401.c
417
se401_get_feature(gspca_dev, HV7131_REG_LOREFNOL);
drivers/media/usb/gspca/se401.c
43
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/se401.c
443
se401_set_feature(gspca_dev, HV7131_REG_ARLV, sd->resetlevel);
drivers/media/usb/gspca/se401.c
449
static void sd_complete_frame(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/se401.c
451
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
462
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/se401.c
468
gspca_frame_add(gspca_dev, LAST_PACKET, data, len);
drivers/media/usb/gspca/se401.c
471
static void sd_pkt_scan_janggu(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/se401.c
473
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
474
int imagesize = gspca_dev->pixfmt.width * gspca_dev->pixfmt.height;
drivers/media/usb/gspca/se401.c
481
if (gspca_dev->last_packet_type == LAST_PACKET && len == 1024) {
drivers/media/usb/gspca/se401.c
482
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/se401.c
529
gspca_frame_add(gspca_dev, INTER_PACKET, sd->packet,
drivers/media/usb/gspca/se401.c
538
sd_complete_frame(gspca_dev, sd->packet, plen);
drivers/media/usb/gspca/se401.c
541
gspca_frame_add(gspca_dev, FIRST_PACKET, sd->packet,
drivers/media/usb/gspca/se401.c
553
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/se401.c
554
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/se401.c
557
static void sd_pkt_scan_bayer(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/se401.c
559
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/se401.c
560
int imagesize = cam->cam_mode[gspca_dev->curr_mode].sizeimage;
drivers/media/usb/gspca/se401.c
562
if (gspca_dev->image_len == 0) {
drivers/media/usb/gspca/se401.c
563
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/se401.c
567
if (gspca_dev->image_len + len >= imagesize) {
drivers/media/usb/gspca/se401.c
568
sd_complete_frame(gspca_dev, data, len);
drivers/media/usb/gspca/se401.c
572
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/se401.c
575
static void sd_pkt_scan(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/se401.c
577
int mult = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/se401.c
583
sd_pkt_scan_bayer(gspca_dev, data, len);
drivers/media/usb/gspca/se401.c
585
sd_pkt_scan_janggu(gspca_dev, data, len);
drivers/media/usb/gspca/se401.c
589
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/se401.c
591
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
606
input_report_key(gspca_dev->input_dev, KEY_CAMERA, state);
drivers/media/usb/gspca/se401.c
607
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/se401.c
617
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/se401.c
618
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/se401.c
619
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
62
static void se401_write_req(struct gspca_dev *gspca_dev, u16 req, u16 value,
drivers/media/usb/gspca/se401.c
621
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/se401.c
623
if (!gspca_dev->streaming)
drivers/media/usb/gspca/se401.c
628
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/se401.c
631
setgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/se401.c
634
setexposure(gspca_dev, ctrl->val, sd->freq->val);
drivers/media/usb/gspca/se401.c
637
return gspca_dev->usb_err;
drivers/media/usb/gspca/se401.c
644
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/se401.c
646
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/se401.c
647
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/se401.c
649
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/se401.c
67
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/se401.c
70
err = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/se401.c
71
usb_sndctrlpipe(gspca_dev->dev, 0), req,
drivers/media/usb/gspca/se401.c
78
gspca_dev->usb_err = err;
drivers/media/usb/gspca/se401.c
82
static void se401_read_req(struct gspca_dev *gspca_dev, u16 req, int silent)
drivers/media/usb/gspca/se401.c
86
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/se401.c
91
gspca_dev->usb_err = -ENOBUFS;
drivers/media/usb/gspca/se401.c
95
err = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/se401.c
96
usb_rcvctrlpipe(gspca_dev->dev, 0), req,
drivers/media/usb/gspca/se401.c
98
0, 0, gspca_dev->usb_buf, READ_REQ_SIZE, 1000);
drivers/media/usb/gspca/sn9c2028.c
100
static int sn9c2028_read4(struct gspca_dev *gspca_dev, u8 *reading)
drivers/media/usb/gspca/sn9c2028.c
103
rc = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sn9c2028.c
104
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sn9c2028.c
107
4, 0, gspca_dev->usb_buf, 4, 500);
drivers/media/usb/gspca/sn9c2028.c
112
memcpy(reading, gspca_dev->usb_buf, 4);
drivers/media/usb/gspca/sn9c2028.c
113
gspca_dbg(gspca_dev, D_USBI, "read4 response %02x%02x%02x%02x\n",
drivers/media/usb/gspca/sn9c2028.c
118
static int sn9c2028_long_command(struct gspca_dev *gspca_dev, u8 *command)
drivers/media/usb/gspca/sn9c2028.c
123
status = sn9c2028_command(gspca_dev, command);
drivers/media/usb/gspca/sn9c2028.c
129
status = sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
136
status = sn9c2028_read4(gspca_dev, reading);
drivers/media/usb/gspca/sn9c2028.c
142
status = sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
149
static int sn9c2028_short_command(struct gspca_dev *gspca_dev, u8 *command)
drivers/media/usb/gspca/sn9c2028.c
153
err_code = sn9c2028_command(gspca_dev, command);
drivers/media/usb/gspca/sn9c2028.c
157
err_code = sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
165
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
168
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
169
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sn9c2028.c
171
gspca_dbg(gspca_dev, D_PROBE, "SN9C2028 camera detected (vid/pid 0x%04X:0x%04X)\n",
drivers/media/usb/gspca/sn9c2028.c
178
gspca_dbg(gspca_dev, D_PROBE, "Genius Smart 300 camera\n");
drivers/media/usb/gspca/sn9c2028.c
181
gspca_dbg(gspca_dev, D_PROBE, "Genius Videocam Live v2\n");
drivers/media/usb/gspca/sn9c2028.c
184
gspca_dbg(gspca_dev, D_PROBE, "DC31VC\n");
drivers/media/usb/gspca/sn9c2028.c
187
gspca_dbg(gspca_dev, D_PROBE, "Spy camera\n");
drivers/media/usb/gspca/sn9c2028.c
190
gspca_dbg(gspca_dev, D_PROBE, "CIF camera\n");
drivers/media/usb/gspca/sn9c2028.c
193
gspca_dbg(gspca_dev, D_PROBE, "Mini-Shotz ms-350 camera\n");
drivers/media/usb/gspca/sn9c2028.c
196
gspca_dbg(gspca_dev, D_PROBE, "Vivitar 3350b type camera\n");
drivers/media/usb/gspca/sn9c2028.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sn9c2028.c
216
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
220
sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
221
sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
222
status = sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
227
static int run_start_commands(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
235
err_code = sn9c2028_long_command(gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
239
err_code = sn9c2028_short_command(gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
243
err_code = sn9c2028_command(gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
253
static void set_gain(struct gspca_dev *gspca_dev, s32 g)
drivers/media/usb/gspca/sn9c2028.c
255
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
261
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sn9c2028.c
267
run_start_commands(gspca_dev, genius_vcam_live_gain_cmds,
drivers/media/usb/gspca/sn9c2028.c
277
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sn9c2028.c
278
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sn9c2028.c
279
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
281
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c2028.c
283
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sn9c2028.c
289
set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c2028.c
293
set_gain(gspca_dev, sd->gain->val);
drivers/media/usb/gspca/sn9c2028.c
296
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c2028.c
304
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
306
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sn9c2028.c
307
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
309
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sn9c2028.c
325
static int start_spy_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
386
return run_start_commands(gspca_dev, spy_start_commands,
drivers/media/usb/gspca/sn9c2028.c
390
static int start_cif_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
463
return run_start_commands(gspca_dev, cif_start_commands,
drivers/media/usb/gspca/sn9c2028.c
467
static int start_ms350_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
531
return run_start_commands(gspca_dev, ms350_start_commands,
drivers/media/usb/gspca/sn9c2028.c
535
static int start_genius_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
59
static int sn9c2028_command(struct gspca_dev *gspca_dev, u8 *command)
drivers/media/usb/gspca/sn9c2028.c
603
return run_start_commands(gspca_dev, genius_start_commands,
drivers/media/usb/gspca/sn9c2028.c
607
static int start_genius_videocam_live(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
610
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
63
gspca_dbg(gspca_dev, D_USBO, "sending command %02x%02x%02x%02x%02x%02x\n",
drivers/media/usb/gspca/sn9c2028.c
67
memcpy(gspca_dev->usb_buf, command, 6);
drivers/media/usb/gspca/sn9c2028.c
68
rc = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sn9c2028.c
69
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sn9c2028.c
709
r = run_start_commands(gspca_dev, genius_vcam_live_start_commands,
drivers/media/usb/gspca/sn9c2028.c
715
set_gain(gspca_dev, v4l2_ctrl_g_ctrl(sd->gain));
drivers/media/usb/gspca/sn9c2028.c
72
2, 0, gspca_dev->usb_buf, 6, 500);
drivers/media/usb/gspca/sn9c2028.c
720
static int start_vivitar_cam(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
75
gspca_dev->usb_buf[0], rc);
drivers/media/usb/gspca/sn9c2028.c
798
return run_start_commands(gspca_dev, vivitar_start_commands,
drivers/media/usb/gspca/sn9c2028.c
802
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
804
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
811
err_code = start_genius_cam(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
814
err_code = start_genius_videocam_live(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
817
err_code = start_spy_cam(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
82
static int sn9c2028_read1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
820
err_code = start_cif_cam(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
823
err_code = start_ms350_cam(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
826
err_code = start_vivitar_cam(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
838
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
843
result = sn9c2028_read1(gspca_dev);
drivers/media/usb/gspca/sn9c2028.c
845
gspca_err(gspca_dev, "Camera Stop read failed\n");
drivers/media/usb/gspca/sn9c2028.c
849
result = sn9c2028_command(gspca_dev, data);
drivers/media/usb/gspca/sn9c2028.c
851
gspca_err(gspca_dev, "Camera Stop command failed\n");
drivers/media/usb/gspca/sn9c2028.c
854
static void do_autogain(struct gspca_dev *gspca_dev, int avg_lum)
drivers/media/usb/gspca/sn9c2028.c
856
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
86
rc = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sn9c2028.c
87
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sn9c2028.c
877
static void sd_dqcallback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c2028.c
879
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.c
884
do_autogain(gspca_dev, sd->avg_lum);
drivers/media/usb/gspca/sn9c2028.c
890
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c2028.c
896
sof = sn9c2028_find_sof(gspca_dev, data, len);
drivers/media/usb/gspca/sn9c2028.c
90
1, 0, gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/sn9c2028.c
906
gspca_frame_add(gspca_dev, LAST_PACKET, data, n);
drivers/media/usb/gspca/sn9c2028.c
908
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sn9c2028.c
913
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sn9c2028.c
95
gspca_dbg(gspca_dev, D_USBI, "read1 response %02x\n",
drivers/media/usb/gspca/sn9c2028.c
96
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/sn9c2028.c
97
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/sn9c2028.h
20
static unsigned char *sn9c2028_find_sof(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c2028.h
23
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c2028.h
36
gspca_dbg(gspca_dev, D_FRAM,
drivers/media/usb/gspca/sn9c20x.c
1001
static void i2c_w1_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1005
i2c_w1(gspca_dev, buf->reg, buf->val);
drivers/media/usb/gspca/sn9c20x.c
1010
static void i2c_w2(struct gspca_dev *gspca_dev, u8 reg, u16 val)
drivers/media/usb/gspca/sn9c20x.c
1012
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1028
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sn9c20x.c
1031
static void i2c_w2_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1035
i2c_w2(gspca_dev, buf->reg, buf->val);
drivers/media/usb/gspca/sn9c20x.c
1040
static void i2c_r1(struct gspca_dev *gspca_dev, u8 reg, u8 *val)
drivers/media/usb/gspca/sn9c20x.c
1042
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1053
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sn9c20x.c
1056
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sn9c20x.c
1057
reg_r(gspca_dev, 0x10c2, 5);
drivers/media/usb/gspca/sn9c20x.c
1058
*val = gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sn9c20x.c
1061
static void i2c_r2(struct gspca_dev *gspca_dev, u8 reg, u16 *val)
drivers/media/usb/gspca/sn9c20x.c
1063
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1074
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sn9c20x.c
1077
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sn9c20x.c
1078
reg_r(gspca_dev, 0x10c2, 5);
drivers/media/usb/gspca/sn9c20x.c
1079
*val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sn9c20x.c
1082
static void ov9650_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1085
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1087
i2c_r2(gspca_dev, 0x1c, &id);
drivers/media/usb/gspca/sn9c20x.c
1088
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1093
gspca_dev->usb_err = -ENODEV;
drivers/media/usb/gspca/sn9c20x.c
1097
i2c_w1(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/sn9c20x.c
1099
i2c_w1_buf(gspca_dev, ov9650_init, ARRAY_SIZE(ov9650_init));
drivers/media/usb/gspca/sn9c20x.c
1100
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1106
static void ov9655_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1108
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1110
i2c_w1(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/sn9c20x.c
1112
i2c_w1_buf(gspca_dev, ov9655_init, ARRAY_SIZE(ov9655_init));
drivers/media/usb/gspca/sn9c20x.c
1113
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1120
static void soi968_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1122
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1124
i2c_w1(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/sn9c20x.c
1126
i2c_w1_buf(gspca_dev, soi968_init, ARRAY_SIZE(soi968_init));
drivers/media/usb/gspca/sn9c20x.c
1127
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1134
static void ov7660_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1136
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1138
i2c_w1(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/sn9c20x.c
1140
i2c_w1_buf(gspca_dev, ov7660_init, ARRAY_SIZE(ov7660_init));
drivers/media/usb/gspca/sn9c20x.c
1141
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1147
static void ov7670_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1149
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1151
i2c_w1(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/sn9c20x.c
1153
i2c_w1_buf(gspca_dev, ov7670_init, ARRAY_SIZE(ov7670_init));
drivers/media/usb/gspca/sn9c20x.c
1154
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1161
static void mt9v_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1163
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1167
i2c_r2(gspca_dev, 0xff, &value);
drivers/media/usb/gspca/sn9c20x.c
1168
if (gspca_dev->usb_err >= 0
drivers/media/usb/gspca/sn9c20x.c
1170
i2c_w2_buf(gspca_dev, mt9v011_init, ARRAY_SIZE(mt9v011_init));
drivers/media/usb/gspca/sn9c20x.c
1171
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1182
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c20x.c
1184
i2c_w2(gspca_dev, 0x01, 0x0004);
drivers/media/usb/gspca/sn9c20x.c
1185
i2c_r2(gspca_dev, 0xff, &value);
drivers/media/usb/gspca/sn9c20x.c
1186
if (gspca_dev->usb_err >= 0
drivers/media/usb/gspca/sn9c20x.c
1188
i2c_w2_buf(gspca_dev, mt9v111_init, ARRAY_SIZE(mt9v111_init));
drivers/media/usb/gspca/sn9c20x.c
1189
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1200
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c20x.c
1202
i2c_w2(gspca_dev, 0xf0, 0x0000);
drivers/media/usb/gspca/sn9c20x.c
1203
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1204
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c20x.c
1206
i2c_w2(gspca_dev, 0xf0, 0x0000);
drivers/media/usb/gspca/sn9c20x.c
1208
i2c_r2(gspca_dev, 0x00, &value);
drivers/media/usb/gspca/sn9c20x.c
1209
if (gspca_dev->usb_err >= 0
drivers/media/usb/gspca/sn9c20x.c
1211
i2c_w2_buf(gspca_dev, mt9v112_init, ARRAY_SIZE(mt9v112_init));
drivers/media/usb/gspca/sn9c20x.c
1212
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1223
gspca_dev->usb_err = -ENODEV;
drivers/media/usb/gspca/sn9c20x.c
1226
static void mt9m112_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1228
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1230
i2c_w2_buf(gspca_dev, mt9m112_init, ARRAY_SIZE(mt9m112_init));
drivers/media/usb/gspca/sn9c20x.c
1231
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1238
static void mt9m111_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1240
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1242
i2c_w2_buf(gspca_dev, mt9m111_init, ARRAY_SIZE(mt9m111_init));
drivers/media/usb/gspca/sn9c20x.c
1243
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1250
static void mt9m001_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1252
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1255
i2c_r2(gspca_dev, 0x00, &id);
drivers/media/usb/gspca/sn9c20x.c
1256
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1270
gspca_dev->usb_err = -ENODEV;
drivers/media/usb/gspca/sn9c20x.c
1274
i2c_w2_buf(gspca_dev, mt9m001_init, ARRAY_SIZE(mt9m001_init));
drivers/media/usb/gspca/sn9c20x.c
1275
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1282
static void hv7131r_init_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1284
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1286
i2c_w1_buf(gspca_dev, hv7131r_init, ARRAY_SIZE(hv7131r_init));
drivers/media/usb/gspca/sn9c20x.c
1287
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1294
static void set_cmatrix(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1330
reg_w(gspca_dev, 0x10e1, cmatrix, 21);
drivers/media/usb/gspca/sn9c20x.c
1333
static void set_gamma(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sn9c20x.c
1356
reg_w(gspca_dev, 0x1190, gamma, 17);
drivers/media/usb/gspca/sn9c20x.c
1359
static void set_redblue(struct gspca_dev *gspca_dev, s32 blue, s32 red)
drivers/media/usb/gspca/sn9c20x.c
1361
reg_w1(gspca_dev, 0x118c, red);
drivers/media/usb/gspca/sn9c20x.c
1362
reg_w1(gspca_dev, 0x118f, blue);
drivers/media/usb/gspca/sn9c20x.c
1365
static void set_hvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip)
drivers/media/usb/gspca/sn9c20x.c
1369
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1387
reg_w1(gspca_dev, 0x1182, sd->vstart);
drivers/media/usb/gspca/sn9c20x.c
1388
i2c_w1(gspca_dev, 0x1e, value);
drivers/media/usb/gspca/sn9c20x.c
1391
i2c_r1(gspca_dev, 0x1e, &value);
drivers/media/usb/gspca/sn9c20x.c
1400
i2c_w1(gspca_dev, 0x1e, value);
drivers/media/usb/gspca/sn9c20x.c
1401
i2c_w1(gspca_dev, 0x3a, tslb);
drivers/media/usb/gspca/sn9c20x.c
1405
i2c_r2(gspca_dev, 0x20, &value2);
drivers/media/usb/gspca/sn9c20x.c
1411
i2c_w2(gspca_dev, 0x20, value2);
drivers/media/usb/gspca/sn9c20x.c
1416
i2c_r2(gspca_dev, 0x20, &value2);
drivers/media/usb/gspca/sn9c20x.c
1422
i2c_w2(gspca_dev, 0x20, value2);
drivers/media/usb/gspca/sn9c20x.c
1425
i2c_r1(gspca_dev, 0x01, &value);
drivers/media/usb/gspca/sn9c20x.c
1431
i2c_w1(gspca_dev, 0x01, value);
drivers/media/usb/gspca/sn9c20x.c
1436
static void set_exposure(struct gspca_dev *gspca_dev, s32 expo)
drivers/media/usb/gspca/sn9c20x.c
1438
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1443
if (gspca_dev->streaming)
drivers/media/usb/gspca/sn9c20x.c
1459
i2c_w(gspca_dev, exp);
drivers/media/usb/gspca/sn9c20x.c
1463
i2c_w(gspca_dev, exp);
drivers/media/usb/gspca/sn9c20x.c
1489
i2c_w(gspca_dev, exp);
drivers/media/usb/gspca/sn9c20x.c
1492
static void set_gain(struct gspca_dev *gspca_dev, s32 g)
drivers/media/usb/gspca/sn9c20x.c
1494
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1498
if (gspca_dev->streaming)
drivers/media/usb/gspca/sn9c20x.c
1536
i2c_w(gspca_dev, gain);
drivers/media/usb/gspca/sn9c20x.c
1539
static void set_led_mode(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sn9c20x.c
1541
reg_w1(gspca_dev, 0x1007, 0x60);
drivers/media/usb/gspca/sn9c20x.c
1542
reg_w1(gspca_dev, 0x1006, val ? 0x40 : 0x00);
drivers/media/usb/gspca/sn9c20x.c
1545
static void set_quality(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sn9c20x.c
1547
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1550
reg_w1(gspca_dev, 0x1061, 0x01); /* stop transfer */
drivers/media/usb/gspca/sn9c20x.c
1551
reg_w1(gspca_dev, 0x10e0, sd->fmt | 0x20); /* write QTAB */
drivers/media/usb/gspca/sn9c20x.c
1552
reg_w(gspca_dev, 0x1100, &sd->jpeg_hdr[JPEG_QT0_OFFSET], 64);
drivers/media/usb/gspca/sn9c20x.c
1553
reg_w(gspca_dev, 0x1140, &sd->jpeg_hdr[JPEG_QT1_OFFSET], 64);
drivers/media/usb/gspca/sn9c20x.c
1554
reg_w1(gspca_dev, 0x1061, 0x03); /* restart transfer */
drivers/media/usb/gspca/sn9c20x.c
1555
reg_w1(gspca_dev, 0x10e0, sd->fmt);
drivers/media/usb/gspca/sn9c20x.c
1557
reg_w1(gspca_dev, 0x10e0, sd->fmt);
drivers/media/usb/gspca/sn9c20x.c
1561
static int sd_dbg_g_register(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1564
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1571
reg_r(gspca_dev, reg->reg, 1);
drivers/media/usb/gspca/sn9c20x.c
1572
reg->val = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/sn9c20x.c
1573
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1577
i2c_r2(gspca_dev, reg->reg, (u16 *) ®->val);
drivers/media/usb/gspca/sn9c20x.c
1580
i2c_r1(gspca_dev, reg->reg, (u8 *) ®->val);
drivers/media/usb/gspca/sn9c20x.c
1582
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1587
static int sd_dbg_s_register(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1590
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1596
reg_w1(gspca_dev, reg->reg, reg->val);
drivers/media/usb/gspca/sn9c20x.c
1597
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1601
i2c_w2(gspca_dev, reg->reg, reg->val);
drivers/media/usb/gspca/sn9c20x.c
1603
i2c_w1(gspca_dev, reg->reg, reg->val);
drivers/media/usb/gspca/sn9c20x.c
1605
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1610
static int sd_chip_info(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1621
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
1624
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1627
cam = &gspca_dev->cam;
drivers/media/usb/gspca/sn9c20x.c
1667
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sn9c20x.c
1668
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sn9c20x.c
1669
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1671
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c20x.c
1673
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sn9c20x.c
1679
set_cmatrix(gspca_dev, sd->brightness->val,
drivers/media/usb/gspca/sn9c20x.c
1683
set_gamma(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c20x.c
1687
set_redblue(gspca_dev, sd->blue->val, sd->red->val);
drivers/media/usb/gspca/sn9c20x.c
1691
set_hvflip(gspca_dev, sd->hflip->val, sd->vflip->val);
drivers/media/usb/gspca/sn9c20x.c
1695
set_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c20x.c
1699
set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c20x.c
1704
set_gain(gspca_dev, sd->gain->val);
drivers/media/usb/gspca/sn9c20x.c
1706
set_exposure(gspca_dev, sd->exposure->val);
drivers/media/usb/gspca/sn9c20x.c
1709
set_quality(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c20x.c
1712
set_led_mode(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sn9c20x.c
1715
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1722
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1724
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1725
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sn9c20x.c
1727
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sn9c20x.c
1800
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1802
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1811
reg_w(gspca_dev, bridge_init[i][0], &value, 1);
drivers/media/usb/gspca/sn9c20x.c
1812
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1814
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1819
reg_w1(gspca_dev, 0x1006, 0x00);
drivers/media/usb/gspca/sn9c20x.c
1821
reg_w1(gspca_dev, 0x1006, 0x20);
drivers/media/usb/gspca/sn9c20x.c
1823
reg_w(gspca_dev, 0x10c0, i2c_init, 9);
drivers/media/usb/gspca/sn9c20x.c
1824
if (gspca_dev->usb_err < 0) {
drivers/media/usb/gspca/sn9c20x.c
1826
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1831
ov9650_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1832
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1837
ov9655_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1838
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1843
soi968_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1844
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1849
ov7660_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1850
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1855
ov7670_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1856
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1861
mt9v_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1862
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1867
mt9m111_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1868
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1873
mt9m112_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1874
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1879
mt9m001_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1880
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1884
hv7131r_init_sensor(gspca_dev);
drivers/media/usb/gspca/sn9c20x.c
1885
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
1891
gspca_dev->usb_err = -ENODEV;
drivers/media/usb/gspca/sn9c20x.c
1893
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
1896
static void configure_sensor_output(struct gspca_dev *gspca_dev, int mode)
drivers/media/usb/gspca/sn9c20x.c
1898
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
1904
i2c_w1(gspca_dev, 0x17, 0x1d);
drivers/media/usb/gspca/sn9c20x.c
1905
i2c_w1(gspca_dev, 0x18, 0xbd);
drivers/media/usb/gspca/sn9c20x.c
1906
i2c_w1(gspca_dev, 0x19, 0x01);
drivers/media/usb/gspca/sn9c20x.c
1907
i2c_w1(gspca_dev, 0x1a, 0x81);
drivers/media/usb/gspca/sn9c20x.c
1908
i2c_w1(gspca_dev, 0x12, 0x00);
drivers/media/usb/gspca/sn9c20x.c
1912
i2c_w1(gspca_dev, 0x17, 0x13);
drivers/media/usb/gspca/sn9c20x.c
1913
i2c_w1(gspca_dev, 0x18, 0x63);
drivers/media/usb/gspca/sn9c20x.c
1914
i2c_w1(gspca_dev, 0x19, 0x01);
drivers/media/usb/gspca/sn9c20x.c
1915
i2c_w1(gspca_dev, 0x1a, 0x79);
drivers/media/usb/gspca/sn9c20x.c
1916
i2c_w1(gspca_dev, 0x12, 0x40);
drivers/media/usb/gspca/sn9c20x.c
1923
i2c_w1(gspca_dev, 0x17, 0x1b);
drivers/media/usb/gspca/sn9c20x.c
1924
i2c_w1(gspca_dev, 0x18, 0xbc);
drivers/media/usb/gspca/sn9c20x.c
1925
i2c_w1(gspca_dev, 0x19, 0x01);
drivers/media/usb/gspca/sn9c20x.c
1926
i2c_w1(gspca_dev, 0x1a, 0x82);
drivers/media/usb/gspca/sn9c20x.c
1927
i2c_r1(gspca_dev, 0x12, &value);
drivers/media/usb/gspca/sn9c20x.c
1928
i2c_w1(gspca_dev, 0x12, value & 0x07);
drivers/media/usb/gspca/sn9c20x.c
1930
i2c_w1(gspca_dev, 0x17, 0x24);
drivers/media/usb/gspca/sn9c20x.c
1931
i2c_w1(gspca_dev, 0x18, 0xc5);
drivers/media/usb/gspca/sn9c20x.c
1932
i2c_w1(gspca_dev, 0x19, 0x00);
drivers/media/usb/gspca/sn9c20x.c
1933
i2c_w1(gspca_dev, 0x1a, 0x3c);
drivers/media/usb/gspca/sn9c20x.c
1934
i2c_r1(gspca_dev, 0x12, &value);
drivers/media/usb/gspca/sn9c20x.c
1935
i2c_w1(gspca_dev, 0x12, (value & 0x7) | 0x40);
drivers/media/usb/gspca/sn9c20x.c
1941
i2c_w2(gspca_dev, 0xf0, 0x0002);
drivers/media/usb/gspca/sn9c20x.c
1942
i2c_w2(gspca_dev, 0xc8, 0x970b);
drivers/media/usb/gspca/sn9c20x.c
1943
i2c_w2(gspca_dev, 0xf0, 0x0000);
drivers/media/usb/gspca/sn9c20x.c
1945
i2c_w2(gspca_dev, 0xf0, 0x0002);
drivers/media/usb/gspca/sn9c20x.c
1946
i2c_w2(gspca_dev, 0xc8, 0x8000);
drivers/media/usb/gspca/sn9c20x.c
1947
i2c_w2(gspca_dev, 0xf0, 0x0000);
drivers/media/usb/gspca/sn9c20x.c
1953
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
1956
u32 flags = gspca_dev->cam.cam_mode[(int)gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sn9c20x.c
1964
intf = usb_ifnum_to_if(gspca_dev->dev, gspca_dev->iface);
drivers/media/usb/gspca/sn9c20x.c
1969
gspca_dev->alt = intf->num_altsetting;
drivers/media/usb/gspca/sn9c20x.c
1973
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/sn9c20x.c
1975
gspca_dev->alt = 2;
drivers/media/usb/gspca/sn9c20x.c
1978
gspca_dev->alt = 6;
drivers/media/usb/gspca/sn9c20x.c
1981
gspca_dev->alt = 9;
drivers/media/usb/gspca/sn9c20x.c
1999
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
2001
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2002
int mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sn9c20x.c
2003
int width = gspca_dev->pixfmt.width;
drivers/media/usb/gspca/sn9c20x.c
2004
int height = gspca_dev->pixfmt.height;
drivers/media/usb/gspca/sn9c20x.c
2038
configure_sensor_output(gspca_dev, mode);
drivers/media/usb/gspca/sn9c20x.c
2039
reg_w(gspca_dev, 0x1100, &sd->jpeg_hdr[JPEG_QT0_OFFSET], 64);
drivers/media/usb/gspca/sn9c20x.c
2040
reg_w(gspca_dev, 0x1140, &sd->jpeg_hdr[JPEG_QT1_OFFSET], 64);
drivers/media/usb/gspca/sn9c20x.c
2041
reg_w(gspca_dev, 0x10fb, CLR_WIN(width, height), 5);
drivers/media/usb/gspca/sn9c20x.c
2042
reg_w(gspca_dev, 0x1180, HW_WIN(mode, sd->hstart, sd->vstart), 6);
drivers/media/usb/gspca/sn9c20x.c
2043
reg_w1(gspca_dev, 0x1189, scale);
drivers/media/usb/gspca/sn9c20x.c
2044
reg_w1(gspca_dev, 0x10e0, fmt);
drivers/media/usb/gspca/sn9c20x.c
2046
set_cmatrix(gspca_dev, v4l2_ctrl_g_ctrl(sd->brightness),
drivers/media/usb/gspca/sn9c20x.c
2050
set_gamma(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma));
drivers/media/usb/gspca/sn9c20x.c
2051
set_redblue(gspca_dev, v4l2_ctrl_g_ctrl(sd->blue),
drivers/media/usb/gspca/sn9c20x.c
2054
set_gain(gspca_dev, v4l2_ctrl_g_ctrl(sd->gain));
drivers/media/usb/gspca/sn9c20x.c
2056
set_exposure(gspca_dev, v4l2_ctrl_g_ctrl(sd->exposure));
drivers/media/usb/gspca/sn9c20x.c
2058
set_hvflip(gspca_dev, v4l2_ctrl_g_ctrl(sd->hflip),
drivers/media/usb/gspca/sn9c20x.c
2061
reg_w1(gspca_dev, 0x1007, 0x20);
drivers/media/usb/gspca/sn9c20x.c
2062
reg_w1(gspca_dev, 0x1061, 0x03);
drivers/media/usb/gspca/sn9c20x.c
2072
return gspca_dev->usb_err;
drivers/media/usb/gspca/sn9c20x.c
2075
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
2077
reg_w1(gspca_dev, 0x1007, 0x00);
drivers/media/usb/gspca/sn9c20x.c
2078
reg_w1(gspca_dev, 0x1061, 0x01);
drivers/media/usb/gspca/sn9c20x.c
2083
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
2085
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2087
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sn9c20x.c
2089
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sn9c20x.c
2092
static void do_autoexposure(struct gspca_dev *gspca_dev, u16 avg_lum)
drivers/media/usb/gspca/sn9c20x.c
2094
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2143
static void do_autogain(struct gspca_dev *gspca_dev, u16 avg_lum)
drivers/media/usb/gspca/sn9c20x.c
2145
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2154
static void sd_dqcallback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sn9c20x.c
2156
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2164
do_autogain(gspca_dev, avg_lum);
drivers/media/usb/gspca/sn9c20x.c
2166
do_autoexposure(gspca_dev, avg_lum);
drivers/media/usb/gspca/sn9c20x.c
2174
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2178
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sn9c20x.c
2179
gspca_dbg(gspca_dev, D_STREAM, "qual_upd %d%%\n", qual);
drivers/media/usb/gspca/sn9c20x.c
2180
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sn9c20x.c
2181
set_quality(gspca_dev, qual);
drivers/media/usb/gspca/sn9c20x.c
2182
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sn9c20x.c
2186
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
2190
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2193
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/sn9c20x.c
2194
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/sn9c20x.c
2195
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/sn9c20x.c
2196
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/sn9c20x.c
2204
static void transfer_check(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
2207
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2214
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/sn9c20x.c
2221
gspca_dev->urb[0]->iso_frame_desc[0].length);
drivers/media/usb/gspca/sn9c20x.c
2251
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sn9c20x.c
2255
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
2291
transfer_check(gspca_dev, data);
drivers/media/usb/gspca/sn9c20x.c
2293
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/sn9c20x.c
2299
if (gspca_dev->last_packet_type == LAST_PACKET) {
drivers/media/usb/gspca/sn9c20x.c
2301
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sn9c20x.c
2303
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/sn9c20x.c
2306
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sn9c20x.c
2315
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sn9c20x.c
57
struct gspca_dev gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
904
static void reg_r(struct gspca_dev *gspca_dev, u16 reg, u16 length)
drivers/media/usb/gspca/sn9c20x.c
906
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/sn9c20x.c
909
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
916
gspca_dev->usb_buf,
drivers/media/usb/gspca/sn9c20x.c
921
gspca_dev->usb_err = result;
drivers/media/usb/gspca/sn9c20x.c
926
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/sn9c20x.c
930
static void reg_w(struct gspca_dev *gspca_dev, u16 reg,
drivers/media/usb/gspca/sn9c20x.c
933
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/sn9c20x.c
936
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
938
memcpy(gspca_dev->usb_buf, buffer, length);
drivers/media/usb/gspca/sn9c20x.c
944
gspca_dev->usb_buf,
drivers/media/usb/gspca/sn9c20x.c
949
gspca_dev->usb_err = result;
drivers/media/usb/gspca/sn9c20x.c
953
static void reg_w1(struct gspca_dev *gspca_dev, u16 reg, const u8 value)
drivers/media/usb/gspca/sn9c20x.c
955
reg_w(gspca_dev, reg, &value, 1);
drivers/media/usb/gspca/sn9c20x.c
958
static void i2c_w(struct gspca_dev *gspca_dev, const u8 *buffer)
drivers/media/usb/gspca/sn9c20x.c
962
reg_w(gspca_dev, 0x10c0, buffer, 8);
drivers/media/usb/gspca/sn9c20x.c
964
reg_r(gspca_dev, 0x10c0, 1);
drivers/media/usb/gspca/sn9c20x.c
965
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sn9c20x.c
967
if (gspca_dev->usb_buf[0] & 0x04) {
drivers/media/usb/gspca/sn9c20x.c
968
if (gspca_dev->usb_buf[0] & 0x08) {
drivers/media/usb/gspca/sn9c20x.c
970
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/sn9c20x.c
980
static void i2c_w1(struct gspca_dev *gspca_dev, u8 reg, u8 val)
drivers/media/usb/gspca/sn9c20x.c
982
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sn9c20x.c
998
i2c_w(gspca_dev, row);
drivers/media/usb/gspca/sonixb.c
1000
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
1001
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sonixb.c
1003
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sonixb.c
1016
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1020
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1024
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1030
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1035
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1038
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1046
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1054
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1060
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1065
if (gspca_dev->exposure) {
drivers/media/usb/gspca/sonixb.c
1066
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixb.c
1081
if (gspca_dev->autogain)
drivers/media/usb/gspca/sonixb.c
1082
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/sonixb.c
1088
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
1090
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
1091
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sonixb.c
1095
mode = cam->cam_mode[gspca_dev->curr_mode].priv & 0x07;
drivers/media/usb/gspca/sonixb.c
1160
if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_RAW)
drivers/media/usb/gspca/sonixb.c
1164
if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_REDUCED_SIF) {
drivers/media/usb/gspca/sonixb.c
1172
reg_w(gspca_dev, 0x01, ®s[0x01], 1);
drivers/media/usb/gspca/sonixb.c
1174
reg_w(gspca_dev, 0x17, ®s[0x17], 1);
drivers/media/usb/gspca/sonixb.c
1176
reg_w(gspca_dev, 0x01, ®s[0x01],
drivers/media/usb/gspca/sonixb.c
1180
i2c_w_vector(gspca_dev, sensor_data[sd->sensor].sensor_init,
drivers/media/usb/gspca/sonixb.c
1190
i2c_w(gspca_dev, i2cpclockdiv);
drivers/media/usb/gspca/sonixb.c
1199
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
1204
reg_w(gspca_dev, 0x15, ®s[0x15], 2);
drivers/media/usb/gspca/sonixb.c
1206
reg_w(gspca_dev, 0x18, ®s[0x18], 1);
drivers/media/usb/gspca/sonixb.c
1208
reg_w(gspca_dev, 0x12, ®s[0x12], 1);
drivers/media/usb/gspca/sonixb.c
1210
reg_w(gspca_dev, 0x13, ®s[0x13], 1);
drivers/media/usb/gspca/sonixb.c
1213
reg_w(gspca_dev, 0x17, ®s[0x17], 1);
drivers/media/usb/gspca/sonixb.c
1215
reg_w(gspca_dev, 0x19, ®s[0x19], 1);
drivers/media/usb/gspca/sonixb.c
1217
reg_w(gspca_dev, 0x1c, ®s[0x1c], 4);
drivers/media/usb/gspca/sonixb.c
1219
reg_w(gspca_dev, 0x01, ®s[0x01], 1);
drivers/media/usb/gspca/sonixb.c
1221
reg_w(gspca_dev, 0x18, ®s[0x18], 2);
drivers/media/usb/gspca/sonixb.c
1226
setgain(gspca_dev);
drivers/media/usb/gspca/sonixb.c
1227
setbrightness(gspca_dev);
drivers/media/usb/gspca/sonixb.c
1228
setexposure(gspca_dev);
drivers/media/usb/gspca/sonixb.c
1229
setfreq(gspca_dev);
drivers/media/usb/gspca/sonixb.c
1233
gspca_dev->exp_too_high_cnt = 0;
drivers/media/usb/gspca/sonixb.c
1234
gspca_dev->exp_too_low_cnt = 0;
drivers/media/usb/gspca/sonixb.c
1236
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixb.c
1239
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
1241
sd_init(gspca_dev);
drivers/media/usb/gspca/sonixb.c
1244
static u8* find_sof(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/sonixb.c
1246
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
1312
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
1317
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
1318
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sonixb.c
1321
sof = find_sof(gspca_dev, data, len);
drivers/media/usb/gspca/sonixb.c
1337
if (cam->cam_mode[gspca_dev->curr_mode].priv & MODE_RAW) {
drivers/media/usb/gspca/sonixb.c
1341
int size = cam->cam_mode[gspca_dev->curr_mode].sizeimage;
drivers/media/usb/gspca/sonixb.c
1343
used = gspca_dev->image_len;
drivers/media/usb/gspca/sonixb.c
1348
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sonixb.c
1372
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/sonixb.c
1374
gspca_frame_add(gspca_dev, FIRST_PACKET, sof, len_after_sof);
drivers/media/usb/gspca/sonixb.c
1379
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
1386
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/sonixb.c
1387
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/sonixb.c
1388
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/sonixb.c
1389
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/sonixb.c
435
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
440
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixb.c
443
res = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixb.c
444
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixb.c
449
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sonixb.c
453
dev_err(gspca_dev->v4l2_dev.dev,
drivers/media/usb/gspca/sonixb.c
455
gspca_dev->usb_err = res;
drivers/media/usb/gspca/sonixb.c
460
gspca_dev->usb_buf[0] = 0;
drivers/media/usb/gspca/sonixb.c
464
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
471
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixb.c
474
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/sonixb.c
475
res = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixb.c
476
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixb.c
48
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sonixb.c
481
gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sonixb.c
485
dev_err(gspca_dev->v4l2_dev.dev,
drivers/media/usb/gspca/sonixb.c
487
gspca_dev->usb_err = res;
drivers/media/usb/gspca/sonixb.c
491
static void i2c_w(struct gspca_dev *gspca_dev, const u8 *buf)
drivers/media/usb/gspca/sonixb.c
495
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixb.c
499
reg_w(gspca_dev, 0x08, buf, 8);
drivers/media/usb/gspca/sonixb.c
501
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixb.c
504
reg_r(gspca_dev, 0x08);
drivers/media/usb/gspca/sonixb.c
505
if (gspca_dev->usb_buf[0] & 0x04) {
drivers/media/usb/gspca/sonixb.c
506
if (gspca_dev->usb_buf[0] & 0x08) {
drivers/media/usb/gspca/sonixb.c
507
dev_err(gspca_dev->v4l2_dev.dev,
drivers/media/usb/gspca/sonixb.c
509
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/sonixb.c
515
dev_err(gspca_dev->v4l2_dev.dev, "i2c write timeout\n");
drivers/media/usb/gspca/sonixb.c
516
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/sonixb.c
519
static void i2c_w_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
523
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixb.c
525
i2c_w(gspca_dev, *buffer);
drivers/media/usb/gspca/sonixb.c
533
static void setbrightness(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
535
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
546
i2c_w(gspca_dev, i2cOV);
drivers/media/usb/gspca/sonixb.c
570
i2c_w(gspca_dev, i2cpbright);
drivers/media/usb/gspca/sonixb.c
571
i2c_w(gspca_dev, i2cpdoit);
drivers/media/usb/gspca/sonixb.c
579
static void setgain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
581
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
582
u8 gain = gspca_dev->gain->val;
drivers/media/usb/gspca/sonixb.c
593
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
602
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
618
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
634
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
660
i2c_w(gspca_dev, i2cpgain);
drivers/media/usb/gspca/sonixb.c
661
i2c_w(gspca_dev, i2cpcolorgain);
drivers/media/usb/gspca/sonixb.c
662
i2c_w(gspca_dev, i2cpdoit);
drivers/media/usb/gspca/sonixb.c
668
reg_w(gspca_dev, 0x05, buf, 3);
drivers/media/usb/gspca/sonixb.c
673
reg_w(gspca_dev, 0x10, buf, 2);
drivers/media/usb/gspca/sonixb.c
678
static void setexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
680
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
687
u16 reg = gspca_dev->exposure->val;
drivers/media/usb/gspca/sonixb.c
691
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
699
u8 reg = gspca_dev->exposure->val;
drivers/media/usb/gspca/sonixb.c
702
reg_w(gspca_dev, 0x19, ®, 1);
drivers/media/usb/gspca/sonixb.c
736
reg11 = (15 * gspca_dev->exposure->val + 999) / 1000;
drivers/media/usb/gspca/sonixb.c
745
if (gspca_dev->pixfmt.width == 640 && reg11 < 4)
drivers/media/usb/gspca/sonixb.c
751
reg10 = (gspca_dev->exposure->val * 15 * reg10_max)
drivers/media/usb/gspca/sonixb.c
758
if (gspca_dev->autogain->val && reg10 < 10)
drivers/media/usb/gspca/sonixb.c
772
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
773
if (gspca_dev->usb_err == 0)
drivers/media/usb/gspca/sonixb.c
796
if (gspca_dev->exposure->val < 200) {
drivers/media/usb/gspca/sonixb.c
797
i2cpexpo[3] = 255 - (gspca_dev->exposure->val * 255)
drivers/media/usb/gspca/sonixb.c
804
framerate_ctrl = (gspca_dev->exposure->val - 200)
drivers/media/usb/gspca/sonixb.c
810
i2c_w(gspca_dev, i2cpframerate);
drivers/media/usb/gspca/sonixb.c
811
i2c_w(gspca_dev, i2cpexpo);
drivers/media/usb/gspca/sonixb.c
812
i2c_w(gspca_dev, i2cpdoit);
drivers/media/usb/gspca/sonixb.c
826
if (gspca_dev->exposure->val < 150) {
drivers/media/usb/gspca/sonixb.c
827
i2cpexpo[3] = 150 - gspca_dev->exposure->val;
drivers/media/usb/gspca/sonixb.c
833
framerate_ctrl = (gspca_dev->exposure->val - 150)
drivers/media/usb/gspca/sonixb.c
839
i2c_w(gspca_dev, i2cpframerate);
drivers/media/usb/gspca/sonixb.c
840
i2c_w(gspca_dev, i2cpexpo);
drivers/media/usb/gspca/sonixb.c
841
i2c_w(gspca_dev, i2cpdoit);
drivers/media/usb/gspca/sonixb.c
849
static void setfreq(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
851
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
871
i2c_w(gspca_dev, i2c);
drivers/media/usb/gspca/sonixb.c
875
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
877
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
903
if (gspca_dev->exposure->maximum < 500) {
drivers/media/usb/gspca/sonixb.c
904
if (gspca_coarse_grained_expo_autogain(gspca_dev, avg_lum,
drivers/media/usb/gspca/sonixb.c
908
int gain_knee = (s32)gspca_dev->gain->maximum * 9 / 10;
drivers/media/usb/gspca/sonixb.c
909
if (gspca_expo_autogain(gspca_dev, avg_lum, desired_avg_lum,
drivers/media/usb/gspca/sonixb.c
916
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixb.c
919
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixb.c
922
reg_r(gspca_dev, 0x00);
drivers/media/usb/gspca/sonixb.c
923
if (gspca_dev->usb_buf[0] != 0x10)
drivers/media/usb/gspca/sonixb.c
930
cam = &gspca_dev->cam;
drivers/media/usb/gspca/sonixb.c
944
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixb.c
948
reg_w(gspca_dev, 0x01, &stop, 1);
drivers/media/usb/gspca/sonixb.c
950
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixb.c
955
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sonixb.c
956
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sonixb.c
957
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/sonixb.c
959
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sonixb.c
966
gspca_dev->gain->val = gspca_dev->gain->default_value;
drivers/media/usb/gspca/sonixb.c
967
gspca_dev->exposure->val = gspca_dev->exposure->default_value;
drivers/media/usb/gspca/sonixb.c
971
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sonixb.c
976
setbrightness(gspca_dev);
drivers/media/usb/gspca/sonixb.c
979
if (gspca_dev->exposure->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/sonixb.c
980
setexposure(gspca_dev);
drivers/media/usb/gspca/sonixb.c
981
if (gspca_dev->gain->is_new || (ctrl->is_new && ctrl->val))
drivers/media/usb/gspca/sonixb.c
982
setgain(gspca_dev);
drivers/media/usb/gspca/sonixb.c
985
setfreq(gspca_dev);
drivers/media/usb/gspca/sonixb.c
990
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixb.c
998
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1141
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1146
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1149
gspca_err(gspca_dev, "reg_r: buffer overflow\n");
drivers/media/usb/gspca/sonixj.c
1153
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
1154
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
1158
gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sonixj.c
1160
gspca_dbg(gspca_dev, D_USBI, "reg_r [%02x] -> %02x\n",
drivers/media/usb/gspca/sonixj.c
1161
value, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/sonixj.c
1164
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sonixj.c
1169
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/sonixj.c
1173
static void reg_w1(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1179
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1181
gspca_dbg(gspca_dev, D_USBO, "reg_w1 [%04x] = %02x\n", value, data);
drivers/media/usb/gspca/sonixj.c
1182
gspca_dev->usb_buf[0] = data;
drivers/media/usb/gspca/sonixj.c
1183
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
1184
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
1189
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sonixj.c
1193
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sonixj.c
1196
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1203
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1205
gspca_dbg(gspca_dev, D_USBO, "reg_w [%04x] = %02x %02x ..\n",
drivers/media/usb/gspca/sonixj.c
1209
gspca_err(gspca_dev, "reg_w: buffer overflow\n");
drivers/media/usb/gspca/sonixj.c
1213
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/sonixj.c
1214
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
1215
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
1219
gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sonixj.c
1223
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sonixj.c
1228
static void i2c_w1(struct gspca_dev *gspca_dev, u8 reg, u8 val)
drivers/media/usb/gspca/sonixj.c
1230
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1233
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1235
gspca_dbg(gspca_dev, D_USBO, "i2c_w1 [%02x] = %02x\n", reg, val);
drivers/media/usb/gspca/sonixj.c
1240
gspca_dev->usb_buf[0] = 0x80 | (2 << 4);
drivers/media/usb/gspca/sonixj.c
1243
gspca_dev->usb_buf[0] = 0x81 | (2 << 4);
drivers/media/usb/gspca/sonixj.c
1246
gspca_dev->usb_buf[1] = sd->i2c_addr;
drivers/media/usb/gspca/sonixj.c
1247
gspca_dev->usb_buf[2] = reg;
drivers/media/usb/gspca/sonixj.c
1248
gspca_dev->usb_buf[3] = val;
drivers/media/usb/gspca/sonixj.c
1249
gspca_dev->usb_buf[4] = 0;
drivers/media/usb/gspca/sonixj.c
1250
gspca_dev->usb_buf[5] = 0;
drivers/media/usb/gspca/sonixj.c
1251
gspca_dev->usb_buf[6] = 0;
drivers/media/usb/gspca/sonixj.c
1252
gspca_dev->usb_buf[7] = 0x10;
drivers/media/usb/gspca/sonixj.c
1253
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
1254
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
1259
gspca_dev->usb_buf, 8,
drivers/media/usb/gspca/sonixj.c
1264
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sonixj.c
1269
static void i2c_w8(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1274
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1276
gspca_dbg(gspca_dev, D_USBO, "i2c_w8 [%02x] = %02x ..\n",
drivers/media/usb/gspca/sonixj.c
1278
memcpy(gspca_dev->usb_buf, buffer, 8);
drivers/media/usb/gspca/sonixj.c
1279
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
1280
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
1284
gspca_dev->usb_buf, 8,
drivers/media/usb/gspca/sonixj.c
1289
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sonixj.c
1294
static void i2c_r(struct gspca_dev *gspca_dev, u8 reg, int len)
drivers/media/usb/gspca/sonixj.c
1296
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1316
i2c_w8(gspca_dev, mode);
drivers/media/usb/gspca/sonixj.c
1320
i2c_w8(gspca_dev, mode);
drivers/media/usb/gspca/sonixj.c
1322
reg_r(gspca_dev, 0x0a, 5);
drivers/media/usb/gspca/sonixj.c
1325
static void i2c_w_seq(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1330
i2c_w8(gspca_dev, *data);
drivers/media/usb/gspca/sonixj.c
1339
static void hv7131r_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1341
i2c_w1(gspca_dev, 0x02, 0); /* sensor wakeup */
drivers/media/usb/gspca/sonixj.c
1343
reg_w1(gspca_dev, 0x02, 0x66); /* Gpio on */
drivers/media/usb/gspca/sonixj.c
1345
i2c_r(gspca_dev, 0, 5); /* read sensor id */
drivers/media/usb/gspca/sonixj.c
1346
if (gspca_dev->usb_buf[0] == 0x02 /* chip ID (02 is R) */
drivers/media/usb/gspca/sonixj.c
1347
&& gspca_dev->usb_buf[1] == 0x09
drivers/media/usb/gspca/sonixj.c
1348
&& gspca_dev->usb_buf[2] == 0x01) {
drivers/media/usb/gspca/sonixj.c
1349
gspca_dbg(gspca_dev, D_PROBE, "Sensor HV7131R found\n");
drivers/media/usb/gspca/sonixj.c
1353
gspca_dev->usb_buf[0], gspca_dev->usb_buf[1],
drivers/media/usb/gspca/sonixj.c
1354
gspca_dev->usb_buf[2]);
drivers/media/usb/gspca/sonixj.c
1357
static void mi0360_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1359
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1378
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1379
reg_w1(gspca_dev, 0x01, 0x08);
drivers/media/usb/gspca/sonixj.c
1381
i2c_w8(gspca_dev, probe_tb[i][j]);
drivers/media/usb/gspca/sonixj.c
1383
reg_r(gspca_dev, 0x0a, 5);
drivers/media/usb/gspca/sonixj.c
1384
val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1386
i2c_w8(gspca_dev, probe_tb[i][3]);
drivers/media/usb/gspca/sonixj.c
1387
reg_w1(gspca_dev, 0x01, 0x29);
drivers/media/usb/gspca/sonixj.c
1388
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1392
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1396
gspca_dbg(gspca_dev, D_PROBE, "Sensor mi0360b\n");
drivers/media/usb/gspca/sonixj.c
1400
gspca_dbg(gspca_dev, D_PROBE, "Sensor mt9v111\n");
drivers/media/usb/gspca/sonixj.c
1404
gspca_dbg(gspca_dev, D_PROBE, "Sensor mi0360\n");
drivers/media/usb/gspca/sonixj.c
1407
gspca_dbg(gspca_dev, D_PROBE, "Unknown sensor %04x - forced to mi0360\n",
drivers/media/usb/gspca/sonixj.c
1413
static void ov7630_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1415
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1419
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1420
reg_w1(gspca_dev, 0x01, 0x08);
drivers/media/usb/gspca/sonixj.c
1422
i2c_r(gspca_dev, 0x0a, 2);
drivers/media/usb/gspca/sonixj.c
1423
val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1424
reg_w1(gspca_dev, 0x01, 0x29);
drivers/media/usb/gspca/sonixj.c
1425
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1426
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1431
gspca_dev->cam.input_flags =
drivers/media/usb/gspca/sonixj.c
1433
gspca_dbg(gspca_dev, D_PROBE, "Sensor soi768\n");
drivers/media/usb/gspca/sonixj.c
1436
gspca_dbg(gspca_dev, D_PROBE, "Sensor ov%04x\n", val);
drivers/media/usb/gspca/sonixj.c
1439
static void ov7648_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1441
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1445
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1446
reg_w1(gspca_dev, 0x01, 0x08);
drivers/media/usb/gspca/sonixj.c
1448
i2c_r(gspca_dev, 0x0a, 2);
drivers/media/usb/gspca/sonixj.c
1449
val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1450
reg_w1(gspca_dev, 0x01, 0x29);
drivers/media/usb/gspca/sonixj.c
1451
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1453
gspca_dbg(gspca_dev, D_PROBE, "Sensor ov%04x\n", val);
drivers/media/usb/gspca/sonixj.c
1458
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1459
reg_w1(gspca_dev, 0x01, 0x08);
drivers/media/usb/gspca/sonixj.c
1461
i2c_r(gspca_dev, 0x00, 2);
drivers/media/usb/gspca/sonixj.c
1462
val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1463
reg_w1(gspca_dev, 0x01, 0x29);
drivers/media/usb/gspca/sonixj.c
1464
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1465
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1468
gspca_dbg(gspca_dev, D_PROBE, "Sensor po1030\n");
drivers/media/usb/gspca/sonixj.c
1476
static void po2030n_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1478
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1482
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1483
reg_w1(gspca_dev, 0x01, 0x08);
drivers/media/usb/gspca/sonixj.c
1484
reg_w1(gspca_dev, 0x02, 0x22);
drivers/media/usb/gspca/sonixj.c
1486
i2c_r(gspca_dev, 0x00, 1);
drivers/media/usb/gspca/sonixj.c
1487
val = gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1488
reg_w1(gspca_dev, 0x01, 0x29); /* reset */
drivers/media/usb/gspca/sonixj.c
1489
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1491
gspca_dbg(gspca_dev, D_PROBE, "Sensor gc0307\n");
drivers/media/usb/gspca/sonixj.c
1497
reg_w1(gspca_dev, 0x17, 0x62);
drivers/media/usb/gspca/sonixj.c
1498
reg_w1(gspca_dev, 0x01, 0x0a);
drivers/media/usb/gspca/sonixj.c
1500
i2c_r(gspca_dev, 0x00, 2);
drivers/media/usb/gspca/sonixj.c
1501
val = (gspca_dev->usb_buf[3] << 8) | gspca_dev->usb_buf[4];
drivers/media/usb/gspca/sonixj.c
1502
reg_w1(gspca_dev, 0x01, 0x29);
drivers/media/usb/gspca/sonixj.c
1503
reg_w1(gspca_dev, 0x17, 0x42);
drivers/media/usb/gspca/sonixj.c
1504
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1507
gspca_dbg(gspca_dev, D_PROBE, "Sensor po2030n\n");
drivers/media/usb/gspca/sonixj.c
1515
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1518
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1525
cam = &gspca_dev->cam;
drivers/media/usb/gspca/sonixj.c
1544
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1546
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1552
reg_w1(gspca_dev, 0xf1, 0x01);
drivers/media/usb/gspca/sonixj.c
1553
reg_r(gspca_dev, 0x00, 1);
drivers/media/usb/gspca/sonixj.c
1554
reg_w1(gspca_dev, 0xf1, 0x00);
drivers/media/usb/gspca/sonixj.c
1555
reg_r(gspca_dev, 0x00, 1); /* get sonix chip id */
drivers/media/usb/gspca/sonixj.c
1556
regF1 = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/sonixj.c
1557
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sonixj.c
1558
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixj.c
1559
gspca_dbg(gspca_dev, D_PROBE, "Sonix chip id: %02x\n", regF1);
drivers/media/usb/gspca/sonixj.c
1560
if (gspca_dev->audio)
drivers/media/usb/gspca/sonixj.c
1577
mi0360_probe(gspca_dev);
drivers/media/usb/gspca/sonixj.c
1580
ov7630_probe(gspca_dev);
drivers/media/usb/gspca/sonixj.c
1583
ov7648_probe(gspca_dev);
drivers/media/usb/gspca/sonixj.c
1586
po2030n_probe(gspca_dev);
drivers/media/usb/gspca/sonixj.c
1592
reg_w1(gspca_dev, 0x02, regGpio[1]);
drivers/media/usb/gspca/sonixj.c
1595
reg_w(gspca_dev, 0x01, regGpio, 2);
drivers/media/usb/gspca/sonixj.c
1601
reg_w1(gspca_dev, 0xf1, 0x00);
drivers/media/usb/gspca/sonixj.c
1607
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixj.c
1617
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1619
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1620
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sonixj.c
1622
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sonixj.c
1653
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixj.c
1655
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixj.c
1664
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/sonixj.c
1687
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/sonixj.c
1693
static u32 expo_adjust(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
1696
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1704
i2c_w1(gspca_dev, 0x68, a);
drivers/media/usb/gspca/sonixj.c
1707
i2c_w1(gspca_dev, 0x03, b >> 8);
drivers/media/usb/gspca/sonixj.c
1708
i2c_w1(gspca_dev, 0x04, b);
drivers/media/usb/gspca/sonixj.c
1718
i2c_w8(gspca_dev, Expodoit);
drivers/media/usb/gspca/sonixj.c
1736
i2c_w8(gspca_dev, expoMi);
drivers/media/usb/gspca/sonixj.c
1737
i2c_w8(gspca_dev, doit);
drivers/media/usb/gspca/sonixj.c
1738
i2c_w8(gspca_dev, sensorgo);
drivers/media/usb/gspca/sonixj.c
1754
i2c_w8(gspca_dev, expoMof);
drivers/media/usb/gspca/sonixj.c
1757
i2c_w8(gspca_dev, expoMo10);
drivers/media/usb/gspca/sonixj.c
1758
i2c_w8(gspca_dev, gainMo);
drivers/media/usb/gspca/sonixj.c
1759
gspca_dbg(gspca_dev, D_FRAM, "set exposure %d\n",
drivers/media/usb/gspca/sonixj.c
1775
i2c_w8(gspca_dev, expo_c1);
drivers/media/usb/gspca/sonixj.c
1788
i2c_w8(gspca_dev, gainOm);
drivers/media/usb/gspca/sonixj.c
1789
reg_w1(gspca_dev, 0x96, expo >> 5);
drivers/media/usb/gspca/sonixj.c
1790
gspca_dbg(gspca_dev, D_FRAM, "set exposure %d\n", gainOm[3]);
drivers/media/usb/gspca/sonixj.c
1797
static void setbrightness(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1799
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1816
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1821
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1825
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1829
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1833
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1837
sd->exposure = expo_adjust(gspca_dev, expo);
drivers/media/usb/gspca/sonixj.c
1841
reg_w1(gspca_dev, 0x96, k2); /* color matrix Y offset */
drivers/media/usb/gspca/sonixj.c
1844
static void setcontrast(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1846
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1858
reg_w(gspca_dev, 0x84, contrast, sizeof contrast);
drivers/media/usb/gspca/sonixj.c
1861
static void setcolors(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1863
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1886
reg_w(gspca_dev, 0x8a, reg8a, sizeof reg8a);
drivers/media/usb/gspca/sonixj.c
1889
static void setredblue(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1891
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1900
i2c_w8(gspca_dev, rg1b);
drivers/media/usb/gspca/sonixj.c
1903
reg_w1(gspca_dev, 0x05, sd->red_bal->val);
drivers/media/usb/gspca/sonixj.c
1905
reg_w1(gspca_dev, 0x06, sd->blue_bal->val);
drivers/media/usb/gspca/sonixj.c
1908
static void setgamma(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1910
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1943
reg_w(gspca_dev, 0x20, gamma, sizeof gamma);
drivers/media/usb/gspca/sonixj.c
1946
static void setexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1948
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1954
rexpo[3] = gspca_dev->exposure->val >> 8;
drivers/media/usb/gspca/sonixj.c
1955
i2c_w8(gspca_dev, rexpo);
drivers/media/usb/gspca/sonixj.c
1958
rexpo[3] = gspca_dev->exposure->val;
drivers/media/usb/gspca/sonixj.c
1959
i2c_w8(gspca_dev, rexpo);
drivers/media/usb/gspca/sonixj.c
1963
static void setautogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1965
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1976
if (gspca_dev->autogain->val)
drivers/media/usb/gspca/sonixj.c
1978
i2c_w1(&sd->gspca_dev, 0x13, comb);
drivers/media/usb/gspca/sonixj.c
1982
if (gspca_dev->autogain->val)
drivers/media/usb/gspca/sonixj.c
1988
static void setgain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
1990
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
1996
rgain[3] = gspca_dev->gain->val;
drivers/media/usb/gspca/sonixj.c
1997
i2c_w8(gspca_dev, rgain);
drivers/media/usb/gspca/sonixj.c
2001
static void sethvflip(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2003
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2011
i2c_w1(gspca_dev, 0x01, comn); /* sctra */
drivers/media/usb/gspca/sonixj.c
2017
i2c_w1(gspca_dev, 0x75, comn);
drivers/media/usb/gspca/sonixj.c
2023
i2c_w1(gspca_dev, 0x75, comn);
drivers/media/usb/gspca/sonixj.c
2039
i2c_w1(&sd->gspca_dev, 0x1e, comn);
drivers/media/usb/gspca/sonixj.c
2044
static void setsharpness(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2046
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2048
reg_w1(gspca_dev, 0x99, sd->sharpness->val);
drivers/media/usb/gspca/sonixj.c
2051
static void setillum(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2053
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2057
reg_w1(gspca_dev, 0x02, /* gpio */
drivers/media/usb/gspca/sonixj.c
2061
reg_w1(gspca_dev, 0x02,
drivers/media/usb/gspca/sonixj.c
2070
static void setfreq(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2072
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2080
i2c_w1(gspca_dev, 0x13, com8 | 0x20);
drivers/media/usb/gspca/sonixj.c
2083
i2c_w1(gspca_dev, 0x13, com8);
drivers/media/usb/gspca/sonixj.c
2084
i2c_w1(gspca_dev, 0x3b, 0x0a);
drivers/media/usb/gspca/sonixj.c
2087
i2c_w1(gspca_dev, 0x13, com8);
drivers/media/usb/gspca/sonixj.c
2088
i2c_w1(gspca_dev, 0x3b, 0x02);
drivers/media/usb/gspca/sonixj.c
2119
i2c_w1(gspca_dev, 0x2a, reg2a);
drivers/media/usb/gspca/sonixj.c
2120
i2c_w1(gspca_dev, 0x2b, reg2b);
drivers/media/usb/gspca/sonixj.c
2121
i2c_w1(gspca_dev, 0x2d, reg2d);
drivers/media/usb/gspca/sonixj.c
2125
static void setjpegqual(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2127
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2133
memcpy(gspca_dev->usb_buf, &sd->jpeg_hdr[JPEG_QT0_OFFSET], 64);
drivers/media/usb/gspca/sonixj.c
2134
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
2135
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
2139
gspca_dev->usb_buf, 64,
drivers/media/usb/gspca/sonixj.c
2141
memcpy(gspca_dev->usb_buf, &sd->jpeg_hdr[JPEG_QT1_OFFSET], 64);
drivers/media/usb/gspca/sonixj.c
2142
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sonixj.c
2143
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sonixj.c
2147
gspca_dev->usb_buf, 64,
drivers/media/usb/gspca/sonixj.c
2151
reg_w1(gspca_dev, 0x18, sd->reg18);
drivers/media/usb/gspca/sonixj.c
2159
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/sonixj.c
2162
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sonixj.c
2163
gspca_dbg(gspca_dev, D_STREAM, "qual_upd %d%%\n", sd->quality);
drivers/media/usb/gspca/sonixj.c
2164
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sonixj.c
2165
setjpegqual(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2166
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sonixj.c
2170
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2172
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2200
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/sonixj.c
2201
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/sonixj.c
2212
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2217
if (gspca_dev->audio)
drivers/media/usb/gspca/sonixj.c
2219
reg_w(gspca_dev, 0x01, reg0102, 2);
drivers/media/usb/gspca/sonixj.c
2220
reg_w(gspca_dev, 0x08, &sn9c1xx[8], 2);
drivers/media/usb/gspca/sonixj.c
2221
reg_w(gspca_dev, 0x17, &sn9c1xx[0x17], 5);
drivers/media/usb/gspca/sonixj.c
2235
reg_w(gspca_dev, 0x9a, reg9a, 6);
drivers/media/usb/gspca/sonixj.c
2237
reg_w(gspca_dev, 0xd4, regd4, sizeof regd4);
drivers/media/usb/gspca/sonixj.c
2239
reg_w(gspca_dev, 0x03, &sn9c1xx[3], 0x0f);
drivers/media/usb/gspca/sonixj.c
2248
reg_w1(gspca_dev, 0x02, 0x73);
drivers/media/usb/gspca/sonixj.c
2250
reg_w1(gspca_dev, 0x17, reg17);
drivers/media/usb/gspca/sonixj.c
2251
reg_w1(gspca_dev, 0x01, 0x22);
drivers/media/usb/gspca/sonixj.c
2259
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2261
reg_w1(gspca_dev, 0x17, reg17);
drivers/media/usb/gspca/sonixj.c
2263
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2265
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2269
hv7131r_probe(gspca_dev); /*fixme: is it useful? */
drivers/media/usb/gspca/sonixj.c
2273
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2274
i2c_w8(gspca_dev, om6802_init0[0]);
drivers/media/usb/gspca/sonixj.c
2275
i2c_w8(gspca_dev, om6802_init0[1]);
drivers/media/usb/gspca/sonixj.c
2277
reg_w1(gspca_dev, 0x02, 0x71);
drivers/media/usb/gspca/sonixj.c
2282
reg_w1(gspca_dev, 0x02, 0x62);
drivers/media/usb/gspca/sonixj.c
2287
i2c_w_seq(gspca_dev, sensor_init[sd->sensor]);
drivers/media/usb/gspca/sonixj.c
2289
reg_w1(gspca_dev, 0x15, sn9c1xx[0x15]);
drivers/media/usb/gspca/sonixj.c
2290
reg_w1(gspca_dev, 0x16, sn9c1xx[0x16]);
drivers/media/usb/gspca/sonixj.c
2291
reg_w1(gspca_dev, 0x12, sn9c1xx[0x12]);
drivers/media/usb/gspca/sonixj.c
2292
reg_w1(gspca_dev, 0x13, sn9c1xx[0x13]);
drivers/media/usb/gspca/sonixj.c
2293
reg_w1(gspca_dev, 0x18, sn9c1xx[0x18]);
drivers/media/usb/gspca/sonixj.c
2295
reg_w1(gspca_dev, 0xd2, 0x3a); /* AE_H_SIZE = 116 */
drivers/media/usb/gspca/sonixj.c
2296
reg_w1(gspca_dev, 0xd3, 0x30); /* AE_V_SIZE = 96 */
drivers/media/usb/gspca/sonixj.c
2298
reg_w1(gspca_dev, 0xd2, 0x6a); /* AE_H_SIZE = 212 */
drivers/media/usb/gspca/sonixj.c
2299
reg_w1(gspca_dev, 0xd3, 0x50); /* AE_V_SIZE = 160 */
drivers/media/usb/gspca/sonixj.c
23
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sonixj.c
2301
reg_w1(gspca_dev, 0xc6, 0x00);
drivers/media/usb/gspca/sonixj.c
2302
reg_w1(gspca_dev, 0xc7, 0x00);
drivers/media/usb/gspca/sonixj.c
2304
reg_w1(gspca_dev, 0xc8, 0x2c); /* AW_H_STOP = 352 */
drivers/media/usb/gspca/sonixj.c
2305
reg_w1(gspca_dev, 0xc9, 0x24); /* AW_V_STOP = 288 */
drivers/media/usb/gspca/sonixj.c
2307
reg_w1(gspca_dev, 0xc8, 0x50); /* AW_H_STOP = 640 */
drivers/media/usb/gspca/sonixj.c
2308
reg_w1(gspca_dev, 0xc9, 0x3c); /* AW_V_STOP = 480 */
drivers/media/usb/gspca/sonixj.c
2310
reg_w1(gspca_dev, 0x18, sn9c1xx[0x18]);
drivers/media/usb/gspca/sonixj.c
2319
reg_w1(gspca_dev, 0x17, reg17);
drivers/media/usb/gspca/sonixj.c
2321
reg_w1(gspca_dev, 0x05, 0x00); /* red */
drivers/media/usb/gspca/sonixj.c
2322
reg_w1(gspca_dev, 0x07, 0x00); /* green */
drivers/media/usb/gspca/sonixj.c
2323
reg_w1(gspca_dev, 0x06, 0x00); /* blue */
drivers/media/usb/gspca/sonixj.c
2324
reg_w1(gspca_dev, 0x14, sn9c1xx[0x14]);
drivers/media/usb/gspca/sonixj.c
2326
setgamma(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2330
reg_w(gspca_dev, 0x84, reg84, sizeof reg84);
drivers/media/usb/gspca/sonixj.c
2335
reg_w1(gspca_dev, 0x9a, 0x05);
drivers/media/usb/gspca/sonixj.c
2340
reg_w1(gspca_dev, 0x9a, 0x07);
drivers/media/usb/gspca/sonixj.c
2344
reg_w1(gspca_dev, 0x9a, 0x0a);
drivers/media/usb/gspca/sonixj.c
2348
reg_w1(gspca_dev, 0x9a, 0x06);
drivers/media/usb/gspca/sonixj.c
2351
reg_w1(gspca_dev, 0x9a, 0x08);
drivers/media/usb/gspca/sonixj.c
2354
setsharpness(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2356
reg_w(gspca_dev, 0x84, reg84, sizeof reg84);
drivers/media/usb/gspca/sonixj.c
2357
reg_w1(gspca_dev, 0x05, 0x20); /* red */
drivers/media/usb/gspca/sonixj.c
2358
reg_w1(gspca_dev, 0x07, 0x20); /* green */
drivers/media/usb/gspca/sonixj.c
2359
reg_w1(gspca_dev, 0x06, 0x20); /* blue */
drivers/media/usb/gspca/sonixj.c
2362
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sonixj.c
2431
i2c_w_seq(gspca_dev, init);
drivers/media/usb/gspca/sonixj.c
2435
reg_w(gspca_dev, 0xc0, C0, 6);
drivers/media/usb/gspca/sonixj.c
2440
reg_w(gspca_dev, 0xca, CA_adcm1700, 4);
drivers/media/usb/gspca/sonixj.c
2443
reg_w(gspca_dev, 0xca, CA_po2030n, 4);
drivers/media/usb/gspca/sonixj.c
2446
reg_w(gspca_dev, 0xca, CA, 4);
drivers/media/usb/gspca/sonixj.c
2455
reg_w(gspca_dev, 0xce, CE_ov76xx, 4);
drivers/media/usb/gspca/sonixj.c
2458
reg_w(gspca_dev, 0xce, CE_gc0307, 4);
drivers/media/usb/gspca/sonixj.c
2461
reg_w(gspca_dev, 0xce, CE_po2030n, 4);
drivers/media/usb/gspca/sonixj.c
2464
reg_w(gspca_dev, 0xce, CE, 4);
drivers/media/usb/gspca/sonixj.c
2471
reg_w1(gspca_dev, 0x18, sd->reg18);
drivers/media/usb/gspca/sonixj.c
2472
setjpegqual(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2474
reg_w1(gspca_dev, 0x17, reg17);
drivers/media/usb/gspca/sonixj.c
2475
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2482
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixj.c
2485
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2487
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2507
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2509
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2514
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2515
i2c_w8(gspca_dev, stophv7131);
drivers/media/usb/gspca/sonixj.c
2520
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2522
i2c_w8(gspca_dev, stopmi0360);
drivers/media/usb/gspca/sonixj.c
2528
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2533
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2534
i2c_w8(gspca_dev, stopov7648);
drivers/media/usb/gspca/sonixj.c
2538
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2541
i2c_w8(gspca_dev, stopsoi768);
drivers/media/usb/gspca/sonixj.c
2546
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2548
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2549
reg_w1(gspca_dev, 0x17, reg17);
drivers/media/usb/gspca/sonixj.c
2551
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2553
reg_w1(gspca_dev, 0x01, reg01);
drivers/media/usb/gspca/sonixj.c
2560
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2562
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2564
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sonixj.c
2566
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sonixj.c
2569
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sonixj.c
2571
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2585
gspca_dbg(gspca_dev, D_FRAM, "mean lum %d\n", delta);
drivers/media/usb/gspca/sonixj.c
2588
gspca_expo_autogain(gspca_dev, delta, luma_mean, luma_delta,
drivers/media/usb/gspca/sonixj.c
2601
sd->exposure = expo_adjust(gspca_dev,
drivers/media/usb/gspca/sonixj.c
2609
sd->exposure = expo_adjust(gspca_dev,
drivers/media/usb/gspca/sonixj.c
2618
sd->exposure = expo_adjust(gspca_dev,
drivers/media/usb/gspca/sonixj.c
2620
setredblue(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2630
sd->exposure = expo_adjust(gspca_dev,
drivers/media/usb/gspca/sonixj.c
2632
setredblue(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2663
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
2667
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sonixj.c
2730
if (gspca_dev->last_packet_type == LAST_PACKET)
drivers/media/usb/gspca/sonixj.c
2731
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sonixj.c
2733
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sonixj.c
2742
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/sonixj.c
2747
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/sonixj.c
2752
gspca_frame_add(gspca_dev, LAST_PACKET, data, i);
drivers/media/usb/gspca/sonixj.c
2760
gspca_dev->urb[0]->iso_frame_desc[0].length);
drivers/media/usb/gspca/sonixj.c
2799
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sonixj.c
2801
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sonixj.c
2807
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sonixj.c
2808
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sonixj.c
2810
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sonixj.c
2812
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sonixj.c
2817
setbrightness(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2820
setcontrast(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2823
setcolors(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2826
setredblue(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2829
setgamma(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2832
setautogain(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2833
setexposure(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2834
setgain(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2837
sethvflip(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2840
setsharpness(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2843
setillum(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2846
setfreq(gspca_dev);
drivers/media/usb/gspca/sonixj.c
2851
return gspca_dev->usb_err;
drivers/media/usb/gspca/sonixj.c
2855
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sonixj.c
2862
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/sonixj.c
2863
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/sonixj.c
2864
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/sonixj.c
2865
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/spca1528.c
100
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/spca1528.c
104
static void reg_wb(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
110
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca1528.c
113
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/spca1528.c
115
gspca_dbg(gspca_dev, D_USBO, "SET %02x %04x %04x %02x\n",
drivers/media/usb/gspca/spca1528.c
117
gspca_dev->usb_buf[0] = byte;
drivers/media/usb/gspca/spca1528.c
122
gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/spca1528.c
125
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/spca1528.c
129
static void wait_status_0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
136
reg_r(gspca_dev, 0x21, 0x0000, 1);
drivers/media/usb/gspca/spca1528.c
137
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/spca1528.c
142
gspca_err(gspca_dev, "wait_status_0 timeout\n");
drivers/media/usb/gspca/spca1528.c
143
gspca_dev->usb_err = -ETIME;
drivers/media/usb/gspca/spca1528.c
146
static void wait_status_1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
152
reg_r(gspca_dev, 0x21, 0x0001, 1);
drivers/media/usb/gspca/spca1528.c
154
if (gspca_dev->usb_buf[0] == 1) {
drivers/media/usb/gspca/spca1528.c
155
reg_wb(gspca_dev, 0x21, 0x0000, 0x0001, 0x00);
drivers/media/usb/gspca/spca1528.c
156
reg_r(gspca_dev, 0x21, 0x0001, 1);
drivers/media/usb/gspca/spca1528.c
160
gspca_err(gspca_dev, "wait_status_1 timeout\n");
drivers/media/usb/gspca/spca1528.c
161
gspca_dev->usb_err = -ETIME;
drivers/media/usb/gspca/spca1528.c
164
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca1528.c
166
reg_wb(gspca_dev, 0xc0, 0x0000, 0x00c0, val);
drivers/media/usb/gspca/spca1528.c
169
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca1528.c
171
reg_wb(gspca_dev, 0xc1, 0x0000, 0x00c1, val);
drivers/media/usb/gspca/spca1528.c
174
static void sethue(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca1528.c
176
reg_wb(gspca_dev, 0xc2, 0x0000, 0x0000, val);
drivers/media/usb/gspca/spca1528.c
179
static void setcolor(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca1528.c
181
reg_wb(gspca_dev, 0xc3, 0x0000, 0x00c3, val);
drivers/media/usb/gspca/spca1528.c
184
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca1528.c
186
reg_wb(gspca_dev, 0xc4, 0x0000, 0x00c4, val);
drivers/media/usb/gspca/spca1528.c
190
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
193
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/spca1528.c
194
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/spca1528.c
195
gspca_dev->cam.npkt = 128; /* number of packets per ISOC message */
drivers/media/usb/gspca/spca1528.c
202
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
204
reg_w(gspca_dev, 0x00, 0x0001, 0x2067);
drivers/media/usb/gspca/spca1528.c
205
reg_w(gspca_dev, 0x00, 0x00d0, 0x206b);
drivers/media/usb/gspca/spca1528.c
206
reg_w(gspca_dev, 0x00, 0x0000, 0x206c);
drivers/media/usb/gspca/spca1528.c
207
reg_w(gspca_dev, 0x00, 0x0001, 0x2069);
drivers/media/usb/gspca/spca1528.c
209
reg_w(gspca_dev, 0x00, 0x00c0, 0x206b);
drivers/media/usb/gspca/spca1528.c
21
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca1528.c
210
reg_w(gspca_dev, 0x00, 0x0000, 0x206c);
drivers/media/usb/gspca/spca1528.c
211
reg_w(gspca_dev, 0x00, 0x0001, 0x2069);
drivers/media/usb/gspca/spca1528.c
213
reg_r(gspca_dev, 0x20, 0x0000, 1);
drivers/media/usb/gspca/spca1528.c
214
reg_r(gspca_dev, 0x20, 0x0000, 5);
drivers/media/usb/gspca/spca1528.c
215
reg_r(gspca_dev, 0x23, 0x0000, 64);
drivers/media/usb/gspca/spca1528.c
216
gspca_dbg(gspca_dev, D_PROBE, "%s%s\n", &gspca_dev->usb_buf[0x1c],
drivers/media/usb/gspca/spca1528.c
217
&gspca_dev->usb_buf[0x30]);
drivers/media/usb/gspca/spca1528.c
218
reg_r(gspca_dev, 0x23, 0x0001, 64);
drivers/media/usb/gspca/spca1528.c
219
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca1528.c
223
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
227
reg_r(gspca_dev, 0x00, 0x2520, 1);
drivers/media/usb/gspca/spca1528.c
228
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
229
reg_w(gspca_dev, 0xc5, 0x0003, 0x0000);
drivers/media/usb/gspca/spca1528.c
230
wait_status_1(gspca_dev);
drivers/media/usb/gspca/spca1528.c
232
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
233
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca1528.c
234
reg_wb(gspca_dev, 0x25, 0x0000, 0x0004, mode);
drivers/media/usb/gspca/spca1528.c
235
reg_r(gspca_dev, 0x25, 0x0004, 1);
drivers/media/usb/gspca/spca1528.c
236
reg_wb(gspca_dev, 0x27, 0x0000, 0x0000, 0x06); /* 420 */
drivers/media/usb/gspca/spca1528.c
237
reg_r(gspca_dev, 0x27, 0x0000, 1);
drivers/media/usb/gspca/spca1528.c
242
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca1528.c
246
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
248
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca1528.c
251
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/spca1528.c
252
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/spca1528.c
258
reg_r(gspca_dev, 0x00, 0x2520, 1);
drivers/media/usb/gspca/spca1528.c
262
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
263
reg_w(gspca_dev, 0x31, 0x0000, 0x0004); /* start request */
drivers/media/usb/gspca/spca1528.c
264
wait_status_1(gspca_dev);
drivers/media/usb/gspca/spca1528.c
265
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
269
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca1528.c
272
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
275
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
276
reg_w(gspca_dev, 0x31, 0x0000, 0x0000); /* stop request */
drivers/media/usb/gspca/spca1528.c
277
wait_status_1(gspca_dev);
drivers/media/usb/gspca/spca1528.c
278
wait_status_0(gspca_dev);
drivers/media/usb/gspca/spca1528.c
282
static void add_packet(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
291
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/spca1528.c
299
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca1528.c
302
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
306
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca1528.c
320
add_packet(gspca_dev, data + 2, len - 2);
drivers/media/usb/gspca/spca1528.c
321
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/spca1528.c
327
if (gspca_dev->last_packet_type == LAST_PACKET)
drivers/media/usb/gspca/spca1528.c
328
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/spca1528.c
330
add_packet(gspca_dev, data + 2, len - 2);
drivers/media/usb/gspca/spca1528.c
334
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/spca1528.c
339
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca1528.c
340
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca1528.c
342
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca1528.c
344
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca1528.c
349
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca1528.c
352
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca1528.c
355
sethue(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca1528.c
358
setcolor(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca1528.c
361
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca1528.c
364
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca1528.c
371
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca1528.c
373
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca1528.c
375
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca1528.c
49
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
57
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca1528.c
60
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/spca1528.c
67
gspca_dev->usb_buf, len,
drivers/media/usb/gspca/spca1528.c
69
gspca_dbg(gspca_dev, D_USBI, "GET %02x 0000 %04x %02x\n", req, index,
drivers/media/usb/gspca/spca1528.c
70
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/spca1528.c
73
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/spca1528.c
78
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/spca1528.c
82
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca1528.c
87
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca1528.c
90
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/spca1528.c
92
gspca_dbg(gspca_dev, D_USBO, "SET %02x %04x %04x\n", req, value, index);
drivers/media/usb/gspca/spca500.c
23
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca500.c
304
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
308
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca500.c
309
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca500.c
313
index, gspca_dev->usb_buf, length, 500);
drivers/media/usb/gspca/spca500.c
316
static int reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
321
gspca_dbg(gspca_dev, D_USBO, "reg write: [0x%02x] = 0x%02x\n",
drivers/media/usb/gspca/spca500.c
323
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca500.c
324
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca500.c
334
static int reg_r_12(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
341
gspca_dev->usb_buf[1] = 0;
drivers/media/usb/gspca/spca500.c
342
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca500.c
343
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca500.c
348
gspca_dev->usb_buf, length,
drivers/media/usb/gspca/spca500.c
354
return (gspca_dev->usb_buf[1] << 8) + gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
362
static int reg_r_wait(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
368
ret = reg_r_12(gspca_dev, reg, index, 1);
drivers/media/usb/gspca/spca500.c
376
static int write_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
382
ret = reg_w(gspca_dev, data[i][0], data[i][2], data[i][1]);
drivers/media/usb/gspca/spca500.c
390
static int spca50x_setup_qtable(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
400
err = reg_w(gspca_dev, request, ybase + i, qtable[0][i]);
drivers/media/usb/gspca/spca500.c
407
err = reg_w(gspca_dev, request, cbase + i, qtable[1][i]);
drivers/media/usb/gspca/spca500.c
414
static void spca500_ping310(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
416
reg_r(gspca_dev, 0x0d04, 2);
drivers/media/usb/gspca/spca500.c
417
gspca_dbg(gspca_dev, D_STREAM, "ClickSmart310 ping 0x0d04 0x%02x 0x%02x\n",
drivers/media/usb/gspca/spca500.c
418
gspca_dev->usb_buf[0], gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/spca500.c
421
static void spca500_clksmart310_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
423
reg_r(gspca_dev, 0x0d05, 2);
drivers/media/usb/gspca/spca500.c
424
gspca_dbg(gspca_dev, D_STREAM, "ClickSmart310 init 0x0d05 0x%02x 0x%02x\n",
drivers/media/usb/gspca/spca500.c
425
gspca_dev->usb_buf[0], gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/spca500.c
426
reg_w(gspca_dev, 0x00, 0x8167, 0x5a);
drivers/media/usb/gspca/spca500.c
427
spca500_ping310(gspca_dev);
drivers/media/usb/gspca/spca500.c
429
reg_w(gspca_dev, 0x00, 0x8168, 0x22);
drivers/media/usb/gspca/spca500.c
430
reg_w(gspca_dev, 0x00, 0x816a, 0xc0);
drivers/media/usb/gspca/spca500.c
431
reg_w(gspca_dev, 0x00, 0x816b, 0x0b);
drivers/media/usb/gspca/spca500.c
432
reg_w(gspca_dev, 0x00, 0x8169, 0x25);
drivers/media/usb/gspca/spca500.c
433
reg_w(gspca_dev, 0x00, 0x8157, 0x5b);
drivers/media/usb/gspca/spca500.c
434
reg_w(gspca_dev, 0x00, 0x8158, 0x5b);
drivers/media/usb/gspca/spca500.c
435
reg_w(gspca_dev, 0x00, 0x813f, 0x03);
drivers/media/usb/gspca/spca500.c
436
reg_w(gspca_dev, 0x00, 0x8151, 0x4a);
drivers/media/usb/gspca/spca500.c
437
reg_w(gspca_dev, 0x00, 0x8153, 0x78);
drivers/media/usb/gspca/spca500.c
438
reg_w(gspca_dev, 0x00, 0x0d01, 0x04);
drivers/media/usb/gspca/spca500.c
440
reg_w(gspca_dev, 0x00, 0x0d02, 0x01);
drivers/media/usb/gspca/spca500.c
441
reg_w(gspca_dev, 0x00, 0x8169, 0x25);
drivers/media/usb/gspca/spca500.c
442
reg_w(gspca_dev, 0x00, 0x0d01, 0x02);
drivers/media/usb/gspca/spca500.c
445
static void spca500_setmode(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
451
reg_w(gspca_dev, 0, 0x8001, xmult);
drivers/media/usb/gspca/spca500.c
454
reg_w(gspca_dev, 0, 0x8002, ymult);
drivers/media/usb/gspca/spca500.c
457
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca500.c
458
reg_w(gspca_dev, 0, 0x8003, mode << 4);
drivers/media/usb/gspca/spca500.c
461
static int spca500_full_reset(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
466
err = reg_w(gspca_dev, 0xe0, 0x0001, 0x0000);
drivers/media/usb/gspca/spca500.c
471
err = reg_r_wait(gspca_dev, 0x06, 0x0000, 0x0000);
drivers/media/usb/gspca/spca500.c
474
err = reg_w(gspca_dev, 0xe0, 0x0000, 0x0000);
drivers/media/usb/gspca/spca500.c
477
err = reg_r_wait(gspca_dev, 0x06, 0, 0);
drivers/media/usb/gspca/spca500.c
479
gspca_err(gspca_dev, "reg_r_wait() failed\n");
drivers/media/usb/gspca/spca500.c
492
static int spca500_synch310(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
494
if (usb_set_interface(gspca_dev->dev, gspca_dev->iface, 0) < 0) {
drivers/media/usb/gspca/spca500.c
495
gspca_err(gspca_dev, "Set packet size: set interface error\n");
drivers/media/usb/gspca/spca500.c
498
spca500_ping310(gspca_dev);
drivers/media/usb/gspca/spca500.c
500
reg_r(gspca_dev, 0x0d00, 1);
drivers/media/usb/gspca/spca500.c
503
gspca_dbg(gspca_dev, D_PACK, "ClickSmart310 sync alt: %d\n",
drivers/media/usb/gspca/spca500.c
504
gspca_dev->alt);
drivers/media/usb/gspca/spca500.c
507
if (usb_set_interface(gspca_dev->dev,
drivers/media/usb/gspca/spca500.c
508
gspca_dev->iface,
drivers/media/usb/gspca/spca500.c
509
gspca_dev->alt) < 0) {
drivers/media/usb/gspca/spca500.c
510
gspca_err(gspca_dev, "Set packet size: set interface error\n");
drivers/media/usb/gspca/spca500.c
518
static void spca500_reinit(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
525
reg_w(gspca_dev, 0x00, 0x0d01, 0x01);
drivers/media/usb/gspca/spca500.c
526
reg_w(gspca_dev, 0x00, 0x0d03, 0x00);
drivers/media/usb/gspca/spca500.c
527
reg_w(gspca_dev, 0x00, 0x0d02, 0x01);
drivers/media/usb/gspca/spca500.c
530
reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
532
err = spca50x_setup_qtable(gspca_dev, 0x00, 0x8800, 0x8840,
drivers/media/usb/gspca/spca500.c
535
gspca_err(gspca_dev, "spca50x_setup_qtable failed on init\n");
drivers/media/usb/gspca/spca500.c
538
reg_w(gspca_dev, 0x00, 0x8880, 2);
drivers/media/usb/gspca/spca500.c
540
reg_w(gspca_dev, 0x00, 0x800a, 0x00);
drivers/media/usb/gspca/spca500.c
542
reg_w(gspca_dev, 0x00, 0x820f, 0x01);
drivers/media/usb/gspca/spca500.c
544
reg_w(gspca_dev, 0x00, 0x870a, 0x04);
drivers/media/usb/gspca/spca500.c
546
reg_w(gspca_dev, 0, 0x8003, 0x00);
drivers/media/usb/gspca/spca500.c
548
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
550
if (reg_r_wait(gspca_dev, 0, 0x8000, 0x44) != 0) {
drivers/media/usb/gspca/spca500.c
551
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
552
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
553
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
558
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
561
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca500.c
564
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca500.c
577
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
579
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca500.c
582
gspca_dbg(gspca_dev, D_STREAM, "SPCA500 init\n");
drivers/media/usb/gspca/spca500.c
584
spca500_clksmart310_init(gspca_dev);
drivers/media/usb/gspca/spca500.c
587
gspca_dbg(gspca_dev, D_STREAM, "SPCA500 init done\n");
drivers/media/usb/gspca/spca500.c
591
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
593
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca500.c
599
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/spca500.c
600
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/spca500.c
613
reg_r(gspca_dev, 0x8a04, 1);
drivers/media/usb/gspca/spca500.c
614
gspca_dbg(gspca_dev, D_STREAM, "Spca500 Sensor Address 0x%02x\n",
drivers/media/usb/gspca/spca500.c
615
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/spca500.c
616
gspca_dbg(gspca_dev, D_STREAM, "Spca500 curr_mode: %d Xmult: 0x%02x, Ymult: 0x%02x",
drivers/media/usb/gspca/spca500.c
617
gspca_dev->curr_mode, xmult, ymult);
drivers/media/usb/gspca/spca500.c
622
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
625
reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
626
reg_w(gspca_dev, 0x00, 0x8880, 3);
drivers/media/usb/gspca/spca500.c
627
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
631
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
633
reg_w(gspca_dev, 0x00, 0x870a, 0x04);
drivers/media/usb/gspca/spca500.c
636
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
638
if (reg_r_wait(gspca_dev, 0, 0x8000, 0x44) != 0)
drivers/media/usb/gspca/spca500.c
639
gspca_err(gspca_dev, "reg_r_wait() failed\n");
drivers/media/usb/gspca/spca500.c
641
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
642
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
643
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
645
spca500_synch310(gspca_dev);
drivers/media/usb/gspca/spca500.c
647
write_vector(gspca_dev, spca500_visual_defaults);
drivers/media/usb/gspca/spca500.c
648
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
650
err = reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
652
gspca_err(gspca_dev, "failed to enable drop packet\n");
drivers/media/usb/gspca/spca500.c
653
reg_w(gspca_dev, 0x00, 0x8880, 3);
drivers/media/usb/gspca/spca500.c
654
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
658
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
661
reg_w(gspca_dev, 0x00, 0x870a, 0x04);
drivers/media/usb/gspca/spca500.c
664
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
666
if (reg_r_wait(gspca_dev, 0, 0x8000, 0x44) != 0)
drivers/media/usb/gspca/spca500.c
667
gspca_err(gspca_dev, "reg_r_wait() failed\n");
drivers/media/usb/gspca/spca500.c
669
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
670
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
671
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
679
err = spca500_full_reset(gspca_dev);
drivers/media/usb/gspca/spca500.c
681
gspca_err(gspca_dev, "spca500_full_reset failed\n");
drivers/media/usb/gspca/spca500.c
684
err = reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
686
gspca_err(gspca_dev, "failed to enable drop packet\n");
drivers/media/usb/gspca/spca500.c
687
reg_w(gspca_dev, 0x00, 0x8880, 3);
drivers/media/usb/gspca/spca500.c
688
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
692
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
694
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
695
reg_w(gspca_dev, 0x20, 0x0001, 0x0004);
drivers/media/usb/gspca/spca500.c
698
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
700
if (reg_r_wait(gspca_dev, 0, 0x8000, 0x44) != 0)
drivers/media/usb/gspca/spca500.c
701
gspca_err(gspca_dev, "reg_r_wait() failed\n");
drivers/media/usb/gspca/spca500.c
703
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
704
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
705
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
712
err = spca500_full_reset(gspca_dev);
drivers/media/usb/gspca/spca500.c
714
gspca_err(gspca_dev, "spca500_full_reset failed\n");
drivers/media/usb/gspca/spca500.c
716
reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
717
reg_w(gspca_dev, 0x00, 0x8880, 0);
drivers/media/usb/gspca/spca500.c
718
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
722
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
723
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
725
reg_w(gspca_dev, 0x20, 0x0001, 0x0004);
drivers/media/usb/gspca/spca500.c
728
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
730
if (reg_r_wait(gspca_dev, 0, 0x8000, 0x44) != 0)
drivers/media/usb/gspca/spca500.c
731
gspca_err(gspca_dev, "reg_r_wait() failed\n");
drivers/media/usb/gspca/spca500.c
733
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
734
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
735
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
749
spca500_reinit(gspca_dev);
drivers/media/usb/gspca/spca500.c
750
reg_w(gspca_dev, 0x00, 0x0d01, 0x01);
drivers/media/usb/gspca/spca500.c
752
reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
754
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
757
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
758
reg_w(gspca_dev, 0x00, 0x8880, 2);
drivers/media/usb/gspca/spca500.c
761
reg_w(gspca_dev, 0x00, 0x800a, 0x00);
drivers/media/usb/gspca/spca500.c
763
reg_w(gspca_dev, 0x00, 0x820f, 0x01);
drivers/media/usb/gspca/spca500.c
765
reg_w(gspca_dev, 0x00, 0x870a, 0x04);
drivers/media/usb/gspca/spca500.c
767
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
769
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
771
reg_r_wait(gspca_dev, 0, 0x8000, 0x44);
drivers/media/usb/gspca/spca500.c
773
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
774
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
775
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
779
reg_w(gspca_dev, 0x02, 0x00, 0x00);
drivers/media/usb/gspca/spca500.c
781
reg_w(gspca_dev, 0x00, 0x850a, 0x0001);
drivers/media/usb/gspca/spca500.c
783
err = spca50x_setup_qtable(gspca_dev,
drivers/media/usb/gspca/spca500.c
787
gspca_err(gspca_dev, "spca50x_setup_qtable failed\n");
drivers/media/usb/gspca/spca500.c
788
reg_w(gspca_dev, 0x00, 0x8880, 3);
drivers/media/usb/gspca/spca500.c
789
reg_w(gspca_dev, 0x00, 0x800a, 0x00);
drivers/media/usb/gspca/spca500.c
791
reg_w(gspca_dev, 0x00, 0x870a, 0x04);
drivers/media/usb/gspca/spca500.c
793
spca500_setmode(gspca_dev, xmult, ymult);
drivers/media/usb/gspca/spca500.c
796
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
797
reg_r_wait(gspca_dev, 0, 0x8000, 0x44);
drivers/media/usb/gspca/spca500.c
799
reg_r(gspca_dev, 0x816b, 1);
drivers/media/usb/gspca/spca500.c
800
Data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca500.c
801
reg_w(gspca_dev, 0x00, 0x816b, Data);
drivers/media/usb/gspca/spca500.c
802
write_vector(gspca_dev, Clicksmart510_defaults);
drivers/media/usb/gspca/spca500.c
808
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
810
reg_w(gspca_dev, 0, 0x8003, 0x00);
drivers/media/usb/gspca/spca500.c
813
reg_w(gspca_dev, 0x00, 0x8000, 0x0004);
drivers/media/usb/gspca/spca500.c
814
reg_r(gspca_dev, 0x8000, 1);
drivers/media/usb/gspca/spca500.c
815
gspca_dbg(gspca_dev, D_STREAM, "stop SPCA500 done reg8000: 0x%2x\n",
drivers/media/usb/gspca/spca500.c
816
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/spca500.c
819
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca500.c
823
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca500.c
833
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/spca500.c
837
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/spca500.c
851
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/spca500.c
860
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca500.c
863
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca500.c
865
reg_w(gspca_dev, 0x00, 0x8167,
drivers/media/usb/gspca/spca500.c
869
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca500.c
871
reg_w(gspca_dev, 0x00, 0x8168, val);
drivers/media/usb/gspca/spca500.c
874
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca500.c
876
reg_w(gspca_dev, 0x00, 0x8169, val);
drivers/media/usb/gspca/spca500.c
881
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca500.c
882
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca500.c
884
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca500.c
886
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca500.c
891
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca500.c
894
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca500.c
897
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca500.c
900
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca500.c
907
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca500.c
909
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca500.c
911
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca501.c
1745
static int reg_write(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca501.c
1749
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca501.c
1756
gspca_dbg(gspca_dev, D_USBO, "reg write: 0x%02x 0x%02x 0x%02x\n",
drivers/media/usb/gspca/spca501.c
1764
static int write_vector(struct gspca_dev *gspca_dev, const __u16 data[][3])
drivers/media/usb/gspca/spca501.c
1769
ret = reg_write(gspca_dev, data[i][0], data[i][2],
drivers/media/usb/gspca/spca501.c
1772
gspca_err(gspca_dev, "Reg write failed for 0x%02x,0x%02x,0x%02x\n",
drivers/media/usb/gspca/spca501.c
1781
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca501.c
1783
reg_write(gspca_dev, SPCA501_REG_CCDSP, 0x12, val);
drivers/media/usb/gspca/spca501.c
1786
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca501.c
1788
reg_write(gspca_dev, 0x00, 0x00, (val >> 8) & 0xff);
drivers/media/usb/gspca/spca501.c
1789
reg_write(gspca_dev, 0x00, 0x01, val & 0xff);
drivers/media/usb/gspca/spca501.c
1792
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca501.c
1794
reg_write(gspca_dev, SPCA501_REG_CCDSP, 0x0c, val);
drivers/media/usb/gspca/spca501.c
1797
static void setblue_balance(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca501.c
1799
reg_write(gspca_dev, SPCA501_REG_CCDSP, 0x11, val);
drivers/media/usb/gspca/spca501.c
1802
static void setred_balance(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca501.c
1804
reg_write(gspca_dev, SPCA501_REG_CCDSP, 0x13, val);
drivers/media/usb/gspca/spca501.c
1808
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca501.c
1811
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca501.c
1814
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca501.c
1823
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca501.c
1825
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca501.c
1831
if (write_vector(gspca_dev, spca501c_arowana_init_data))
drivers/media/usb/gspca/spca501.c
1836
if (write_vector(gspca_dev, spca501c_mysterious_open_data))
drivers/media/usb/gspca/spca501.c
1841
if (write_vector(gspca_dev, spca501_init_data))
drivers/media/usb/gspca/spca501.c
1845
gspca_dbg(gspca_dev, D_STREAM, "Initializing SPCA501 finished\n");
drivers/media/usb/gspca/spca501.c
1851
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca501.c
1853
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca501.c
1859
write_vector(gspca_dev, spca501_3com_open_data);
drivers/media/usb/gspca/spca501.c
1864
write_vector(gspca_dev, spca501c_arowana_open_data);
drivers/media/usb/gspca/spca501.c
1868
write_vector(gspca_dev, spca501c_mysterious_init_data);
drivers/media/usb/gspca/spca501.c
1872
write_vector(gspca_dev, spca501_open_data);
drivers/media/usb/gspca/spca501.c
1876
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca501.c
1880
reg_write(gspca_dev, SPCA50X_REG_USB, 0x6, 0x94);
drivers/media/usb/gspca/spca501.c
1883
reg_write(gspca_dev, SPCA50X_REG_USB, 0x07, 0x004a);
drivers/media/usb/gspca/spca501.c
1886
reg_write(gspca_dev, SPCA50X_REG_USB, 0x07, 0x104a);
drivers/media/usb/gspca/spca501.c
1890
reg_write(gspca_dev, SPCA50X_REG_USB, 0x07, 0x204a);
drivers/media/usb/gspca/spca501.c
1893
reg_write(gspca_dev, SPCA501_REG_CTLRL, 0x01, 0x02);
drivers/media/usb/gspca/spca501.c
1898
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca501.c
1902
reg_write(gspca_dev, SPCA501_REG_CTLRL, 0x01, 0x00);
drivers/media/usb/gspca/spca501.c
1906
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca501.c
1908
if (!gspca_dev->present)
drivers/media/usb/gspca/spca501.c
1910
reg_write(gspca_dev, SPCA501_REG_CTLRL, 0x05, 0x00);
drivers/media/usb/gspca/spca501.c
1913
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca501.c
1919
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/spca501.c
1922
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca501.c
1930
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca501.c
1935
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca501.c
1936
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca501.c
1938
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca501.c
1940
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca501.c
1945
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca501.c
1948
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca501.c
1951
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca501.c
1954
setblue_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca501.c
1957
setred_balance(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca501.c
1960
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca501.c
1967
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca501.c
1969
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca501.c
1971
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca501.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca505.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca505.c
533
static int reg_write(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca505.c
537
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca505.c
544
gspca_dbg(gspca_dev, D_USBO, "reg write: 0x%02x,0x%02x:0x%02x, %d\n",
drivers/media/usb/gspca/spca505.c
552
static int reg_read(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca505.c
558
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca505.c
559
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca505.c
564
gspca_dev->usb_buf, 2,
drivers/media/usb/gspca/spca505.c
568
return (gspca_dev->usb_buf[1] << 8) + gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca505.c
571
static int write_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca505.c
577
ret = reg_write(gspca_dev, data[i][0], data[i][2],
drivers/media/usb/gspca/spca505.c
587
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca505.c
590
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca505.c
593
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca505.c
605
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca505.c
607
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca505.c
609
if (write_vector(gspca_dev,
drivers/media/usb/gspca/spca505.c
617
static void setbrightness(struct gspca_dev *gspca_dev, s32 brightness)
drivers/media/usb/gspca/spca505.c
619
reg_write(gspca_dev, 0x05, 0x00, (255 - brightness) >> 6);
drivers/media/usb/gspca/spca505.c
620
reg_write(gspca_dev, 0x05, 0x01, (255 - brightness) << 2);
drivers/media/usb/gspca/spca505.c
623
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca505.c
625
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca505.c
637
write_vector(gspca_dev, spca505b_open_data_ccd);
drivers/media/usb/gspca/spca505.c
639
write_vector(gspca_dev, spca505_open_data_ccd);
drivers/media/usb/gspca/spca505.c
640
ret = reg_read(gspca_dev, 0x06, 0x16);
drivers/media/usb/gspca/spca505.c
643
gspca_err(gspca_dev, "register read failed err: %d\n", ret);
drivers/media/usb/gspca/spca505.c
651
ret = reg_write(gspca_dev, 0x06, 0x16, 0x0a);
drivers/media/usb/gspca/spca505.c
654
reg_write(gspca_dev, 0x05, 0xc2, 0x12);
drivers/media/usb/gspca/spca505.c
659
reg_write(gspca_dev, 0x02, 0x00, 0x00);
drivers/media/usb/gspca/spca505.c
661
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca505.c
662
reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x00, mode_tb[mode][0]);
drivers/media/usb/gspca/spca505.c
663
reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x06, mode_tb[mode][1]);
drivers/media/usb/gspca/spca505.c
664
reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x07, mode_tb[mode][2]);
drivers/media/usb/gspca/spca505.c
666
return reg_write(gspca_dev, SPCA50X_REG_USB,
drivers/media/usb/gspca/spca505.c
671
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca505.c
674
reg_write(gspca_dev, 0x02, 0x00, 0x00);
drivers/media/usb/gspca/spca505.c
678
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca505.c
680
if (!gspca_dev->present)
drivers/media/usb/gspca/spca505.c
684
reg_write(gspca_dev, 0x03, 0x03, 0x20);
drivers/media/usb/gspca/spca505.c
685
reg_write(gspca_dev, 0x03, 0x01, 0x00);
drivers/media/usb/gspca/spca505.c
686
reg_write(gspca_dev, 0x03, 0x00, 0x01);
drivers/media/usb/gspca/spca505.c
687
reg_write(gspca_dev, 0x05, 0x10, 0x01);
drivers/media/usb/gspca/spca505.c
688
reg_write(gspca_dev, 0x05, 0x11, 0x0f);
drivers/media/usb/gspca/spca505.c
691
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca505.c
697
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/spca505.c
700
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca505.c
707
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca505.c
714
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca505.c
715
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca505.c
717
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca505.c
719
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca505.c
724
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca505.c
727
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca505.c
734
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca505.c
736
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca505.c
738
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca506.c
101
reg_w(gspca_dev->dev, 0x07, reg, 0x0001);
drivers/media/usb/gspca/spca506.c
102
reg_w(gspca_dev->dev, 0x07, valeur, 0x0000);
drivers/media/usb/gspca/spca506.c
104
reg_r(gspca_dev, 0x07, 0x0003, 2);
drivers/media/usb/gspca/spca506.c
105
if ((gspca_dev->usb_buf[0] | gspca_dev->usb_buf[1]) == 0x00)
drivers/media/usb/gspca/spca506.c
110
static void spca506_SetNormeInput(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca506.c
114
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca506.c
120
gspca_dbg(gspca_dev, D_STREAM, "** Open Set Norme **\n");
drivers/media/usb/gspca/spca506.c
121
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
132
reg_w(gspca_dev->dev, 0x08, videomask, 0x0000);
drivers/media/usb/gspca/spca506.c
133
spca506_WriteI2c(gspca_dev, (0xc0 | (channel & 0x0F)), 0x02);
drivers/media/usb/gspca/spca506.c
136
spca506_WriteI2c(gspca_dev, 0x33, 0x0e);
drivers/media/usb/gspca/spca506.c
139
spca506_WriteI2c(gspca_dev, 0x53, 0x0e);
drivers/media/usb/gspca/spca506.c
142
spca506_WriteI2c(gspca_dev, 0x03, 0x0e);
drivers/media/usb/gspca/spca506.c
147
gspca_dbg(gspca_dev, D_STREAM, "Set Video Byte to 0x%2x\n", videomask);
drivers/media/usb/gspca/spca506.c
148
gspca_dbg(gspca_dev, D_STREAM, "Set Norme: %08x Channel %d",
drivers/media/usb/gspca/spca506.c
152
static void spca506_GetNormeInput(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca506.c
155
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca506.c
161
gspca_dbg(gspca_dev, D_STREAM, "Get Norme: %d Channel %d\n",
drivers/media/usb/gspca/spca506.c
165
static void spca506_Setsize(struct gspca_dev *gspca_dev, __u16 code,
drivers/media/usb/gspca/spca506.c
168
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca506.c
170
gspca_dbg(gspca_dev, D_STREAM, "** SetSize **\n");
drivers/media/usb/gspca/spca506.c
197
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca506.c
202
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca506.c
209
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca506.c
21
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca506.c
211
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca506.c
219
spca506_SetNormeInput(gspca_dev, 0, 0);
drivers/media/usb/gspca/spca506.c
245
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
246
spca506_WriteI2c(gspca_dev, 0x08, 0x01);
drivers/media/usb/gspca/spca506.c
247
spca506_WriteI2c(gspca_dev, 0xc0, 0x02);
drivers/media/usb/gspca/spca506.c
249
spca506_WriteI2c(gspca_dev, 0x33, 0x03);
drivers/media/usb/gspca/spca506.c
250
spca506_WriteI2c(gspca_dev, 0x00, 0x04);
drivers/media/usb/gspca/spca506.c
251
spca506_WriteI2c(gspca_dev, 0x00, 0x05);
drivers/media/usb/gspca/spca506.c
252
spca506_WriteI2c(gspca_dev, 0x0d, 0x06);
drivers/media/usb/gspca/spca506.c
253
spca506_WriteI2c(gspca_dev, 0xf0, 0x07);
drivers/media/usb/gspca/spca506.c
254
spca506_WriteI2c(gspca_dev, 0x98, 0x08);
drivers/media/usb/gspca/spca506.c
255
spca506_WriteI2c(gspca_dev, 0x03, 0x09);
drivers/media/usb/gspca/spca506.c
256
spca506_WriteI2c(gspca_dev, 0x80, 0x0a);
drivers/media/usb/gspca/spca506.c
257
spca506_WriteI2c(gspca_dev, 0x47, 0x0b);
drivers/media/usb/gspca/spca506.c
258
spca506_WriteI2c(gspca_dev, 0x48, 0x0c);
drivers/media/usb/gspca/spca506.c
259
spca506_WriteI2c(gspca_dev, 0x00, 0x0d);
drivers/media/usb/gspca/spca506.c
260
spca506_WriteI2c(gspca_dev, 0x03, 0x0e); /* Chroma Pal adjust */
drivers/media/usb/gspca/spca506.c
261
spca506_WriteI2c(gspca_dev, 0x2a, 0x0f);
drivers/media/usb/gspca/spca506.c
262
spca506_WriteI2c(gspca_dev, 0x00, 0x10);
drivers/media/usb/gspca/spca506.c
263
spca506_WriteI2c(gspca_dev, 0x0c, 0x11);
drivers/media/usb/gspca/spca506.c
264
spca506_WriteI2c(gspca_dev, 0xb8, 0x12);
drivers/media/usb/gspca/spca506.c
265
spca506_WriteI2c(gspca_dev, 0x01, 0x13);
drivers/media/usb/gspca/spca506.c
266
spca506_WriteI2c(gspca_dev, 0x00, 0x14);
drivers/media/usb/gspca/spca506.c
267
spca506_WriteI2c(gspca_dev, 0x00, 0x15);
drivers/media/usb/gspca/spca506.c
268
spca506_WriteI2c(gspca_dev, 0x00, 0x16);
drivers/media/usb/gspca/spca506.c
269
spca506_WriteI2c(gspca_dev, 0x00, 0x17);
drivers/media/usb/gspca/spca506.c
270
spca506_WriteI2c(gspca_dev, 0x00, 0x18);
drivers/media/usb/gspca/spca506.c
271
spca506_WriteI2c(gspca_dev, 0x00, 0x19);
drivers/media/usb/gspca/spca506.c
272
spca506_WriteI2c(gspca_dev, 0x00, 0x1a);
drivers/media/usb/gspca/spca506.c
273
spca506_WriteI2c(gspca_dev, 0x00, 0x1b);
drivers/media/usb/gspca/spca506.c
274
spca506_WriteI2c(gspca_dev, 0x00, 0x1c);
drivers/media/usb/gspca/spca506.c
275
spca506_WriteI2c(gspca_dev, 0x00, 0x1d);
drivers/media/usb/gspca/spca506.c
276
spca506_WriteI2c(gspca_dev, 0x00, 0x1e);
drivers/media/usb/gspca/spca506.c
277
spca506_WriteI2c(gspca_dev, 0xa1, 0x1f);
drivers/media/usb/gspca/spca506.c
278
spca506_WriteI2c(gspca_dev, 0x02, 0x40);
drivers/media/usb/gspca/spca506.c
279
spca506_WriteI2c(gspca_dev, 0xff, 0x41);
drivers/media/usb/gspca/spca506.c
280
spca506_WriteI2c(gspca_dev, 0xff, 0x42);
drivers/media/usb/gspca/spca506.c
281
spca506_WriteI2c(gspca_dev, 0xff, 0x43);
drivers/media/usb/gspca/spca506.c
282
spca506_WriteI2c(gspca_dev, 0xff, 0x44);
drivers/media/usb/gspca/spca506.c
283
spca506_WriteI2c(gspca_dev, 0xff, 0x45);
drivers/media/usb/gspca/spca506.c
284
spca506_WriteI2c(gspca_dev, 0xff, 0x46);
drivers/media/usb/gspca/spca506.c
285
spca506_WriteI2c(gspca_dev, 0xff, 0x47);
drivers/media/usb/gspca/spca506.c
286
spca506_WriteI2c(gspca_dev, 0xff, 0x48);
drivers/media/usb/gspca/spca506.c
287
spca506_WriteI2c(gspca_dev, 0xff, 0x49);
drivers/media/usb/gspca/spca506.c
288
spca506_WriteI2c(gspca_dev, 0xff, 0x4a);
drivers/media/usb/gspca/spca506.c
289
spca506_WriteI2c(gspca_dev, 0xff, 0x4b);
drivers/media/usb/gspca/spca506.c
290
spca506_WriteI2c(gspca_dev, 0xff, 0x4c);
drivers/media/usb/gspca/spca506.c
291
spca506_WriteI2c(gspca_dev, 0xff, 0x4d);
drivers/media/usb/gspca/spca506.c
292
spca506_WriteI2c(gspca_dev, 0xff, 0x4e);
drivers/media/usb/gspca/spca506.c
293
spca506_WriteI2c(gspca_dev, 0xff, 0x4f);
drivers/media/usb/gspca/spca506.c
294
spca506_WriteI2c(gspca_dev, 0xff, 0x50);
drivers/media/usb/gspca/spca506.c
295
spca506_WriteI2c(gspca_dev, 0xff, 0x51);
drivers/media/usb/gspca/spca506.c
296
spca506_WriteI2c(gspca_dev, 0xff, 0x52);
drivers/media/usb/gspca/spca506.c
297
spca506_WriteI2c(gspca_dev, 0xff, 0x53);
drivers/media/usb/gspca/spca506.c
298
spca506_WriteI2c(gspca_dev, 0xff, 0x54);
drivers/media/usb/gspca/spca506.c
299
spca506_WriteI2c(gspca_dev, 0xff, 0x55);
drivers/media/usb/gspca/spca506.c
300
spca506_WriteI2c(gspca_dev, 0xff, 0x56);
drivers/media/usb/gspca/spca506.c
301
spca506_WriteI2c(gspca_dev, 0xff, 0x57);
drivers/media/usb/gspca/spca506.c
302
spca506_WriteI2c(gspca_dev, 0x00, 0x58);
drivers/media/usb/gspca/spca506.c
303
spca506_WriteI2c(gspca_dev, 0x54, 0x59);
drivers/media/usb/gspca/spca506.c
304
spca506_WriteI2c(gspca_dev, 0x07, 0x5a);
drivers/media/usb/gspca/spca506.c
305
spca506_WriteI2c(gspca_dev, 0x83, 0x5b);
drivers/media/usb/gspca/spca506.c
306
spca506_WriteI2c(gspca_dev, 0x00, 0x5c);
drivers/media/usb/gspca/spca506.c
307
spca506_WriteI2c(gspca_dev, 0x00, 0x5d);
drivers/media/usb/gspca/spca506.c
308
spca506_WriteI2c(gspca_dev, 0x00, 0x5e);
drivers/media/usb/gspca/spca506.c
309
spca506_WriteI2c(gspca_dev, 0x00, 0x5f);
drivers/media/usb/gspca/spca506.c
310
spca506_WriteI2c(gspca_dev, 0x00, 0x60);
drivers/media/usb/gspca/spca506.c
311
spca506_WriteI2c(gspca_dev, 0x05, 0x61);
drivers/media/usb/gspca/spca506.c
312
spca506_WriteI2c(gspca_dev, 0x9f, 0x62);
drivers/media/usb/gspca/spca506.c
313
gspca_dbg(gspca_dev, D_STREAM, "** Close Init *\n");
drivers/media/usb/gspca/spca506.c
317
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca506.c
319
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca506.c
333
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
334
spca506_WriteI2c(gspca_dev, 0x08, 0x01); /* Increment Delay */
drivers/media/usb/gspca/spca506.c
336
spca506_WriteI2c(gspca_dev, 0x33, 0x03);
drivers/media/usb/gspca/spca506.c
338
spca506_WriteI2c(gspca_dev, 0x00, 0x04);
drivers/media/usb/gspca/spca506.c
340
spca506_WriteI2c(gspca_dev, 0x00, 0x05);
drivers/media/usb/gspca/spca506.c
342
spca506_WriteI2c(gspca_dev, 0x0d, 0x06);
drivers/media/usb/gspca/spca506.c
344
spca506_WriteI2c(gspca_dev, 0xf0, 0x07);
drivers/media/usb/gspca/spca506.c
347
spca506_WriteI2c(gspca_dev, 0x98, 0x08); /* Sync Control */
drivers/media/usb/gspca/spca506.c
349
spca506_WriteI2c(gspca_dev, 0x03, 0x09); /* Luminance Control */
drivers/media/usb/gspca/spca506.c
350
spca506_WriteI2c(gspca_dev, 0x80, 0x0a);
drivers/media/usb/gspca/spca506.c
352
spca506_WriteI2c(gspca_dev, 0x47, 0x0b); /* Luminance Contrast */
drivers/media/usb/gspca/spca506.c
353
spca506_WriteI2c(gspca_dev, 0x48, 0x0c);
drivers/media/usb/gspca/spca506.c
355
spca506_WriteI2c(gspca_dev, 0x00, 0x0d);
drivers/media/usb/gspca/spca506.c
357
spca506_WriteI2c(gspca_dev, 0x2a, 0x0f);
drivers/media/usb/gspca/spca506.c
360
spca506_WriteI2c(gspca_dev, 0x00, 0x10);
drivers/media/usb/gspca/spca506.c
362
spca506_WriteI2c(gspca_dev, 0x0c, 0x11); /* Output Control 1 */
drivers/media/usb/gspca/spca506.c
363
spca506_WriteI2c(gspca_dev, 0xb8, 0x12); /* Output Control 2 */
drivers/media/usb/gspca/spca506.c
364
spca506_WriteI2c(gspca_dev, 0x01, 0x13); /* Output Control 3 */
drivers/media/usb/gspca/spca506.c
365
spca506_WriteI2c(gspca_dev, 0x00, 0x14); /* reserved */
drivers/media/usb/gspca/spca506.c
366
spca506_WriteI2c(gspca_dev, 0x00, 0x15); /* VGATE START */
drivers/media/usb/gspca/spca506.c
367
spca506_WriteI2c(gspca_dev, 0x00, 0x16); /* VGATE STOP */
drivers/media/usb/gspca/spca506.c
368
spca506_WriteI2c(gspca_dev, 0x00, 0x17); /* VGATE Control (MSB) */
drivers/media/usb/gspca/spca506.c
369
spca506_WriteI2c(gspca_dev, 0x00, 0x18);
drivers/media/usb/gspca/spca506.c
370
spca506_WriteI2c(gspca_dev, 0x00, 0x19);
drivers/media/usb/gspca/spca506.c
371
spca506_WriteI2c(gspca_dev, 0x00, 0x1a);
drivers/media/usb/gspca/spca506.c
372
spca506_WriteI2c(gspca_dev, 0x00, 0x1b);
drivers/media/usb/gspca/spca506.c
373
spca506_WriteI2c(gspca_dev, 0x00, 0x1c);
drivers/media/usb/gspca/spca506.c
374
spca506_WriteI2c(gspca_dev, 0x00, 0x1d);
drivers/media/usb/gspca/spca506.c
375
spca506_WriteI2c(gspca_dev, 0x00, 0x1e);
drivers/media/usb/gspca/spca506.c
376
spca506_WriteI2c(gspca_dev, 0xa1, 0x1f);
drivers/media/usb/gspca/spca506.c
377
spca506_WriteI2c(gspca_dev, 0x02, 0x40);
drivers/media/usb/gspca/spca506.c
378
spca506_WriteI2c(gspca_dev, 0xff, 0x41);
drivers/media/usb/gspca/spca506.c
379
spca506_WriteI2c(gspca_dev, 0xff, 0x42);
drivers/media/usb/gspca/spca506.c
380
spca506_WriteI2c(gspca_dev, 0xff, 0x43);
drivers/media/usb/gspca/spca506.c
381
spca506_WriteI2c(gspca_dev, 0xff, 0x44);
drivers/media/usb/gspca/spca506.c
382
spca506_WriteI2c(gspca_dev, 0xff, 0x45);
drivers/media/usb/gspca/spca506.c
383
spca506_WriteI2c(gspca_dev, 0xff, 0x46);
drivers/media/usb/gspca/spca506.c
384
spca506_WriteI2c(gspca_dev, 0xff, 0x47);
drivers/media/usb/gspca/spca506.c
385
spca506_WriteI2c(gspca_dev, 0xff, 0x48);
drivers/media/usb/gspca/spca506.c
386
spca506_WriteI2c(gspca_dev, 0xff, 0x49);
drivers/media/usb/gspca/spca506.c
387
spca506_WriteI2c(gspca_dev, 0xff, 0x4a);
drivers/media/usb/gspca/spca506.c
388
spca506_WriteI2c(gspca_dev, 0xff, 0x4b);
drivers/media/usb/gspca/spca506.c
389
spca506_WriteI2c(gspca_dev, 0xff, 0x4c);
drivers/media/usb/gspca/spca506.c
390
spca506_WriteI2c(gspca_dev, 0xff, 0x4d);
drivers/media/usb/gspca/spca506.c
391
spca506_WriteI2c(gspca_dev, 0xff, 0x4e);
drivers/media/usb/gspca/spca506.c
392
spca506_WriteI2c(gspca_dev, 0xff, 0x4f);
drivers/media/usb/gspca/spca506.c
393
spca506_WriteI2c(gspca_dev, 0xff, 0x50);
drivers/media/usb/gspca/spca506.c
394
spca506_WriteI2c(gspca_dev, 0xff, 0x51);
drivers/media/usb/gspca/spca506.c
395
spca506_WriteI2c(gspca_dev, 0xff, 0x52);
drivers/media/usb/gspca/spca506.c
396
spca506_WriteI2c(gspca_dev, 0xff, 0x53);
drivers/media/usb/gspca/spca506.c
397
spca506_WriteI2c(gspca_dev, 0xff, 0x54);
drivers/media/usb/gspca/spca506.c
398
spca506_WriteI2c(gspca_dev, 0xff, 0x55);
drivers/media/usb/gspca/spca506.c
399
spca506_WriteI2c(gspca_dev, 0xff, 0x56);
drivers/media/usb/gspca/spca506.c
400
spca506_WriteI2c(gspca_dev, 0xff, 0x57);
drivers/media/usb/gspca/spca506.c
401
spca506_WriteI2c(gspca_dev, 0x00, 0x58);
drivers/media/usb/gspca/spca506.c
402
spca506_WriteI2c(gspca_dev, 0x54, 0x59);
drivers/media/usb/gspca/spca506.c
403
spca506_WriteI2c(gspca_dev, 0x07, 0x5a);
drivers/media/usb/gspca/spca506.c
404
spca506_WriteI2c(gspca_dev, 0x83, 0x5b);
drivers/media/usb/gspca/spca506.c
405
spca506_WriteI2c(gspca_dev, 0x00, 0x5c);
drivers/media/usb/gspca/spca506.c
406
spca506_WriteI2c(gspca_dev, 0x00, 0x5d);
drivers/media/usb/gspca/spca506.c
407
spca506_WriteI2c(gspca_dev, 0x00, 0x5e);
drivers/media/usb/gspca/spca506.c
408
spca506_WriteI2c(gspca_dev, 0x00, 0x5f);
drivers/media/usb/gspca/spca506.c
409
spca506_WriteI2c(gspca_dev, 0x00, 0x60);
drivers/media/usb/gspca/spca506.c
410
spca506_WriteI2c(gspca_dev, 0x05, 0x61);
drivers/media/usb/gspca/spca506.c
411
spca506_WriteI2c(gspca_dev, 0x9f, 0x62);
drivers/media/usb/gspca/spca506.c
417
switch (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/spca506.c
419
spca506_Setsize(gspca_dev, 0, 0x10, 0x10);
drivers/media/usb/gspca/spca506.c
422
spca506_Setsize(gspca_dev, 1, 0x1a, 0x1a);
drivers/media/usb/gspca/spca506.c
425
spca506_Setsize(gspca_dev, 2, 0x1c, 0x1c);
drivers/media/usb/gspca/spca506.c
428
spca506_Setsize(gspca_dev, 4, 0x34, 0x34);
drivers/media/usb/gspca/spca506.c
432
spca506_Setsize(gspca_dev, 5, 0x40, 0x40);
drivers/media/usb/gspca/spca506.c
440
reg_r(gspca_dev, 0x04, 0x0001, 2);
drivers/media/usb/gspca/spca506.c
441
gspca_dbg(gspca_dev, D_STREAM, "webcam started\n");
drivers/media/usb/gspca/spca506.c
442
spca506_GetNormeInput(gspca_dev, &norme, &channel);
drivers/media/usb/gspca/spca506.c
443
spca506_SetNormeInput(gspca_dev, norme, channel);
drivers/media/usb/gspca/spca506.c
447
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca506.c
449
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca506.c
456
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca506.c
462
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/spca506.c
465
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca506.c
473
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca506.c
478
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca506.c
480
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
481
spca506_WriteI2c(gspca_dev, val, SAA7113_bright);
drivers/media/usb/gspca/spca506.c
482
spca506_WriteI2c(gspca_dev, 0x01, 0x09);
drivers/media/usb/gspca/spca506.c
485
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca506.c
487
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
488
spca506_WriteI2c(gspca_dev, val, SAA7113_contrast);
drivers/media/usb/gspca/spca506.c
489
spca506_WriteI2c(gspca_dev, 0x01, 0x09);
drivers/media/usb/gspca/spca506.c
492
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca506.c
494
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
495
spca506_WriteI2c(gspca_dev, val, SAA7113_saturation);
drivers/media/usb/gspca/spca506.c
496
spca506_WriteI2c(gspca_dev, 0x01, 0x09);
drivers/media/usb/gspca/spca506.c
499
static void sethue(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca506.c
501
spca506_Initi2c(gspca_dev);
drivers/media/usb/gspca/spca506.c
502
spca506_WriteI2c(gspca_dev, val, SAA7113_hue);
drivers/media/usb/gspca/spca506.c
503
spca506_WriteI2c(gspca_dev, 0x01, 0x09);
drivers/media/usb/gspca/spca506.c
508
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca506.c
509
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca506.c
511
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca506.c
513
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca506.c
518
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca506.c
521
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca506.c
524
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca506.c
527
sethue(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca506.c
530
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca506.c
537
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca506.c
539
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca506.c
541
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca506.c
64
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca506.c
69
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca506.c
70
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca506.c
74
index, gspca_dev->usb_buf, length,
drivers/media/usb/gspca/spca506.c
91
static void spca506_Initi2c(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca506.c
93
reg_w(gspca_dev->dev, 0x07, SAA7113_I2C_BASE_WRITE, 0x0004);
drivers/media/usb/gspca/spca506.c
96
static void spca506_WriteI2c(struct gspca_dev *gspca_dev, __u16 valeur,
drivers/media/usb/gspca/spca508.c
1231
static int reg_write(struct gspca_dev *gspca_dev, u16 index, u16 value)
drivers/media/usb/gspca/spca508.c
1234
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca508.c
1241
gspca_dbg(gspca_dev, D_USBO, "reg write i:0x%04x = 0x%02x\n",
drivers/media/usb/gspca/spca508.c
1250
static int reg_read(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca508.c
1255
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca508.c
1256
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca508.c
1261
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/spca508.c
1263
gspca_dbg(gspca_dev, D_USBI, "reg read i:%04x --> %02x\n",
drivers/media/usb/gspca/spca508.c
1264
index, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/spca508.c
1269
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca508.c
1273
static int ssi_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca508.c
1278
ret = reg_write(gspca_dev, 0x8802, reg >> 8);
drivers/media/usb/gspca/spca508.c
1281
ret = reg_write(gspca_dev, 0x8801, reg & 0x00ff);
drivers/media/usb/gspca/spca508.c
1285
ret = reg_write(gspca_dev, 0x8805, val & 0x00ff);
drivers/media/usb/gspca/spca508.c
1290
ret = reg_write(gspca_dev, 0x8800, val);
drivers/media/usb/gspca/spca508.c
1297
ret = reg_read(gspca_dev, 0x8803);
drivers/media/usb/gspca/spca508.c
1300
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/spca508.c
1303
gspca_err(gspca_dev, "ssi_w busy %02x\n",
drivers/media/usb/gspca/spca508.c
1304
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/spca508.c
1315
static int write_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca508.c
1325
ret = reg_write(gspca_dev, (*data)[1],
drivers/media/usb/gspca/spca508.c
1328
ret = ssi_w(gspca_dev, (*data)[1], (*data)[0]);
drivers/media/usb/gspca/spca508.c
1338
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca508.c
1341
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca508.c
1358
data1 = reg_read(gspca_dev, 0x8104);
drivers/media/usb/gspca/spca508.c
1359
data2 = reg_read(gspca_dev, 0x8105);
drivers/media/usb/gspca/spca508.c
1360
gspca_dbg(gspca_dev, D_PROBE, "Webcam Vendor ID: 0x%02x%02x\n",
drivers/media/usb/gspca/spca508.c
1363
data1 = reg_read(gspca_dev, 0x8106);
drivers/media/usb/gspca/spca508.c
1364
data2 = reg_read(gspca_dev, 0x8107);
drivers/media/usb/gspca/spca508.c
1365
gspca_dbg(gspca_dev, D_PROBE, "Webcam Product ID: 0x%02x%02x\n",
drivers/media/usb/gspca/spca508.c
1368
data1 = reg_read(gspca_dev, 0x8621);
drivers/media/usb/gspca/spca508.c
1369
gspca_dbg(gspca_dev, D_PROBE, "Window 1 average luminance: %d\n",
drivers/media/usb/gspca/spca508.c
1372
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca508.c
1379
return write_vector(gspca_dev, init_data);
drivers/media/usb/gspca/spca508.c
1383
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca508.c
1388
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca508.c
1392
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca508.c
1393
reg_write(gspca_dev, 0x8500, mode);
drivers/media/usb/gspca/spca508.c
1397
reg_write(gspca_dev, 0x8700, 0x28); /* clock */
drivers/media/usb/gspca/spca508.c
1402
reg_write(gspca_dev, 0x8700, 0x23); /* clock */
drivers/media/usb/gspca/spca508.c
1405
reg_write(gspca_dev, 0x8112, 0x10 | 0x20);
drivers/media/usb/gspca/spca508.c
1409
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca508.c
1412
reg_write(gspca_dev, 0x8112, 0x20);
drivers/media/usb/gspca/spca508.c
1415
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca508.c
1421
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/spca508.c
1424
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca508.c
1431
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca508.c
1436
static void setbrightness(struct gspca_dev *gspca_dev, s32 brightness)
drivers/media/usb/gspca/spca508.c
1439
reg_write(gspca_dev, 0x8651, brightness);
drivers/media/usb/gspca/spca508.c
1440
reg_write(gspca_dev, 0x8652, brightness);
drivers/media/usb/gspca/spca508.c
1441
reg_write(gspca_dev, 0x8653, brightness);
drivers/media/usb/gspca/spca508.c
1442
reg_write(gspca_dev, 0x8654, brightness);
drivers/media/usb/gspca/spca508.c
1447
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca508.c
1448
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca508.c
1450
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca508.c
1452
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca508.c
1457
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca508.c
1460
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca508.c
1467
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca508.c
1469
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca508.c
1471
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca508.c
20
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca561.c
25
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/spca561.c
275
static void reg_w_val(struct gspca_dev *gspca_dev, __u16 index, __u8 value)
drivers/media/usb/gspca/spca561.c
278
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/spca561.c
284
gspca_dbg(gspca_dev, D_USBO, "reg write: 0x%02x:0x%02x\n",
drivers/media/usb/gspca/spca561.c
290
static void write_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
297
reg_w_val(gspca_dev, data[i][1], data[i][0]);
drivers/media/usb/gspca/spca561.c
303
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
306
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca561.c
307
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca561.c
311
index, gspca_dev->usb_buf, length, 500);
drivers/media/usb/gspca/spca561.c
315
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
318
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/spca561.c
319
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/spca561.c
323
index, gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/spca561.c
326
static void i2c_write(struct gspca_dev *gspca_dev, __u16 value, __u16 reg)
drivers/media/usb/gspca/spca561.c
330
reg_w_val(gspca_dev, 0x8801, reg);
drivers/media/usb/gspca/spca561.c
331
reg_w_val(gspca_dev, 0x8805, value);
drivers/media/usb/gspca/spca561.c
332
reg_w_val(gspca_dev, 0x8800, value >> 8);
drivers/media/usb/gspca/spca561.c
334
reg_r(gspca_dev, 0x8803, 1);
drivers/media/usb/gspca/spca561.c
335
if (!gspca_dev->usb_buf[0])
drivers/media/usb/gspca/spca561.c
341
static int i2c_read(struct gspca_dev *gspca_dev, __u16 reg, __u8 mode)
drivers/media/usb/gspca/spca561.c
346
reg_w_val(gspca_dev, 0x8804, 0x92);
drivers/media/usb/gspca/spca561.c
347
reg_w_val(gspca_dev, 0x8801, reg);
drivers/media/usb/gspca/spca561.c
348
reg_w_val(gspca_dev, 0x8802, mode | 0x01);
drivers/media/usb/gspca/spca561.c
350
reg_r(gspca_dev, 0x8803, 1);
drivers/media/usb/gspca/spca561.c
351
if (!gspca_dev->usb_buf[0]) {
drivers/media/usb/gspca/spca561.c
352
reg_r(gspca_dev, 0x8800, 1);
drivers/media/usb/gspca/spca561.c
353
value = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
354
reg_r(gspca_dev, 0x8805, 1);
drivers/media/usb/gspca/spca561.c
355
return ((int) value << 8) | gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
362
static void sensor_mapwrite(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
366
gspca_dev->usb_buf[0] = (*sensormap)[1];
drivers/media/usb/gspca/spca561.c
367
gspca_dev->usb_buf[1] = (*sensormap)[1] >> 8;
drivers/media/usb/gspca/spca561.c
368
reg_w_buf(gspca_dev, (*sensormap)[0], 2);
drivers/media/usb/gspca/spca561.c
373
static void write_sensor_72a(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
377
i2c_write(gspca_dev, (*sensor)[1], (*sensor)[0]);
drivers/media/usb/gspca/spca561.c
382
static void init_161rev12A(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
384
write_vector(gspca_dev, spca561_161rev12A_data1);
drivers/media/usb/gspca/spca561.c
385
sensor_mapwrite(gspca_dev, Pb100_1map8300);
drivers/media/usb/gspca/spca561.c
387
write_vector(gspca_dev, spca561_161rev12A_data2);
drivers/media/usb/gspca/spca561.c
388
sensor_mapwrite(gspca_dev, Pb100_2map8300);
drivers/media/usb/gspca/spca561.c
392
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
395
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
404
reg_r(gspca_dev, 0x8104, 1);
drivers/media/usb/gspca/spca561.c
405
data1 = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
406
reg_r(gspca_dev, 0x8105, 1);
drivers/media/usb/gspca/spca561.c
407
data2 = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
409
reg_r(gspca_dev, 0x8106, 1);
drivers/media/usb/gspca/spca561.c
410
data1 = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
411
reg_r(gspca_dev, 0x8107, 1);
drivers/media/usb/gspca/spca561.c
412
data2 = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
415
gspca_dbg(gspca_dev, D_PROBE, "Bad vendor / product from device\n");
drivers/media/usb/gspca/spca561.c
419
cam = &gspca_dev->cam;
drivers/media/usb/gspca/spca561.c
435
static int sd_init_12a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
437
gspca_dbg(gspca_dev, D_STREAM, "Chip revision: 012a\n");
drivers/media/usb/gspca/spca561.c
438
init_161rev12A(gspca_dev);
drivers/media/usb/gspca/spca561.c
441
static int sd_init_72a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
443
gspca_dbg(gspca_dev, D_STREAM, "Chip revision: 072a\n");
drivers/media/usb/gspca/spca561.c
444
write_vector(gspca_dev, rev72a_reset);
drivers/media/usb/gspca/spca561.c
446
write_vector(gspca_dev, rev72a_init_data1);
drivers/media/usb/gspca/spca561.c
447
write_sensor_72a(gspca_dev, rev72a_init_sensor1);
drivers/media/usb/gspca/spca561.c
448
write_vector(gspca_dev, rev72a_init_data2);
drivers/media/usb/gspca/spca561.c
449
write_sensor_72a(gspca_dev, rev72a_init_sensor2);
drivers/media/usb/gspca/spca561.c
450
reg_w_val(gspca_dev, 0x8112, 0x30);
drivers/media/usb/gspca/spca561.c
454
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca561.c
456
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
464
reg_w_val(gspca_dev, reg + 0, val); /* R */
drivers/media/usb/gspca/spca561.c
465
reg_w_val(gspca_dev, reg + 1, val); /* Gr */
drivers/media/usb/gspca/spca561.c
466
reg_w_val(gspca_dev, reg + 2, val); /* B */
drivers/media/usb/gspca/spca561.c
467
reg_w_val(gspca_dev, reg + 3, val); /* Gb */
drivers/media/usb/gspca/spca561.c
470
static void setwhite(struct gspca_dev *gspca_dev, s32 white, s32 contrast)
drivers/media/usb/gspca/spca561.c
472
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
485
reg_w_val(gspca_dev, 0x8652, contrast + 0x20); /* Gr */
drivers/media/usb/gspca/spca561.c
486
reg_w_val(gspca_dev, 0x8654, contrast + 0x20); /* Gb */
drivers/media/usb/gspca/spca561.c
488
reg_w_val(gspca_dev, reg, red);
drivers/media/usb/gspca/spca561.c
489
reg_w_val(gspca_dev, reg + 2, blue);
drivers/media/usb/gspca/spca561.c
493
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca561.c
525
gspca_dev->usb_buf[0] = expo;
drivers/media/usb/gspca/spca561.c
526
gspca_dev->usb_buf[1] = expo >> 8;
drivers/media/usb/gspca/spca561.c
527
reg_w_buf(gspca_dev, 0x8309, 2);
drivers/media/usb/gspca/spca561.c
531
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca561.c
537
gspca_dev->usb_buf[0] = val;
drivers/media/usb/gspca/spca561.c
539
gspca_dev->usb_buf[0] = (val / 2) | 0x40;
drivers/media/usb/gspca/spca561.c
541
gspca_dev->usb_buf[0] = (val / 4) | 0xc0;
drivers/media/usb/gspca/spca561.c
543
gspca_dev->usb_buf[1] = 0;
drivers/media/usb/gspca/spca561.c
544
reg_w_buf(gspca_dev, 0x8335, 2);
drivers/media/usb/gspca/spca561.c
547
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/spca561.c
549
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
557
static int sd_start_12a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
563
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca561.c
566
reg_w_val(gspca_dev, 0x8500, 0x10 | mode);
drivers/media/usb/gspca/spca561.c
571
reg_w_val(gspca_dev, 0x8500, mode);
drivers/media/usb/gspca/spca561.c
574
gspca_dev->usb_buf[0] = 0xaa;
drivers/media/usb/gspca/spca561.c
575
gspca_dev->usb_buf[1] = 0x00;
drivers/media/usb/gspca/spca561.c
576
reg_w_buf(gspca_dev, 0x8307, 2);
drivers/media/usb/gspca/spca561.c
578
reg_w_val(gspca_dev, 0x8700, 0x8a);
drivers/media/usb/gspca/spca561.c
580
reg_w_val(gspca_dev, 0x8112, 0x1e | 0x20);
drivers/media/usb/gspca/spca561.c
581
reg_w_val(gspca_dev, 0x850b, 0x03);
drivers/media/usb/gspca/spca561.c
582
memcpy(gspca_dev->usb_buf, Reg8391, 8);
drivers/media/usb/gspca/spca561.c
583
reg_w_buf(gspca_dev, 0x8391, 8);
drivers/media/usb/gspca/spca561.c
584
reg_w_buf(gspca_dev, 0x8390, 8);
drivers/media/usb/gspca/spca561.c
587
reg_w_val(gspca_dev, 0x8114, 0x00);
drivers/media/usb/gspca/spca561.c
590
static int sd_start_72a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
592
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
596
write_vector(gspca_dev, rev72a_reset);
drivers/media/usb/gspca/spca561.c
598
write_vector(gspca_dev, rev72a_init_data1);
drivers/media/usb/gspca/spca561.c
599
write_sensor_72a(gspca_dev, rev72a_init_sensor1);
drivers/media/usb/gspca/spca561.c
601
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/spca561.c
617
reg_w_val(gspca_dev, 0x8700, Clck); /* 0x27 clock */
drivers/media/usb/gspca/spca561.c
618
reg_w_val(gspca_dev, 0x8702, 0x81);
drivers/media/usb/gspca/spca561.c
619
reg_w_val(gspca_dev, 0x8500, mode); /* mode */
drivers/media/usb/gspca/spca561.c
620
write_sensor_72a(gspca_dev, rev72a_init_sensor2);
drivers/media/usb/gspca/spca561.c
621
setwhite(gspca_dev, v4l2_ctrl_g_ctrl(sd->hue),
drivers/media/usb/gspca/spca561.c
624
setautogain(gspca_dev, v4l2_ctrl_g_ctrl(sd->autogain));
drivers/media/usb/gspca/spca561.c
625
reg_w_val(gspca_dev, 0x8112, 0x10 | 0x20);
drivers/media/usb/gspca/spca561.c
629
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
631
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
634
reg_w_val(gspca_dev, 0x8112, 0x0e);
drivers/media/usb/gspca/spca561.c
636
reg_w_val(gspca_dev, 0x8114, 0x08);
drivers/media/usb/gspca/spca561.c
638
reg_w_val(gspca_dev, 0x8112, 0x20);
drivers/media/usb/gspca/spca561.c
643
static void do_autogain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
645
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
663
reg_r(gspca_dev, 0x8621, 1);
drivers/media/usb/gspca/spca561.c
664
Gr = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
665
reg_r(gspca_dev, 0x8622, 1);
drivers/media/usb/gspca/spca561.c
666
R = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
667
reg_r(gspca_dev, 0x8623, 1);
drivers/media/usb/gspca/spca561.c
668
B = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
669
reg_r(gspca_dev, 0x8624, 1);
drivers/media/usb/gspca/spca561.c
670
Gb = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/spca561.c
677
expotimes = i2c_read(gspca_dev, 0x09, 0x10);
drivers/media/usb/gspca/spca561.c
680
gainG = i2c_read(gspca_dev, 0x35, 0x10);
drivers/media/usb/gspca/spca561.c
689
i2c_write(gspca_dev, gainG, 0x35);
drivers/media/usb/gspca/spca561.c
695
i2c_write(gspca_dev, expotimes | pixelclk, 0x09);
drivers/media/usb/gspca/spca561.c
701
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/spca561.c
705
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/spca561.c
710
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/spca561.c
714
gspca_err(gspca_dev, "Short SOF packet, ignoring\n\n\n\n\n");
drivers/media/usb/gspca/spca561.c
715
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/spca561.c
721
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/spca561.c
722
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/spca561.c
723
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/spca561.c
724
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/spca561.c
730
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca561.c
740
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/spca561.c
746
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/spca561.c
751
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/spca561.c
752
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/spca561.c
753
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/spca561.c
755
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/spca561.c
757
if (!gspca_dev->streaming)
drivers/media/usb/gspca/spca561.c
762
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca561.c
766
setwhite(gspca_dev, sd->hue->val, ctrl->val);
drivers/media/usb/gspca/spca561.c
770
setwhite(gspca_dev, ctrl->val, 0);
drivers/media/usb/gspca/spca561.c
773
setexposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca561.c
776
setgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca561.c
779
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/spca561.c
782
return gspca_dev->usb_err;
drivers/media/usb/gspca/spca561.c
789
static int sd_init_controls_12a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
791
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca561.c
793
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/spca561.c
811
static int sd_init_controls_72a(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/spca561.c
813
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/spca561.c
814
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/spca561.c
816
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sq905.c
102
static int sq905_command(struct gspca_dev *gspca_dev, u16 index)
drivers/media/usb/gspca/sq905.c
106
gspca_dev->usb_buf[0] = '\0';
drivers/media/usb/gspca/sq905.c
107
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905.c
108
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905.c
111
SQ905_COMMAND, index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sq905.c
118
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905.c
119
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905.c
122
SQ905_PING, 0, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sq905.c
135
static int sq905_ack_frame(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905.c
139
gspca_dev->usb_buf[0] = '\0';
drivers/media/usb/gspca/sq905.c
140
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905.c
141
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905.c
144
SQ905_READ_DONE, 0, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sq905.c
158
sq905_read_data(struct gspca_dev *gspca_dev, u8 *data, int size, int need_lock)
drivers/media/usb/gspca/sq905.c
163
gspca_dev->usb_buf[0] = '\0';
drivers/media/usb/gspca/sq905.c
165
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
166
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905.c
167
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905.c
170
SQ905_BULK_READ, size, gspca_dev->usb_buf,
drivers/media/usb/gspca/sq905.c
173
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
178
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905.c
179
usb_rcvbulkpipe(gspca_dev->dev, 0x81),
drivers/media/usb/gspca/sq905.c
201
struct gspca_dev *gspca_dev = &dev->gspca_dev;
drivers/media/usb/gspca/sq905.c
217
frame_sz = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].sizeimage
drivers/media/usb/gspca/sq905.c
220
while (gspca_dev->present && gspca_dev->streaming) {
drivers/media/usb/gspca/sq905.c
222
if (gspca_dev->frozen)
drivers/media/usb/gspca/sq905.c
234
while (bytes_left > 0 && gspca_dev->present) {
drivers/media/usb/gspca/sq905.c
237
ret = sq905_read_data(gspca_dev, buffer, data_len, 1);
drivers/media/usb/gspca/sq905.c
240
gspca_dbg(gspca_dev, D_PACK,
drivers/media/usb/gspca/sq905.c
257
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/sq905.c
263
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/sq905.c
266
if (gspca_dev->present) {
drivers/media/usb/gspca/sq905.c
268
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
269
ret = sq905_ack_frame(gspca_dev);
drivers/media/usb/gspca/sq905.c
270
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
276
if (gspca_dev->present) {
drivers/media/usb/gspca/sq905.c
277
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
278
sq905_command(gspca_dev, SQ905_CLEAR);
drivers/media/usb/gspca/sq905.c
279
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
285
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq905.c
288
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sq905.c
289
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905.c
302
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905.c
304
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905.c
307
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
311
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905.c
315
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905.c
323
ret = sq905_command(gspca_dev, SQ905_CLEAR);
drivers/media/usb/gspca/sq905.c
326
ret = sq905_command(gspca_dev, SQ905_ID);
drivers/media/usb/gspca/sq905.c
329
ret = sq905_read_data(gspca_dev, gspca_dev->usb_buf, 4, 0);
drivers/media/usb/gspca/sq905.c
335
ident = be32_to_cpup((__be32 *)gspca_dev->usb_buf);
drivers/media/usb/gspca/sq905.c
336
ret = sq905_command(gspca_dev, SQ905_CLEAR);
drivers/media/usb/gspca/sq905.c
339
gspca_dbg(gspca_dev, D_CONF, "SQ905 camera ID %08x detected\n", ident);
drivers/media/usb/gspca/sq905.c
340
gspca_dev->cam.cam_mode = sq905_mode;
drivers/media/usb/gspca/sq905.c
341
gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode);
drivers/media/usb/gspca/sq905.c
343
gspca_dev->cam.nmodes--;
drivers/media/usb/gspca/sq905.c
346
gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP;
drivers/media/usb/gspca/sq905.c
348
gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP |
drivers/media/usb/gspca/sq905.c
354
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905.c
356
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905.c
360
switch (gspca_dev->curr_mode) {
drivers/media/usb/gspca/sq905.c
363
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at high resolution\n");
drivers/media/usb/gspca/sq905.c
364
ret = sq905_command(&dev->gspca_dev, SQ905_CAPTURE_HIGH);
drivers/media/usb/gspca/sq905.c
367
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at medium resolution\n");
drivers/media/usb/gspca/sq905.c
368
ret = sq905_command(&dev->gspca_dev, SQ905_CAPTURE_MED);
drivers/media/usb/gspca/sq905.c
371
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at low resolution\n");
drivers/media/usb/gspca/sq905.c
372
ret = sq905_command(&dev->gspca_dev, SQ905_CAPTURE_LOW);
drivers/media/usb/gspca/sq905.c
376
gspca_err(gspca_dev, "Start streaming command failed\n");
drivers/media/usb/gspca/sq905.c
72
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sq905c.c
100
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905c.c
103
command, index, gspca_dev->usb_buf, size,
drivers/media/usb/gspca/sq905c.c
124
struct gspca_dev *gspca_dev = &dev->gspca_dev;
drivers/media/usb/gspca/sq905c.c
138
while (gspca_dev->present && gspca_dev->streaming) {
drivers/media/usb/gspca/sq905c.c
140
if (gspca_dev->frozen)
drivers/media/usb/gspca/sq905c.c
144
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905c.c
145
usb_rcvbulkpipe(gspca_dev->dev, 0x81),
drivers/media/usb/gspca/sq905c.c
148
gspca_dbg(gspca_dev, D_STREAM,
drivers/media/usb/gspca/sq905c.c
156
gspca_dbg(gspca_dev, D_STREAM, "bytes_left = 0x%x\n",
drivers/media/usb/gspca/sq905c.c
160
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/sq905c.c
162
while (bytes_left > 0 && gspca_dev->present) {
drivers/media/usb/gspca/sq905c.c
165
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905c.c
166
usb_rcvbulkpipe(gspca_dev->dev, 0x81),
drivers/media/usb/gspca/sq905c.c
171
gspca_dbg(gspca_dev, D_STREAM,
drivers/media/usb/gspca/sq905c.c
179
gspca_frame_add(gspca_dev, packet_type,
drivers/media/usb/gspca/sq905c.c
184
if (gspca_dev->present) {
drivers/media/usb/gspca/sq905c.c
185
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905c.c
186
sq905c_command(gspca_dev, SQ905C_CLEAR, 0);
drivers/media/usb/gspca/sq905c.c
187
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905c.c
193
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq905c.c
196
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sq905c.c
197
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905c.c
200
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/sq905c.c
204
ret = sq905c_command(gspca_dev, SQ905C_GET_ID, 0);
drivers/media/usb/gspca/sq905c.c
206
gspca_err(gspca_dev, "Get version command failed\n");
drivers/media/usb/gspca/sq905c.c
210
ret = sq905c_read(gspca_dev, 0xf5, 0, 20);
drivers/media/usb/gspca/sq905c.c
212
gspca_err(gspca_dev, "Reading version command failed\n");
drivers/media/usb/gspca/sq905c.c
216
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/sq905c.c
218
gspca_dev->usb_buf[3], 6, gspca_dev->usb_buf + 14);
drivers/media/usb/gspca/sq905c.c
222
if (gspca_dev->usb_buf[15] == 0)
drivers/media/usb/gspca/sq905c.c
233
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905c.c
235
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905c.c
238
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905c.c
242
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/sq905c.c
246
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905c.c
249
return sq905c_command(gspca_dev, SQ905C_CLEAR, 0);
drivers/media/usb/gspca/sq905c.c
253
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq905c.c
255
struct sd *dev = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq905c.c
258
dev->cap_mode = gspca_dev->cam.cam_mode;
drivers/media/usb/gspca/sq905c.c
260
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/sq905c.c
262
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at high resolution\n");
drivers/media/usb/gspca/sq905c.c
264
ret = sq905c_command(gspca_dev, SQ905C_CAPTURE_HI,
drivers/media/usb/gspca/sq905c.c
268
gspca_dbg(gspca_dev, D_STREAM, "Start streaming at medium resolution\n");
drivers/media/usb/gspca/sq905c.c
269
ret = sq905c_command(gspca_dev, SQ905C_CAPTURE_MED,
drivers/media/usb/gspca/sq905c.c
274
gspca_err(gspca_dev, "Start streaming command failed\n");
drivers/media/usb/gspca/sq905c.c
50
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sq905c.c
76
static int sq905c_command(struct gspca_dev *gspca_dev, u16 command, u16 index)
drivers/media/usb/gspca/sq905c.c
80
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq905c.c
81
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq905c.c
94
static int sq905c_read(struct gspca_dev *gspca_dev, u16 command, u16 index,
drivers/media/usb/gspca/sq905c.c
99
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
1007
send_start(gspca_dev);
drivers/media/usb/gspca/sq930x.c
1016
return gspca_dev->usb_err;
drivers/media/usb/gspca/sq930x.c
1019
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
1021
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
1025
send_stop(gspca_dev);
drivers/media/usb/gspca/sq930x.c
1030
static void sd_dq_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
1032
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
1035
if (!sd->do_ctrl || gspca_dev->cam.bulk_nurbs != 0)
drivers/media/usb/gspca/sq930x.c
1039
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(sd->exposure),
drivers/media/usb/gspca/sq930x.c
1042
gspca_dev->cam.bulk_nurbs = 1;
drivers/media/usb/gspca/sq930x.c
1043
ret = usb_submit_urb(gspca_dev->urb[0], GFP_KERNEL);
drivers/media/usb/gspca/sq930x.c
1051
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq930x.c
1055
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
1058
gspca_dev->cam.bulk_nurbs = 0;
drivers/media/usb/gspca/sq930x.c
1059
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/sq930x.c
1060
gspca_frame_add(gspca_dev, INTER_PACKET, data, len - 8);
drivers/media/usb/gspca/sq930x.c
1061
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/sq930x.c
1066
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sq930x.c
1067
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sq930x.c
1068
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
1070
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sq930x.c
1072
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sq930x.c
1077
setexposure(gspca_dev, ctrl->val, sd->gain->val);
drivers/media/usb/gspca/sq930x.c
1080
return gspca_dev->usb_err;
drivers/media/usb/gspca/sq930x.c
1087
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
1089
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sq930x.c
1090
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
1092
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/sq930x.c
24
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sq930x.c
412
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq930x.c
417
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
419
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
420
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq930x.c
423
value, 0, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sq930x.c
427
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sq930x.c
432
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/sq930x.c
436
static void reg_w(struct gspca_dev *gspca_dev, u16 value, u16 index)
drivers/media/usb/gspca/sq930x.c
440
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
442
gspca_dbg(gspca_dev, D_USBO, "reg_w v: %04x i: %04x\n", value, index);
drivers/media/usb/gspca/sq930x.c
443
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
444
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq930x.c
452
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sq930x.c
456
static void reg_wb(struct gspca_dev *gspca_dev, u16 value, u16 index,
drivers/media/usb/gspca/sq930x.c
461
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
463
gspca_dbg(gspca_dev, D_USBO, "reg_wb v: %04x i: %04x %02x...%02x\n",
drivers/media/usb/gspca/sq930x.c
465
memcpy(gspca_dev->usb_buf, data, len);
drivers/media/usb/gspca/sq930x.c
466
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
467
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq930x.c
470
value, index, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sq930x.c
475
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sq930x.c
483
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/sq930x.c
489
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
497
buf = gspca_dev->usb_buf;
drivers/media/usb/gspca/sq930x.c
509
gspca_dbg(gspca_dev, D_USBO, "i2c_w v: %04x i: %04x %02x...%02x\n",
drivers/media/usb/gspca/sq930x.c
510
val, idx, gspca_dev->usb_buf[0], buf[-1]);
drivers/media/usb/gspca/sq930x.c
511
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
512
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq930x.c
516
gspca_dev->usb_buf, buf - gspca_dev->usb_buf,
drivers/media/usb/gspca/sq930x.c
520
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sq930x.c
524
static void ucbus_write(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq930x.c
533
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
537
gspca_err(gspca_dev, "Bug: usb_buf overflow\n");
drivers/media/usb/gspca/sq930x.c
538
gspca_dev->usb_err = -ENOMEM;
drivers/media/usb/gspca/sq930x.c
551
buf = gspca_dev->usb_buf;
drivers/media/usb/gspca/sq930x.c
558
if (buf != gspca_dev->usb_buf)
drivers/media/usb/gspca/sq930x.c
559
gspca_dbg(gspca_dev, D_USBO, "ucbus v: %04x i: %04x %02x...%02x\n",
drivers/media/usb/gspca/sq930x.c
561
gspca_dev->usb_buf[0], buf[-1]);
drivers/media/usb/gspca/sq930x.c
563
gspca_dbg(gspca_dev, D_USBO, "ucbus v: %04x i: %04x\n",
drivers/media/usb/gspca/sq930x.c
565
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sq930x.c
566
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sq930x.c
570
gspca_dev->usb_buf, buf - gspca_dev->usb_buf,
drivers/media/usb/gspca/sq930x.c
574
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sq930x.c
586
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/sq930x.c
591
reg_w(gspca_dev, 0x0100 | SQ930_CTRL_GPIO,
drivers/media/usb/gspca/sq930x.c
599
reg_w(gspca_dev, 0x0300 | SQ930_CTRL_GPIO,
drivers/media/usb/gspca/sq930x.c
620
ucbus_write(&sd->gspca_dev, &clkfreq_cmd, 1, 1);
drivers/media/usb/gspca/sq930x.c
625
static void cmos_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
627
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
640
ucbus_write(&sd->gspca_dev, sensor->cmd, sensor->cmd_len, 8);
drivers/media/usb/gspca/sq930x.c
643
reg_r(gspca_dev, (sensor->i2c_addr << 8) | 0x001c, 1);
drivers/media/usb/gspca/sq930x.c
645
if (gspca_dev->usb_buf[0] != 0)
drivers/media/usb/gspca/sq930x.c
650
gspca_dev->usb_err = -EINVAL;
drivers/media/usb/gspca/sq930x.c
659
gspca_dev->usb_err = -EINVAL;
drivers/media/usb/gspca/sq930x.c
664
static void mt9v111_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
678
reg_wb(gspca_dev, 0x001b, 0x0000, cmd_001b, sizeof cmd_001b);
drivers/media/usb/gspca/sq930x.c
680
reg_wb(gspca_dev, 0x001b, 0x0000, cmd_011b[i],
drivers/media/usb/gspca/sq930x.c
685
reg_r(gspca_dev, 0x031b, 1);
drivers/media/usb/gspca/sq930x.c
686
if (gspca_dev->usb_buf[0] == 0
drivers/media/usb/gspca/sq930x.c
687
|| gspca_dev->usb_err != 0)
drivers/media/usb/gspca/sq930x.c
690
gspca_dbg(gspca_dev, D_PROBE, "mt9v111_init timeout\n");
drivers/media/usb/gspca/sq930x.c
691
gspca_dev->usb_err = -ETIME;
drivers/media/usb/gspca/sq930x.c
704
ucbus_write(&sd->gspca_dev,
drivers/media/usb/gspca/sq930x.c
716
ucbus_write(&sd->gspca_dev,
drivers/media/usb/gspca/sq930x.c
723
ucbus_write(&sd->gspca_dev,
drivers/media/usb/gspca/sq930x.c
733
mt9v111_init(&sd->gspca_dev);
drivers/media/usb/gspca/sq930x.c
747
ucbus_write(&sd->gspca_dev, cmds, ARRAY_SIZE(cmds), 2);
drivers/media/usb/gspca/sq930x.c
750
static void setexposure(struct gspca_dev *gspca_dev, s32 expo, s32 gain)
drivers/media/usb/gspca/sq930x.c
752
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
801
reg_wb(gspca_dev, cmd, 0, buf, i);
drivers/media/usb/gspca/sq930x.c
805
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sq930x.c
808
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
809
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/sq930x.c
823
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
825
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
834
reg_r(gspca_dev, SQ930_CTRL_GET_DEV_INFO, 8);
drivers/media/usb/gspca/sq930x.c
835
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sq930x.c
836
return gspca_dev->usb_err;
drivers/media/usb/gspca/sq930x.c
856
gspca_dbg(gspca_dev, D_PROBE, "info: %*ph\n", 8, gspca_dev->usb_buf);
drivers/media/usb/gspca/sq930x.c
863
if (gspca_dev->usb_buf[5] == 0xf6) /* if ccd */
drivers/media/usb/gspca/sq930x.c
866
cmos_probe(gspca_dev);
drivers/media/usb/gspca/sq930x.c
868
if (gspca_dev->usb_err >= 0) {
drivers/media/usb/gspca/sq930x.c
869
gspca_dbg(gspca_dev, D_PROBE, "Sensor %s\n",
drivers/media/usb/gspca/sq930x.c
873
return gspca_dev->usb_err;
drivers/media/usb/gspca/sq930x.c
877
static void send_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
879
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
883
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sq930x.c
885
reg_wb(gspca_dev, 0x0900 | SQ930_CTRL_CAP_START,
drivers/media/usb/gspca/sq930x.c
890
static void send_stop(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
892
reg_w(gspca_dev, SQ930_CTRL_CAP_STOP, 0);
drivers/media/usb/gspca/sq930x.c
896
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
898
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
900
gspca_dev->cam.bulk_nurbs = 1; /* there must be one URB only */
drivers/media/usb/gspca/sq930x.c
902
gspca_dev->cam.bulk_size = gspca_dev->pixfmt.width *
drivers/media/usb/gspca/sq930x.c
903
gspca_dev->pixfmt.height + 8;
drivers/media/usb/gspca/sq930x.c
908
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sq930x.c
910
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sq930x.c
919
ucbus_write(gspca_dev, icx098bq_start_0,
drivers/media/usb/gspca/sq930x.c
922
ucbus_write(gspca_dev, icx098bq_start_1,
drivers/media/usb/gspca/sq930x.c
925
ucbus_write(gspca_dev, icx098bq_start_2,
drivers/media/usb/gspca/sq930x.c
931
send_start(gspca_dev);
drivers/media/usb/gspca/sq930x.c
934
reg_w(gspca_dev, SQ930_CTRL_CAP_STOP, 0x0000);
drivers/media/usb/gspca/sq930x.c
938
send_start(gspca_dev);
drivers/media/usb/gspca/sq930x.c
942
ucbus_write(gspca_dev, lz24bp_start_0,
drivers/media/usb/gspca/sq930x.c
946
ucbus_write(gspca_dev, lz24bp_start_1_gen,
drivers/media/usb/gspca/sq930x.c
950
ucbus_write(gspca_dev, lz24bp_start_1_clm,
drivers/media/usb/gspca/sq930x.c
953
ucbus_write(gspca_dev, lz24bp_start_2,
drivers/media/usb/gspca/sq930x.c
956
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sq930x.c
961
ucbus_write(gspca_dev, mi0360_start_0,
drivers/media/usb/gspca/sq930x.c
970
ucbus_write(gspca_dev, mi0360_start_1,
drivers/media/usb/gspca/sq930x.c
979
send_start(gspca_dev);
drivers/media/usb/gspca/sq930x.c
981
send_stop(gspca_dev);
drivers/media/usb/gspca/sq930x.c
988
ucbus_write(gspca_dev, mi0360_start_0,
drivers/media/usb/gspca/sq930x.c
997
ucbus_write(gspca_dev, mt9v111_start_1,
drivers/media/usb/gspca/stk014.c
100
reg_w(gspca_dev, 0x63a, 0);
drivers/media/usb/gspca/stk014.c
101
reg_w(gspca_dev, 0x63b, 0);
drivers/media/usb/gspca/stk014.c
102
reg_w(gspca_dev, 0x630, 5);
drivers/media/usb/gspca/stk014.c
103
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk014.c
107
gspca_dev->usb_buf,
drivers/media/usb/gspca/stk014.c
113
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk014.c
118
static void snd_val(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
122
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk014.c
127
reg_r(gspca_dev, 0x0704);
drivers/media/usb/gspca/stk014.c
128
seq = reg_r(gspca_dev, 0x0705);
drivers/media/usb/gspca/stk014.c
129
reg_r(gspca_dev, 0x0650);
drivers/media/usb/gspca/stk014.c
130
reg_w(gspca_dev, 0x654, seq);
drivers/media/usb/gspca/stk014.c
132
reg_w(gspca_dev, 0x654, (ads >> 16) & 0xff);
drivers/media/usb/gspca/stk014.c
134
reg_w(gspca_dev, 0x655, (ads >> 8) & 0xff);
drivers/media/usb/gspca/stk014.c
135
reg_w(gspca_dev, 0x656, ads & 0xff);
drivers/media/usb/gspca/stk014.c
136
reg_w(gspca_dev, 0x657, 0);
drivers/media/usb/gspca/stk014.c
137
reg_w(gspca_dev, 0x658, 0x04); /* size */
drivers/media/usb/gspca/stk014.c
138
reg_w(gspca_dev, 0x659, 0);
drivers/media/usb/gspca/stk014.c
139
reg_w(gspca_dev, 0x65a, 0);
drivers/media/usb/gspca/stk014.c
140
reg_w(gspca_dev, 0x65b, 0);
drivers/media/usb/gspca/stk014.c
141
reg_w(gspca_dev, 0x650, 5);
drivers/media/usb/gspca/stk014.c
142
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk014.c
144
gspca_dev->usb_buf[0] = val >> 24;
drivers/media/usb/gspca/stk014.c
145
gspca_dev->usb_buf[1] = val >> 16;
drivers/media/usb/gspca/stk014.c
146
gspca_dev->usb_buf[2] = val >> 8;
drivers/media/usb/gspca/stk014.c
147
gspca_dev->usb_buf[3] = val;
drivers/media/usb/gspca/stk014.c
150
gspca_dev->usb_buf,
drivers/media/usb/gspca/stk014.c
156
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk014.c
161
reg_w(gspca_dev, 0x705, seq);
drivers/media/usb/gspca/stk014.c
167
static void set_par(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
170
snd_val(gspca_dev, 0x003f08, parval);
drivers/media/usb/gspca/stk014.c
173
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk014.c
179
set_par(gspca_dev, parval);
drivers/media/usb/gspca/stk014.c
182
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk014.c
188
set_par(gspca_dev, parval);
drivers/media/usb/gspca/stk014.c
191
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk014.c
197
set_par(gspca_dev, parval);
drivers/media/usb/gspca/stk014.c
200
static void setlightfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk014.c
202
set_par(gspca_dev, val == 1
drivers/media/usb/gspca/stk014.c
208
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
211
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/stk014.c
212
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/stk014.c
217
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk014.c
222
usb_set_interface(gspca_dev->dev, gspca_dev->iface, 1);
drivers/media/usb/gspca/stk014.c
223
ret = reg_r(gspca_dev, 0x0740);
drivers/media/usb/gspca/stk014.c
224
if (gspca_dev->usb_err >= 0) {
drivers/media/usb/gspca/stk014.c
227
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/stk014.c
23
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/stk014.c
230
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk014.c
234
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk014.c
236
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk014.c
240
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/stk014.c
241
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/stk014.c
246
usb_set_interface(gspca_dev->dev, gspca_dev->iface, 1);
drivers/media/usb/gspca/stk014.c
248
set_par(gspca_dev, 0x10000000);
drivers/media/usb/gspca/stk014.c
249
set_par(gspca_dev, 0x00000000);
drivers/media/usb/gspca/stk014.c
250
set_par(gspca_dev, 0x8002e001);
drivers/media/usb/gspca/stk014.c
251
set_par(gspca_dev, 0x14000000);
drivers/media/usb/gspca/stk014.c
252
if (gspca_dev->pixfmt.width > 320)
drivers/media/usb/gspca/stk014.c
256
set_par(gspca_dev, value);
drivers/media/usb/gspca/stk014.c
257
ret = usb_set_interface(gspca_dev->dev,
drivers/media/usb/gspca/stk014.c
258
gspca_dev->iface,
drivers/media/usb/gspca/stk014.c
259
gspca_dev->alt);
drivers/media/usb/gspca/stk014.c
262
gspca_dev->iface, gspca_dev->alt);
drivers/media/usb/gspca/stk014.c
263
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk014.c
266
reg_r(gspca_dev, 0x0630);
drivers/media/usb/gspca/stk014.c
267
rcv_val(gspca_dev, 0x000020); /* << (value ff ff ff ff) */
drivers/media/usb/gspca/stk014.c
268
reg_r(gspca_dev, 0x0650);
drivers/media/usb/gspca/stk014.c
269
snd_val(gspca_dev, 0x000020, 0xffffffff);
drivers/media/usb/gspca/stk014.c
270
reg_w(gspca_dev, 0x0620, 0);
drivers/media/usb/gspca/stk014.c
271
reg_w(gspca_dev, 0x0630, 0);
drivers/media/usb/gspca/stk014.c
272
reg_w(gspca_dev, 0x0640, 0);
drivers/media/usb/gspca/stk014.c
273
reg_w(gspca_dev, 0x0650, 0);
drivers/media/usb/gspca/stk014.c
274
reg_w(gspca_dev, 0x0660, 0);
drivers/media/usb/gspca/stk014.c
275
set_par(gspca_dev, 0x09800000); /* Red ? */
drivers/media/usb/gspca/stk014.c
276
set_par(gspca_dev, 0x0a800000); /* Green ? */
drivers/media/usb/gspca/stk014.c
277
set_par(gspca_dev, 0x0b800000); /* Blue ? */
drivers/media/usb/gspca/stk014.c
278
set_par(gspca_dev, 0x0d030000); /* Gamma ? */
drivers/media/usb/gspca/stk014.c
281
set_par(gspca_dev, 0x01000000);
drivers/media/usb/gspca/stk014.c
282
set_par(gspca_dev, 0x01000000);
drivers/media/usb/gspca/stk014.c
283
if (gspca_dev->usb_err >= 0)
drivers/media/usb/gspca/stk014.c
284
gspca_dbg(gspca_dev, D_STREAM, "camera started alt: 0x%02x\n",
drivers/media/usb/gspca/stk014.c
285
gspca_dev->alt);
drivers/media/usb/gspca/stk014.c
287
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk014.c
290
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk014.c
292
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk014.c
294
set_par(gspca_dev, 0x02000000);
drivers/media/usb/gspca/stk014.c
295
set_par(gspca_dev, 0x02000000);
drivers/media/usb/gspca/stk014.c
296
usb_set_interface(dev, gspca_dev->iface, 1);
drivers/media/usb/gspca/stk014.c
297
reg_r(gspca_dev, 0x0630);
drivers/media/usb/gspca/stk014.c
298
rcv_val(gspca_dev, 0x000020); /* << (value ff ff ff ff) */
drivers/media/usb/gspca/stk014.c
299
reg_r(gspca_dev, 0x0650);
drivers/media/usb/gspca/stk014.c
300
snd_val(gspca_dev, 0x000020, 0xffffffff);
drivers/media/usb/gspca/stk014.c
301
reg_w(gspca_dev, 0x0620, 0);
drivers/media/usb/gspca/stk014.c
302
reg_w(gspca_dev, 0x0630, 0);
drivers/media/usb/gspca/stk014.c
303
reg_w(gspca_dev, 0x0640, 0);
drivers/media/usb/gspca/stk014.c
304
reg_w(gspca_dev, 0x0650, 0);
drivers/media/usb/gspca/stk014.c
305
reg_w(gspca_dev, 0x0660, 0);
drivers/media/usb/gspca/stk014.c
306
gspca_dbg(gspca_dev, D_STREAM, "camera stopped\n");
drivers/media/usb/gspca/stk014.c
309
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
313
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk014.c
326
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/stk014.c
330
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/stk014.c
338
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/stk014.c
343
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stk014.c
344
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stk014.c
346
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/stk014.c
348
if (!gspca_dev->streaming)
drivers/media/usb/gspca/stk014.c
353
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk014.c
356
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk014.c
359
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk014.c
362
setlightfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk014.c
365
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk014.c
372
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk014.c
374
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/stk014.c
376
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/stk014.c
41
static u8 reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
44
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk014.c
47
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk014.c
54
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/stk014.c
58
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk014.c
61
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/stk014.c
65
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
68
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk014.c
71
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk014.c
83
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk014.c
88
static void rcv_val(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk014.c
91
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk014.c
94
reg_w(gspca_dev, 0x634, (ads >> 16) & 0xff);
drivers/media/usb/gspca/stk014.c
95
reg_w(gspca_dev, 0x635, (ads >> 8) & 0xff);
drivers/media/usb/gspca/stk014.c
96
reg_w(gspca_dev, 0x636, ads & 0xff);
drivers/media/usb/gspca/stk014.c
97
reg_w(gspca_dev, 0x637, 0);
drivers/media/usb/gspca/stk014.c
98
reg_w(gspca_dev, 0x638, 4); /* len & 0xff */
drivers/media/usb/gspca/stk014.c
99
reg_w(gspca_dev, 0x639, 0); /* len >> 8 */
drivers/media/usb/gspca/stk1135.c
102
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk1135.c
105
gspca_dev->cam.cam_mode = stk1135_modes;
drivers/media/usb/gspca/stk1135.c
106
gspca_dev->cam.nmodes = ARRAY_SIZE(stk1135_modes);
drivers/media/usb/gspca/stk1135.c
110
static int stk1135_serial_wait_ready(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
116
val = reg_r(gspca_dev, STK1135_REG_SICTL + 1);
drivers/media/usb/gspca/stk1135.c
127
static u8 sensor_read_8(struct gspca_dev *gspca_dev, u8 addr)
drivers/media/usb/gspca/stk1135.c
129
reg_w(gspca_dev, STK1135_REG_SBUSR, addr);
drivers/media/usb/gspca/stk1135.c
131
reg_w(gspca_dev, STK1135_REG_SICTL, 0x20);
drivers/media/usb/gspca/stk1135.c
133
if (stk1135_serial_wait_ready(gspca_dev)) {
drivers/media/usb/gspca/stk1135.c
138
return reg_r(gspca_dev, STK1135_REG_SBUSR + 1);
drivers/media/usb/gspca/stk1135.c
141
static u16 sensor_read_16(struct gspca_dev *gspca_dev, u8 addr)
drivers/media/usb/gspca/stk1135.c
143
return (sensor_read_8(gspca_dev, addr) << 8) |
drivers/media/usb/gspca/stk1135.c
144
sensor_read_8(gspca_dev, 0xf1);
drivers/media/usb/gspca/stk1135.c
147
static void sensor_write_8(struct gspca_dev *gspca_dev, u8 addr, u8 data)
drivers/media/usb/gspca/stk1135.c
150
reg_w(gspca_dev, STK1135_REG_SBUSW, addr);
drivers/media/usb/gspca/stk1135.c
151
reg_w(gspca_dev, STK1135_REG_SBUSW + 1, data);
drivers/media/usb/gspca/stk1135.c
153
reg_w(gspca_dev, STK1135_REG_SICTL, 0x01);
drivers/media/usb/gspca/stk1135.c
155
if (stk1135_serial_wait_ready(gspca_dev)) {
drivers/media/usb/gspca/stk1135.c
161
static void sensor_write_16(struct gspca_dev *gspca_dev, u8 addr, u16 data)
drivers/media/usb/gspca/stk1135.c
163
sensor_write_8(gspca_dev, addr, data >> 8);
drivers/media/usb/gspca/stk1135.c
164
sensor_write_8(gspca_dev, 0xf1, data & 0xff);
drivers/media/usb/gspca/stk1135.c
167
static void sensor_set_page(struct gspca_dev *gspca_dev, u8 page)
drivers/media/usb/gspca/stk1135.c
169
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
172
sensor_write_16(gspca_dev, 0xf0, page);
drivers/media/usb/gspca/stk1135.c
177
static u16 sensor_read(struct gspca_dev *gspca_dev, u16 reg)
drivers/media/usb/gspca/stk1135.c
179
sensor_set_page(gspca_dev, reg >> 8);
drivers/media/usb/gspca/stk1135.c
180
return sensor_read_16(gspca_dev, reg & 0xff);
drivers/media/usb/gspca/stk1135.c
183
static void sensor_write(struct gspca_dev *gspca_dev, u16 reg, u16 val)
drivers/media/usb/gspca/stk1135.c
185
sensor_set_page(gspca_dev, reg >> 8);
drivers/media/usb/gspca/stk1135.c
186
sensor_write_16(gspca_dev, reg & 0xff, val);
drivers/media/usb/gspca/stk1135.c
189
static void sensor_write_mask(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk1135.c
192
val = (sensor_read(gspca_dev, reg) & ~mask) | (val & mask);
drivers/media/usb/gspca/stk1135.c
193
sensor_write(gspca_dev, reg, val);
drivers/media/usb/gspca/stk1135.c
202
static void stk1135_configure_mt9m112(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
25
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/stk1135.c
304
sensor_write(gspca_dev, cfg[i].reg, cfg[i].val);
drivers/media/usb/gspca/stk1135.c
307
width = gspca_dev->pixfmt.width;
drivers/media/usb/gspca/stk1135.c
308
height = gspca_dev->pixfmt.height;
drivers/media/usb/gspca/stk1135.c
310
sensor_write(gspca_dev, 0x1a7, width);
drivers/media/usb/gspca/stk1135.c
311
sensor_write(gspca_dev, 0x1aa, height);
drivers/media/usb/gspca/stk1135.c
313
sensor_write(gspca_dev, 0x0c8, 0x0000);
drivers/media/usb/gspca/stk1135.c
315
sensor_write(gspca_dev, 0x2c8, 0x0000);
drivers/media/usb/gspca/stk1135.c
317
sensor_write(gspca_dev, 0x1a1, width);
drivers/media/usb/gspca/stk1135.c
318
sensor_write(gspca_dev, 0x1a4, height);
drivers/media/usb/gspca/stk1135.c
320
sensor_write(gspca_dev, 0x0c8, 0x0008);
drivers/media/usb/gspca/stk1135.c
322
sensor_write(gspca_dev, 0x2c8, 0x040b);
drivers/media/usb/gspca/stk1135.c
326
static void stk1135_configure_clock(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
329
reg_w(gspca_dev, STK1135_REG_TMGEN, 0x12);
drivers/media/usb/gspca/stk1135.c
332
reg_w(gspca_dev, STK1135_REG_TCP1 + 0, 0x41);
drivers/media/usb/gspca/stk1135.c
333
reg_w(gspca_dev, STK1135_REG_TCP1 + 1, 0x00);
drivers/media/usb/gspca/stk1135.c
334
reg_w(gspca_dev, STK1135_REG_TCP1 + 2, 0x00);
drivers/media/usb/gspca/stk1135.c
335
reg_w(gspca_dev, STK1135_REG_TCP1 + 3, 0x00);
drivers/media/usb/gspca/stk1135.c
338
reg_w(gspca_dev, STK1135_REG_SENSO + 0, 0x10);
drivers/media/usb/gspca/stk1135.c
340
reg_w(gspca_dev, STK1135_REG_SENSO + 1, 0x00);
drivers/media/usb/gspca/stk1135.c
342
reg_w(gspca_dev, STK1135_REG_SENSO + 3, 0x07);
drivers/media/usb/gspca/stk1135.c
344
reg_w(gspca_dev, STK1135_REG_PLLFD, 0x06);
drivers/media/usb/gspca/stk1135.c
346
reg_w(gspca_dev, STK1135_REG_TMGEN, 0x80);
drivers/media/usb/gspca/stk1135.c
348
reg_w(gspca_dev, STK1135_REG_SENSO + 2, 0x04);
drivers/media/usb/gspca/stk1135.c
351
reg_w(gspca_dev, STK1135_REG_SICTL + 2, 0x1f);
drivers/media/usb/gspca/stk1135.c
357
static void stk1135_camera_disable(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
360
reg_w(gspca_dev, STK1135_REG_CIEPO + 2, 0x00);
drivers/media/usb/gspca/stk1135.c
361
reg_w(gspca_dev, STK1135_REG_CIEPO + 3, 0x00);
drivers/media/usb/gspca/stk1135.c
363
reg_w_mask(gspca_dev, STK1135_REG_SCTRL, 0x00, 0x80);
drivers/media/usb/gspca/stk1135.c
366
sensor_write_mask(gspca_dev, 0x00d, 0x0004, 0x000c);
drivers/media/usb/gspca/stk1135.c
369
reg_w_mask(gspca_dev, STK1135_REG_SENSO + 2, 0x00, 0x01);
drivers/media/usb/gspca/stk1135.c
371
reg_w(gspca_dev, STK1135_REG_TMGEN, 0x00);
drivers/media/usb/gspca/stk1135.c
373
reg_w(gspca_dev, STK1135_REG_SENSO + 1, 0x20);
drivers/media/usb/gspca/stk1135.c
375
reg_w(gspca_dev, STK1135_REG_SENSO, 0x00);
drivers/media/usb/gspca/stk1135.c
378
reg_w(gspca_dev, STK1135_REG_GCTRL, 0x49);
drivers/media/usb/gspca/stk1135.c
382
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
386
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
389
reg_w(gspca_dev, STK1135_REG_GCTRL + 2, 0x78);
drivers/media/usb/gspca/stk1135.c
391
reg_w(gspca_dev, STK1135_REG_GCTRL, (1 << 5));
drivers/media/usb/gspca/stk1135.c
393
reg_w(gspca_dev, STK1135_REG_GCTRL + 3, 0x80);
drivers/media/usb/gspca/stk1135.c
395
reg_w(gspca_dev, STK1135_REG_ICTRL + 1, 0x00);
drivers/media/usb/gspca/stk1135.c
396
reg_w(gspca_dev, STK1135_REG_ICTRL + 3, 0x03);
drivers/media/usb/gspca/stk1135.c
398
reg_w(gspca_dev, STK1135_REG_RMCTL + 1, 0x00);
drivers/media/usb/gspca/stk1135.c
399
reg_w(gspca_dev, STK1135_REG_RMCTL + 3, 0x02);
drivers/media/usb/gspca/stk1135.c
402
reg_w(gspca_dev, STK1135_REG_SICTL, 0x80);
drivers/media/usb/gspca/stk1135.c
403
reg_w(gspca_dev, STK1135_REG_SICTL, 0x00);
drivers/media/usb/gspca/stk1135.c
405
reg_w(gspca_dev, STK1135_REG_SICTL + 3, 0xba);
drivers/media/usb/gspca/stk1135.c
407
reg_w(gspca_dev, STK1135_REG_ASIC + 3, 0x00);
drivers/media/usb/gspca/stk1135.c
409
stk1135_configure_clock(gspca_dev);
drivers/media/usb/gspca/stk1135.c
413
sensor_id = sensor_read(gspca_dev, 0x000);
drivers/media/usb/gspca/stk1135.c
424
stk1135_camera_disable(gspca_dev);
drivers/media/usb/gspca/stk1135.c
426
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk1135.c
430
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
432
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
436
reg_w(gspca_dev, STK1135_REG_GCTRL, (1 << 5));
drivers/media/usb/gspca/stk1135.c
438
stk1135_configure_clock(gspca_dev);
drivers/media/usb/gspca/stk1135.c
441
reg_w(gspca_dev, STK1135_REG_CISPO + 0, 0x00);
drivers/media/usb/gspca/stk1135.c
442
reg_w(gspca_dev, STK1135_REG_CISPO + 1, 0x00);
drivers/media/usb/gspca/stk1135.c
443
reg_w(gspca_dev, STK1135_REG_CISPO + 2, 0x00);
drivers/media/usb/gspca/stk1135.c
444
reg_w(gspca_dev, STK1135_REG_CISPO + 3, 0x00);
drivers/media/usb/gspca/stk1135.c
447
width = gspca_dev->pixfmt.width;
drivers/media/usb/gspca/stk1135.c
448
height = gspca_dev->pixfmt.height;
drivers/media/usb/gspca/stk1135.c
449
reg_w(gspca_dev, STK1135_REG_CIEPO + 0, width & 0xff);
drivers/media/usb/gspca/stk1135.c
450
reg_w(gspca_dev, STK1135_REG_CIEPO + 1, width >> 8);
drivers/media/usb/gspca/stk1135.c
451
reg_w(gspca_dev, STK1135_REG_CIEPO + 2, height & 0xff);
drivers/media/usb/gspca/stk1135.c
452
reg_w(gspca_dev, STK1135_REG_CIEPO + 3, height >> 8);
drivers/media/usb/gspca/stk1135.c
455
reg_w(gspca_dev, STK1135_REG_SCTRL, 0x20);
drivers/media/usb/gspca/stk1135.c
457
stk1135_configure_mt9m112(gspca_dev);
drivers/media/usb/gspca/stk1135.c
46
static u8 reg_r(struct gspca_dev *gspca_dev, u16 index)
drivers/media/usb/gspca/stk1135.c
460
reg_w_mask(gspca_dev, STK1135_REG_SCTRL, 0x80, 0x80);
drivers/media/usb/gspca/stk1135.c
462
if (gspca_dev->usb_err >= 0)
drivers/media/usb/gspca/stk1135.c
463
gspca_dbg(gspca_dev, D_STREAM, "camera started alt: 0x%02x\n",
drivers/media/usb/gspca/stk1135.c
464
gspca_dev->alt);
drivers/media/usb/gspca/stk1135.c
468
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk1135.c
471
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
473
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk1135.c
475
usb_set_interface(dev, gspca_dev->iface, 0);
drivers/media/usb/gspca/stk1135.c
477
stk1135_camera_disable(gspca_dev);
drivers/media/usb/gspca/stk1135.c
479
gspca_dbg(gspca_dev, D_STREAM, "camera stopped\n");
drivers/media/usb/gspca/stk1135.c
48
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk1135.c
482
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk1135.c
486
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
494
gspca_dbg(gspca_dev, D_PACK, "received short packet (less than 4 bytes)\n");
drivers/media/usb/gspca/stk1135.c
51
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk1135.c
510
gspca_dbg(gspca_dev, D_PACK, "received out-of-sequence packet\n");
drivers/media/usb/gspca/stk1135.c
513
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/stk1135.c
526
gspca_frame_add(gspca_dev, LAST_PACKET, data, 0);
drivers/media/usb/gspca/stk1135.c
529
gspca_frame_add(gspca_dev, pkt_type, data + skip, len - skip);
drivers/media/usb/gspca/stk1135.c
532
static void sethflip(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk1135.c
534
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
538
sensor_write_mask(gspca_dev, 0x020, val ? 0x0002 : 0x0000 , 0x0002);
drivers/media/usb/gspca/stk1135.c
541
static void setvflip(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/stk1135.c
543
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
547
sensor_write_mask(gspca_dev, 0x020, val ? 0x0001 : 0x0000 , 0x0001);
drivers/media/usb/gspca/stk1135.c
550
static void stk1135_dq_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
552
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
556
sethflip(gspca_dev, v4l2_ctrl_g_ctrl(sd->hflip));
drivers/media/usb/gspca/stk1135.c
557
setvflip(gspca_dev, v4l2_ctrl_g_ctrl(sd->vflip));
drivers/media/usb/gspca/stk1135.c
563
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stk1135.c
564
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stk1135.c
566
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/stk1135.c
568
if (!gspca_dev->streaming)
drivers/media/usb/gspca/stk1135.c
573
sethflip(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk1135.c
576
setvflip(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stk1135.c
58
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/stk1135.c
580
return gspca_dev->usb_err;
drivers/media/usb/gspca/stk1135.c
587
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stk1135.c
589
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stk1135.c
590
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/stk1135.c
592
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/stk1135.c
606
static void stk1135_try_fmt(struct gspca_dev *gspca_dev, struct v4l2_format *fmt)
drivers/media/usb/gspca/stk1135.c
61
gspca_dbg(gspca_dev, D_USBI, "reg_r 0x%x=0x%02x\n",
drivers/media/usb/gspca/stk1135.c
618
static int stk1135_enum_framesizes(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stk1135.c
62
index, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/stk1135.c
65
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk1135.c
69
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/stk1135.c
73
static void reg_w(struct gspca_dev *gspca_dev, u16 index, u8 val)
drivers/media/usb/gspca/stk1135.c
76
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/stk1135.c
78
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/stk1135.c
88
gspca_dbg(gspca_dev, D_USBO, "reg_w 0x%x:=0x%02x\n", index, val);
drivers/media/usb/gspca/stk1135.c
91
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/stk1135.c
95
static void reg_w_mask(struct gspca_dev *gspca_dev, u16 index, u8 val, u8 mask)
drivers/media/usb/gspca/stk1135.c
97
val = (reg_r(gspca_dev, index) & ~mask) | (val & mask);
drivers/media/usb/gspca/stk1135.c
98
reg_w(gspca_dev, index, val);
drivers/media/usb/gspca/stv0680.c
101
memset(gspca_dev->usb_buf, 0, 8);
drivers/media/usb/gspca/stv0680.c
102
gspca_dev->usb_buf[0] = mode;
drivers/media/usb/gspca/stv0680.c
104
if (stv_sndctrl(gspca_dev, 3, 0x07, 0x0100, 0x08) != 0x08) {
drivers/media/usb/gspca/stv0680.c
105
gspca_err(gspca_dev, "Set_Camera_Mode failed\n");
drivers/media/usb/gspca/stv0680.c
106
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
110
if (stv0680_get_video_mode(gspca_dev) != mode) {
drivers/media/usb/gspca/stv0680.c
111
gspca_err(gspca_dev, "Error setting camera video mode!\n");
drivers/media/usb/gspca/stv0680.c
121
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv0680.c
125
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv0680.c
126
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/stv0680.c
133
if (stv_sndctrl(gspca_dev, 0, 0x88, 0x5678, 0x02) != 0x02 ||
drivers/media/usb/gspca/stv0680.c
134
gspca_dev->usb_buf[0] != 0x56 || gspca_dev->usb_buf[1] != 0x78) {
drivers/media/usb/gspca/stv0680.c
135
gspca_err(gspca_dev, "STV(e): camera ping failed!!\n");
drivers/media/usb/gspca/stv0680.c
136
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
140
if (stv_sndctrl(gspca_dev, 2, 0x06, 0x0200, 0x09) != 0x09)
drivers/media/usb/gspca/stv0680.c
141
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
143
if (stv_sndctrl(gspca_dev, 2, 0x06, 0x0200, 0x22) != 0x22 ||
drivers/media/usb/gspca/stv0680.c
144
gspca_dev->usb_buf[7] != 0xa0 || gspca_dev->usb_buf[8] != 0x23) {
drivers/media/usb/gspca/stv0680.c
145
gspca_err(gspca_dev, "Could not get descriptor 0200\n");
drivers/media/usb/gspca/stv0680.c
146
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
148
if (stv_sndctrl(gspca_dev, 0, 0x8a, 0, 0x02) != 0x02)
drivers/media/usb/gspca/stv0680.c
149
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
150
if (stv_sndctrl(gspca_dev, 0, 0x8b, 0, 0x24) != 0x24)
drivers/media/usb/gspca/stv0680.c
151
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
152
if (stv_sndctrl(gspca_dev, 0, 0x85, 0, 0x10) != 0x10)
drivers/media/usb/gspca/stv0680.c
153
return stv0680_handle_error(gspca_dev, -ENODEV);
drivers/media/usb/gspca/stv0680.c
155
if (!(gspca_dev->usb_buf[7] & 0x09)) {
drivers/media/usb/gspca/stv0680.c
156
gspca_err(gspca_dev, "Camera supports neither CIF nor QVGA mode\n");
drivers/media/usb/gspca/stv0680.c
159
if (gspca_dev->usb_buf[7] & 0x01)
drivers/media/usb/gspca/stv0680.c
160
gspca_dbg(gspca_dev, D_PROBE, "Camera supports CIF mode\n");
drivers/media/usb/gspca/stv0680.c
161
if (gspca_dev->usb_buf[7] & 0x02)
drivers/media/usb/gspca/stv0680.c
162
gspca_dbg(gspca_dev, D_PROBE, "Camera supports VGA mode\n");
drivers/media/usb/gspca/stv0680.c
163
if (gspca_dev->usb_buf[7] & 0x04)
drivers/media/usb/gspca/stv0680.c
164
gspca_dbg(gspca_dev, D_PROBE, "Camera supports QCIF mode\n");
drivers/media/usb/gspca/stv0680.c
165
if (gspca_dev->usb_buf[7] & 0x08)
drivers/media/usb/gspca/stv0680.c
166
gspca_dbg(gspca_dev, D_PROBE, "Camera supports QVGA mode\n");
drivers/media/usb/gspca/stv0680.c
168
if (gspca_dev->usb_buf[7] & 0x01)
drivers/media/usb/gspca/stv0680.c
174
gspca_dbg(gspca_dev, D_PROBE, "Firmware rev is %i.%i\n",
drivers/media/usb/gspca/stv0680.c
175
gspca_dev->usb_buf[0], gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/stv0680.c
176
gspca_dbg(gspca_dev, D_PROBE, "ASIC rev is %i.%i",
drivers/media/usb/gspca/stv0680.c
177
gspca_dev->usb_buf[2], gspca_dev->usb_buf[3]);
drivers/media/usb/gspca/stv0680.c
178
gspca_dbg(gspca_dev, D_PROBE, "Sensor ID is %i",
drivers/media/usb/gspca/stv0680.c
179
(gspca_dev->usb_buf[4]*16) + (gspca_dev->usb_buf[5]>>4));
drivers/media/usb/gspca/stv0680.c
182
ret = stv0680_get_video_mode(gspca_dev);
drivers/media/usb/gspca/stv0680.c
187
ret = stv0680_set_video_mode(gspca_dev, sd->video_mode);
drivers/media/usb/gspca/stv0680.c
192
if (stv_sndctrl(gspca_dev, 0, 0x8f, 0, 0x10) != 0x10)
drivers/media/usb/gspca/stv0680.c
193
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
197
cam->bulk_size = (gspca_dev->usb_buf[0] << 24) |
drivers/media/usb/gspca/stv0680.c
198
(gspca_dev->usb_buf[1] << 16) |
drivers/media/usb/gspca/stv0680.c
199
(gspca_dev->usb_buf[2] << 8) |
drivers/media/usb/gspca/stv0680.c
200
(gspca_dev->usb_buf[3]);
drivers/media/usb/gspca/stv0680.c
201
sd->mode.width = (gspca_dev->usb_buf[4] << 8) |
drivers/media/usb/gspca/stv0680.c
202
(gspca_dev->usb_buf[5]); /* 322, 356, 644 */
drivers/media/usb/gspca/stv0680.c
203
sd->mode.height = (gspca_dev->usb_buf[6] << 8) |
drivers/media/usb/gspca/stv0680.c
204
(gspca_dev->usb_buf[7]); /* 242, 292, 484 */
drivers/media/usb/gspca/stv0680.c
217
ret = stv0680_set_video_mode(gspca_dev, sd->orig_mode);
drivers/media/usb/gspca/stv0680.c
221
if (stv_sndctrl(gspca_dev, 2, 0x06, 0x0100, 0x12) != 0x12 ||
drivers/media/usb/gspca/stv0680.c
222
gspca_dev->usb_buf[8] != 0x53 || gspca_dev->usb_buf[9] != 0x05) {
drivers/media/usb/gspca/stv0680.c
224
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
231
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv0680.c
237
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv0680.c
240
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv0680.c
242
ret = stv0680_set_video_mode(gspca_dev, sd->video_mode);
drivers/media/usb/gspca/stv0680.c
246
if (stv_sndctrl(gspca_dev, 0, 0x85, 0, 0x10) != 0x10)
drivers/media/usb/gspca/stv0680.c
247
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
253
if (stv_sndctrl(gspca_dev, 1, 0x09, sd->video_mode << 8, 0x0) != 0x0)
drivers/media/usb/gspca/stv0680.c
254
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
259
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv0680.c
262
if (stv_sndctrl(gspca_dev, 1, 0x04, 0x0000, 0x0) != 0x0)
drivers/media/usb/gspca/stv0680.c
263
stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
266
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv0680.c
268
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv0680.c
270
if (!sd->gspca_dev.present)
drivers/media/usb/gspca/stv0680.c
273
stv0680_set_video_mode(gspca_dev, sd->orig_mode);
drivers/media/usb/gspca/stv0680.c
276
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv0680.c
28
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/stv0680.c
280
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv0680.c
287
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/stv0680.c
294
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/stv0680.c
297
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/stv0680.c
35
static int stv_sndctrl(struct gspca_dev *gspca_dev, int set, u8 req, u16 val,
drivers/media/usb/gspca/stv0680.c
45
pipe = usb_rcvctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/stv0680.c
49
pipe = usb_sndctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/stv0680.c
53
pipe = usb_rcvctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/stv0680.c
57
pipe = usb_sndctrlpipe(gspca_dev->dev, 0);
drivers/media/usb/gspca/stv0680.c
61
ret = usb_control_msg(gspca_dev->dev, pipe,
drivers/media/usb/gspca/stv0680.c
63
val, 0, gspca_dev->usb_buf, size, 500);
drivers/media/usb/gspca/stv0680.c
72
static int stv0680_handle_error(struct gspca_dev *gspca_dev, int ret)
drivers/media/usb/gspca/stv0680.c
74
stv_sndctrl(gspca_dev, 0, 0x80, 0, 0x02); /* Get Last Error */
drivers/media/usb/gspca/stv0680.c
75
gspca_err(gspca_dev, "last error: %i, command = 0x%x\n",
drivers/media/usb/gspca/stv0680.c
76
gspca_dev->usb_buf[0], gspca_dev->usb_buf[1]);
drivers/media/usb/gspca/stv0680.c
80
static int stv0680_get_video_mode(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv0680.c
83
memset(gspca_dev->usb_buf, 0, 8);
drivers/media/usb/gspca/stv0680.c
84
gspca_dev->usb_buf[0] = 0x0f;
drivers/media/usb/gspca/stv0680.c
86
if (stv_sndctrl(gspca_dev, 0, 0x87, 0, 0x08) != 0x08) {
drivers/media/usb/gspca/stv0680.c
87
gspca_err(gspca_dev, "Get_Camera_Mode failed\n");
drivers/media/usb/gspca/stv0680.c
88
return stv0680_handle_error(gspca_dev, -EIO);
drivers/media/usb/gspca/stv0680.c
91
return gspca_dev->usb_buf[0]; /* 01 = VGA, 03 = QVGA, 00 = CIF */
drivers/media/usb/gspca/stv0680.c
94
static int stv0680_set_video_mode(struct gspca_dev *gspca_dev, u8 mode)
drivers/media/usb/gspca/stv0680.c
96
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
103
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx.c
104
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
105
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.c
107
gspca_dbg(gspca_dev, D_CONF, "I2C: Command buffer contains %d entries\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
115
gspca_dbg(gspca_dev, D_CONF, "I2C: Writing 0x%02x to reg 0x%02x\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
134
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx.c
135
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
136
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.c
138
gspca_dbg(gspca_dev, D_CONF, "I2C: Command buffer contains %d entries\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
148
gspca_dbg(gspca_dev, D_CONF, "I2C: Writing 0x%04x to reg 0x%02x\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
167
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx.c
168
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
169
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.c
201
gspca_dbg(gspca_dev, D_CONF, "I2C: Read 0x%x from address 0x%x, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
240
static int stv06xx_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
242
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
245
gspca_dbg(gspca_dev, D_PROBE, "Initializing camera\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
260
static int stv06xx_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
262
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
264
gspca_dbg(gspca_dev, D_PROBE, "Initializing controls\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
266
gspca_dev->vdev.ctrl_handler = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/stv06xx/stv06xx.c
271
static int stv06xx_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
273
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
278
intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface);
drivers/media/usb/gspca/stv06xx/stv06xx.c
279
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
drivers/media/usb/gspca/stv06xx/stv06xx.c
281
gspca_err(gspca_dev, "Couldn't get altsetting\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
303
gspca_dbg(gspca_dev, D_STREAM, "Starting stream failed\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
305
gspca_dbg(gspca_dev, D_STREAM, "Started streaming\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
310
static int stv06xx_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
314
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
316
intfc = gspca_dev->dev->actconfig->intf_cache[0];
drivers/media/usb/gspca/stv06xx/stv06xx.c
32
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx.c
328
cpu_to_le16(sd->sensor->max_packet_size[gspca_dev->curr_mode]);
drivers/media/usb/gspca/stv06xx/stv06xx.c
33
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
333
static int stv06xx_isoc_nego(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
337
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
34
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.c
343
alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
drivers/media/usb/gspca/stv06xx/stv06xx.c
345
min_packet_size = sd->sensor->min_packet_size[gspca_dev->curr_mode];
drivers/media/usb/gspca/stv06xx/stv06xx.c
354
ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 1);
drivers/media/usb/gspca/stv06xx/stv06xx.c
356
gspca_err(gspca_dev, "set alt 1 err %d\n", ret);
drivers/media/usb/gspca/stv06xx/stv06xx.c
361
static void stv06xx_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
364
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
375
gspca_dbg(gspca_dev, D_STREAM, "Failed to stop stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
377
gspca_dbg(gspca_dev, D_STREAM, "Stopped streaming\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
392
static void stv06xx_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv06xx/stv06xx.c
396
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
398
gspca_dbg(gspca_dev, D_PACK, "Packet of length %d arrived\n", len);
drivers/media/usb/gspca/stv06xx/stv06xx.c
406
gspca_dbg(gspca_dev, D_PACK, "Packet is smaller than 4 bytes\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
415
gspca_dbg(gspca_dev, D_PACK, "Chunk id: %x, length: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
422
gspca_err(gspca_dev, "URB packet length is smaller than the specified chunk length\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
423
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/stv06xx/stv06xx.c
435
gspca_dbg(gspca_dev, D_PACK, "Frame data packet detected\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
446
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/stv06xx/stv06xx.c
45
gspca_dbg(gspca_dev, D_CONF, "Written 0x%x to address 0x%x, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
454
gspca_dbg(gspca_dev, D_PACK, "Starting new frame\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
457
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/stv06xx/stv06xx.c
461
sd->to_skip = gspca_dev->pixfmt.width * 4;
drivers/media/usb/gspca/stv06xx/stv06xx.c
464
gspca_err(gspca_dev, "Chunk length is non-zero on a SOF\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
470
gspca_dbg(gspca_dev, D_PACK, "End of frame detected\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
473
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/stv06xx/stv06xx.c
477
gspca_err(gspca_dev, "Chunk length is non-zero on a EOF\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
481
gspca_dbg(gspca_dev, D_PACK, "Chunk 0x005 detected\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
488
gspca_dbg(gspca_dev, D_PACK, "Chunk 0x0100 detected\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
493
gspca_dbg(gspca_dev, D_PACK, "Chunk 0x42ff detected\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
497
gspca_dbg(gspca_dev, D_PACK, "Unknown chunk 0x%04x detected\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
507
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv06xx/stv06xx.c
514
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/stv06xx/stv06xx.c
515
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/stv06xx/stv06xx.c
520
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/stv06xx/stv06xx.c
521
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/stv06xx/stv06xx.c
529
static int stv06xx_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv06xx/stv06xx.c
532
static void stv06xx_probe_error(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/stv06xx/stv06xx.c
534
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
54
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx.c
55
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
558
static int stv06xx_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/stv06xx/stv06xx.c
56
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.c
561
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
563
gspca_dbg(gspca_dev, D_PROBE, "Configuring camera\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
566
gspca_dev->sd_desc = &sd_desc;
drivers/media/usb/gspca/stv06xx/stv06xx.c
619
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
drivers/media/usb/gspca/stv06xx/stv06xx.c
620
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
622
gspca_dbg(gspca_dev, D_PROBE, "Disconnecting the stv06xx device\n");
drivers/media/usb/gspca/stv06xx/stv06xx.c
64
gspca_dbg(gspca_dev, D_CONF, "Reading 0x%x from address 0x%x, status %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx.c
88
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/stv06xx/stv06xx.c
89
__u8 *buf = sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/stv06xx/stv06xx.h
74
struct gspca_dev gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
161
static int hdcs_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
163
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
245
gspca_dbg(gspca_dev, D_CONF, "Writing exposure %d, rowexp %d, srowexp %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
268
static int hdcs_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
270
gspca_dbg(gspca_dev, D_CONF, "Writing gain %d\n", val);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
271
return hdcs_set_gains((struct sd *) gspca_dev,
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
325
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
326
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
331
err = hdcs_set_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
334
err = hdcs_set_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
346
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
368
sd->gspca_dev.cam.cam_mode = hdcs1x00_mode;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
369
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(hdcs1x00_mode);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
425
sd->gspca_dev.cam.cam_mode = hdcs1020_mode;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
426
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(hdcs1020_mode);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
457
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
459
gspca_dbg(gspca_dev, D_STREAM, "Starting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
466
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.c
468
gspca_dbg(gspca_dev, D_STREAM, "Halting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.h
125
static int hdcs_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_hdcs.h
126
static int hdcs_set_gain(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
108
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
169
sd->gspca_dev.cam.cam_mode = pb0100_mode;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
170
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(pb0100_mode);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
180
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
181
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
182
u32 mode = cam->cam_mode[sd->gspca_dev.curr_mode].priv;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
184
intf = usb_ifnum_to_if(sd->gspca_dev.dev, sd->gspca_dev.iface);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
185
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
195
max_packet_size = sd->sensor->max_packet_size[sd->gspca_dev.curr_mode];
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
227
gspca_dbg(gspca_dev, D_STREAM, "Started stream, status: %d\n", err);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
234
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
245
gspca_dbg(gspca_dev, D_STREAM, "Halting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
321
static int pb0100_set_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
324
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
330
gspca_dbg(gspca_dev, D_CONF, "Set green gain to %d, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
334
err = pb0100_set_red_balance(gspca_dev, ctrls->red->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
336
err = pb0100_set_blue_balance(gspca_dev, ctrls->blue->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
341
static int pb0100_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
344
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
354
gspca_dbg(gspca_dev, D_CONF, "Set red gain to %d, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
360
static int pb0100_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
363
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
373
gspca_dbg(gspca_dev, D_CONF, "Set blue gain to %d, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
379
static int pb0100_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
381
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
385
gspca_dbg(gspca_dev, D_CONF, "Set exposure to %d, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
391
static int pb0100_set_autogain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
394
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
406
gspca_dbg(gspca_dev, D_CONF, "Set autogain to %d (natural: %d), status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
412
static int pb0100_set_autogain_target(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
415
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
419
totalpixels = gspca_dev->pixfmt.width * gspca_dev->pixfmt.height;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
428
gspca_dbg(gspca_dev, D_CONF, "Set autogain target to %d, status: %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
77
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
78
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
79
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
85
err = pb0100_set_autogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
90
err = pb0100_set_gain(gspca_dev, ctrls->gain->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
93
err = pb0100_set_exposure(gspca_dev, ctrls->exposure->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
96
err = pb0100_set_autogain_target(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
107
static int pb0100_set_gain(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
108
static int pb0100_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
109
static int pb0100_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
110
static int pb0100_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
111
static int pb0100_set_autogain(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.h
112
static int pb0100_set_autogain_target(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
111
sd->gspca_dev.cam.cam_mode = st6422_mode;
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
112
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(st6422_mode);
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
252
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
254
if (cam->cam_mode[sd->gspca_dev.curr_mode].priv)
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
268
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
270
gspca_dbg(gspca_dev, D_STREAM, "Halting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
56
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
57
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
58
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
79
sd->gspca_dev.usb_err = err;
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c
89
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
118
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
119
struct cam *cam = &sd->gspca_dev.cam;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
120
u32 priv = cam->cam_mode[sd->gspca_dev.curr_mode].priv;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
123
gspca_dbg(gspca_dev, D_CONF, "Enabling subsampling\n");
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
144
gspca_dbg(gspca_dev, D_STREAM, "Starting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
151
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
163
gspca_dbg(gspca_dev, D_STREAM, "Halting stream\n");
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
182
static int vv6410_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
186
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
197
gspca_dbg(gspca_dev, D_CONF, "Set horizontal flip to %d\n", val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
203
static int vv6410_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
207
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
218
gspca_dbg(gspca_dev, D_CONF, "Set vertical flip to %d\n", val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
224
static int vv6410_set_analog_gain(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
227
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
229
gspca_dbg(gspca_dev, D_CONF, "Set analog gain to %d\n", val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
235
static int vv6410_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
238
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
246
gspca_dbg(gspca_dev, D_CONF, "Set coarse exposure to %d, fine exposure to %d\n",
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
36
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
37
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
42
if (!gspca_dev->streaming)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
44
err = vv6410_set_hflip(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
47
if (!gspca_dev->streaming)
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
49
err = vv6410_set_vflip(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
52
err = vv6410_set_analog_gain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
55
err = vv6410_set_exposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
79
sd->gspca_dev.cam.cam_mode = vv6410_mode;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
80
sd->gspca_dev.cam.nmodes = ARRAY_SIZE(vv6410_mode);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.c
86
struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler;
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.h
173
static int vv6410_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.h
174
static int vv6410_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.h
175
static int vv6410_set_analog_gain(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/stv06xx/stv06xx_vv6410.h
176
static int vv6410_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
drivers/media/usb/gspca/sunplus.c
234
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
24
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/sunplus.c
242
gspca_err(gspca_dev, "reg_r: buffer overflow\n");
drivers/media/usb/gspca/sunplus.c
246
gspca_err(gspca_dev, "reg_r: zero-length read\n");
drivers/media/usb/gspca/sunplus.c
249
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sunplus.c
251
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sunplus.c
252
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sunplus.c
257
gspca_dev->usb_buf, len,
drivers/media/usb/gspca/sunplus.c
261
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sunplus.c
266
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/sunplus.c
271
static void reg_w_1(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
279
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sunplus.c
281
gspca_dev->usb_buf[0] = byte;
drivers/media/usb/gspca/sunplus.c
282
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/sunplus.c
283
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/sunplus.c
287
gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/sunplus.c
291
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sunplus.c
296
static void reg_w_riv(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
299
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/sunplus.c
302
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sunplus.c
311
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/sunplus.c
314
gspca_dbg(gspca_dev, D_USBO, "reg_w_riv: 0x%02x,0x%04x:0x%04x\n",
drivers/media/usb/gspca/sunplus.c
318
static void write_vector(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
322
reg_w_riv(gspca_dev, data->req, data->idx, data->val);
drivers/media/usb/gspca/sunplus.c
327
static void setup_qtable(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
334
reg_w_riv(gspca_dev, 0x00, 0x2800 + i, qtable[0][i]);
drivers/media/usb/gspca/sunplus.c
338
reg_w_riv(gspca_dev, 0x00, 0x2840 + i, qtable[1][i]);
drivers/media/usb/gspca/sunplus.c
341
static void spca504_acknowledged_command(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
344
reg_w_riv(gspca_dev, req, idx, val);
drivers/media/usb/gspca/sunplus.c
345
reg_r(gspca_dev, 0x01, 0x0001, 1);
drivers/media/usb/gspca/sunplus.c
346
gspca_dbg(gspca_dev, D_FRAM, "before wait 0x%04x\n",
drivers/media/usb/gspca/sunplus.c
347
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/sunplus.c
348
reg_w_riv(gspca_dev, req, idx, val);
drivers/media/usb/gspca/sunplus.c
351
reg_r(gspca_dev, 0x01, 0x0001, 1);
drivers/media/usb/gspca/sunplus.c
352
gspca_dbg(gspca_dev, D_FRAM, "after wait 0x%04x\n",
drivers/media/usb/gspca/sunplus.c
353
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/sunplus.c
356
static void spca504_read_info(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
365
reg_r(gspca_dev, 0, i, 1);
drivers/media/usb/gspca/sunplus.c
366
info[i] = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/sunplus.c
368
gspca_dbg(gspca_dev, D_STREAM,
drivers/media/usb/gspca/sunplus.c
374
static void spca504A_acknowledged_command(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
380
reg_w_riv(gspca_dev, req, idx, val);
drivers/media/usb/gspca/sunplus.c
381
reg_r(gspca_dev, 0x01, 0x0001, 1);
drivers/media/usb/gspca/sunplus.c
382
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/sunplus.c
384
gspca_dbg(gspca_dev, D_FRAM, "Status 0x%02x Need 0x%02x\n",
drivers/media/usb/gspca/sunplus.c
385
gspca_dev->usb_buf[0], endcode);
drivers/media/usb/gspca/sunplus.c
393
reg_r(gspca_dev, 0x01, 0x0001, 1);
drivers/media/usb/gspca/sunplus.c
394
status = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/sunplus.c
396
gspca_dbg(gspca_dev, D_FRAM, "status 0x%04x after wait %d\n",
drivers/media/usb/gspca/sunplus.c
403
static void spca504B_PollingDataReady(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
408
reg_r(gspca_dev, 0x21, 0, 1);
drivers/media/usb/gspca/sunplus.c
409
if ((gspca_dev->usb_buf[0] & 0x01) == 0)
drivers/media/usb/gspca/sunplus.c
415
static void spca504B_WaitCmdStatus(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
420
reg_r(gspca_dev, 0x21, 1, 1);
drivers/media/usb/gspca/sunplus.c
421
if (gspca_dev->usb_buf[0] != 0) {
drivers/media/usb/gspca/sunplus.c
422
reg_w_1(gspca_dev, 0x21, 0, 1, 0);
drivers/media/usb/gspca/sunplus.c
423
reg_r(gspca_dev, 0x21, 1, 1);
drivers/media/usb/gspca/sunplus.c
424
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
431
static void spca50x_GetFirmware(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
438
data = gspca_dev->usb_buf;
drivers/media/usb/gspca/sunplus.c
439
reg_r(gspca_dev, 0x20, 0, 5);
drivers/media/usb/gspca/sunplus.c
440
gspca_dbg(gspca_dev, D_STREAM, "FirmWare: %d %d %d %d %d\n",
drivers/media/usb/gspca/sunplus.c
442
reg_r(gspca_dev, 0x23, 0, 64);
drivers/media/usb/gspca/sunplus.c
443
reg_r(gspca_dev, 0x23, 1, 64);
drivers/media/usb/gspca/sunplus.c
446
static void spca504B_SetSizeType(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
448
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
451
Size = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/sunplus.c
454
reg_w_riv(gspca_dev, 0x31, 0, 0);
drivers/media/usb/gspca/sunplus.c
455
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
456
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
457
spca50x_GetFirmware(gspca_dev);
drivers/media/usb/gspca/sunplus.c
459
reg_w_1(gspca_dev, 0x24, 0, 8, 2); /* type */
drivers/media/usb/gspca/sunplus.c
460
reg_r(gspca_dev, 0x24, 8, 1);
drivers/media/usb/gspca/sunplus.c
462
reg_w_1(gspca_dev, 0x25, 0, 4, Size);
drivers/media/usb/gspca/sunplus.c
463
reg_r(gspca_dev, 0x25, 4, 1); /* size */
drivers/media/usb/gspca/sunplus.c
464
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
467
reg_w_riv(gspca_dev, 0x31, 0x0004, 0x00);
drivers/media/usb/gspca/sunplus.c
468
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
469
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
474
reg_w_1(gspca_dev, 0x25, 0, 4, Size);
drivers/media/usb/gspca/sunplus.c
475
reg_r(gspca_dev, 0x25, 4, 1); /* size */
drivers/media/usb/gspca/sunplus.c
476
reg_w_1(gspca_dev, 0x27, 0, 0, 6);
drivers/media/usb/gspca/sunplus.c
477
reg_r(gspca_dev, 0x27, 0, 1); /* type */
drivers/media/usb/gspca/sunplus.c
478
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
484
spca504A_acknowledged_command(gspca_dev,
drivers/media/usb/gspca/sunplus.c
487
spca504A_acknowledged_command(gspca_dev,
drivers/media/usb/gspca/sunplus.c
490
spca504_acknowledged_command(gspca_dev, 0x08, Size, 0);
drivers/media/usb/gspca/sunplus.c
495
reg_w_riv(gspca_dev, 0xa0, (0x0500 | (Size & 0x0f)), 0x00);
drivers/media/usb/gspca/sunplus.c
496
reg_w_riv(gspca_dev, 0x20, 0x01, 0x0500 | (Size & 0x0f));
drivers/media/usb/gspca/sunplus.c
501
static void spca504_wait_status(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
508
reg_r(gspca_dev, 0x06, 0x00, 1);
drivers/media/usb/gspca/sunplus.c
509
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/sunplus.c
515
static void spca504B_setQtable(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
517
reg_w_1(gspca_dev, 0x26, 0, 0, 3);
drivers/media/usb/gspca/sunplus.c
518
reg_r(gspca_dev, 0x26, 0, 1);
drivers/media/usb/gspca/sunplus.c
519
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
522
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sunplus.c
524
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
528
reg_w_riv(gspca_dev, 0x00, reg, val);
drivers/media/usb/gspca/sunplus.c
531
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sunplus.c
533
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
537
reg_w_riv(gspca_dev, 0x00, reg, val);
drivers/media/usb/gspca/sunplus.c
540
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/sunplus.c
542
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
546
reg_w_riv(gspca_dev, 0x00, reg, val);
drivers/media/usb/gspca/sunplus.c
549
static void init_ctl_reg(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
551
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
562
reg_w_riv(gspca_dev, 0, 0x21ad, 0x00); /* hue */
drivers/media/usb/gspca/sunplus.c
563
reg_w_riv(gspca_dev, 0, 0x21ac, 0x01); /* sat/hue */
drivers/media/usb/gspca/sunplus.c
564
reg_w_riv(gspca_dev, 0, 0x21a3, 0x00); /* gamma */
drivers/media/usb/gspca/sunplus.c
567
reg_w_riv(gspca_dev, 0, 0x20f5, 0x40);
drivers/media/usb/gspca/sunplus.c
568
reg_w_riv(gspca_dev, 0, 0x20f4, 0x01);
drivers/media/usb/gspca/sunplus.c
569
reg_w_riv(gspca_dev, 0, 0x2089, 0x00);
drivers/media/usb/gspca/sunplus.c
573
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
577
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
580
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
583
cam = &gspca_dev->cam;
drivers/media/usb/gspca/sunplus.c
592
reg_r(gspca_dev, 0x20, 0, 1);
drivers/media/usb/gspca/sunplus.c
593
switch (gspca_dev->usb_buf[0]) {
drivers/media/usb/gspca/sunplus.c
629
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
631
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
635
reg_w_riv(gspca_dev, 0x1d, 0x00, 0);
drivers/media/usb/gspca/sunplus.c
636
reg_w_riv(gspca_dev, 0x00, 0x2306, 0x01);
drivers/media/usb/gspca/sunplus.c
637
reg_w_riv(gspca_dev, 0x00, 0x0d04, 0x00);
drivers/media/usb/gspca/sunplus.c
638
reg_w_riv(gspca_dev, 0x00, 0x2000, 0x00);
drivers/media/usb/gspca/sunplus.c
639
reg_w_riv(gspca_dev, 0x00, 0x2301, 0x13);
drivers/media/usb/gspca/sunplus.c
640
reg_w_riv(gspca_dev, 0x00, 0x2306, 0x00);
drivers/media/usb/gspca/sunplus.c
643
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
644
spca50x_GetFirmware(gspca_dev);
drivers/media/usb/gspca/sunplus.c
647
spca50x_GetFirmware(gspca_dev);
drivers/media/usb/gspca/sunplus.c
648
reg_r(gspca_dev, 0x00, 0x5002, 1);
drivers/media/usb/gspca/sunplus.c
649
reg_w_1(gspca_dev, 0x24, 0, 0, 0);
drivers/media/usb/gspca/sunplus.c
650
reg_r(gspca_dev, 0x24, 0, 1);
drivers/media/usb/gspca/sunplus.c
651
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
652
reg_w_riv(gspca_dev, 0x34, 0, 0);
drivers/media/usb/gspca/sunplus.c
653
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
656
gspca_dbg(gspca_dev, D_STREAM, "Opening SPCA504 (PC-CAM 600)\n");
drivers/media/usb/gspca/sunplus.c
657
reg_w_riv(gspca_dev, 0xe0, 0x0000, 0x0000);
drivers/media/usb/gspca/sunplus.c
658
reg_w_riv(gspca_dev, 0xe0, 0x0000, 0x0001); /* reset */
drivers/media/usb/gspca/sunplus.c
659
spca504_wait_status(gspca_dev);
drivers/media/usb/gspca/sunplus.c
661
write_vector(gspca_dev,
drivers/media/usb/gspca/sunplus.c
665
write_vector(gspca_dev, spca504_pccam600_open_data,
drivers/media/usb/gspca/sunplus.c
667
setup_qtable(gspca_dev, qtable_creative_pccam);
drivers/media/usb/gspca/sunplus.c
671
gspca_dbg(gspca_dev, D_STREAM, "Opening SPCA504\n");
drivers/media/usb/gspca/sunplus.c
673
spca504_read_info(gspca_dev);
drivers/media/usb/gspca/sunplus.c
676
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
679
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
682
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
686
spca504A_acknowledged_command(gspca_dev, 0x08,
drivers/media/usb/gspca/sunplus.c
694
reg_w_riv(gspca_dev, 0x00, 0x270c, 0x05);
drivers/media/usb/gspca/sunplus.c
696
reg_w_riv(gspca_dev, 0x00, 0x2310, 0x05);
drivers/media/usb/gspca/sunplus.c
697
spca504A_acknowledged_command(gspca_dev, 0x01,
drivers/media/usb/gspca/sunplus.c
701
reg_w_riv(gspca_dev, 0, 0x2000, 0);
drivers/media/usb/gspca/sunplus.c
702
reg_w_riv(gspca_dev, 0, 0x2883, 1);
drivers/media/usb/gspca/sunplus.c
703
setup_qtable(gspca_dev, qtable_spca504_default);
drivers/media/usb/gspca/sunplus.c
706
return gspca_dev->usb_err;
drivers/media/usb/gspca/sunplus.c
709
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
711
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
715
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/sunplus.c
716
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/sunplus.c
721
spca504B_setQtable(gspca_dev);
drivers/media/usb/gspca/sunplus.c
722
spca504B_SetSizeType(gspca_dev);
drivers/media/usb/gspca/sunplus.c
732
reg_w_riv(gspca_dev, 0xf0, 0, 0);
drivers/media/usb/gspca/sunplus.c
733
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
734
reg_w_riv(gspca_dev, 0xf0, 4, 0);
drivers/media/usb/gspca/sunplus.c
735
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
738
reg_w_riv(gspca_dev, 0x31, 0x0004, 0x00);
drivers/media/usb/gspca/sunplus.c
739
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
740
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
746
spca504_read_info(gspca_dev);
drivers/media/usb/gspca/sunplus.c
749
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
752
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
754
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
757
spca504_acknowledged_command(gspca_dev, 0x24, 8, 3);
drivers/media/usb/gspca/sunplus.c
758
spca504_read_info(gspca_dev);
drivers/media/usb/gspca/sunplus.c
759
spca504_acknowledged_command(gspca_dev, 0x24, 8, 3);
drivers/media/usb/gspca/sunplus.c
760
spca504_acknowledged_command(gspca_dev, 0x24, 0, 0);
drivers/media/usb/gspca/sunplus.c
762
spca504B_SetSizeType(gspca_dev);
drivers/media/usb/gspca/sunplus.c
763
reg_w_riv(gspca_dev, 0x00, 0x270c, 0x05);
drivers/media/usb/gspca/sunplus.c
765
reg_w_riv(gspca_dev, 0x00, 0x2310, 0x05);
drivers/media/usb/gspca/sunplus.c
769
write_vector(gspca_dev,
drivers/media/usb/gspca/sunplus.c
773
write_vector(gspca_dev, spca504_pccam600_init_data,
drivers/media/usb/gspca/sunplus.c
777
reg_w_riv(gspca_dev, 0x0c, 0x0000, enable);
drivers/media/usb/gspca/sunplus.c
779
reg_w_riv(gspca_dev, 0xb0, 0x0000, enable);
drivers/media/usb/gspca/sunplus.c
783
reg_w_riv(gspca_dev, 0x30, 0x0001, 800); /* ~ 20 fps */
drivers/media/usb/gspca/sunplus.c
784
reg_w_riv(gspca_dev, 0x30, 0x0002, 1600);
drivers/media/usb/gspca/sunplus.c
785
spca504B_SetSizeType(gspca_dev);
drivers/media/usb/gspca/sunplus.c
788
init_ctl_reg(gspca_dev);
drivers/media/usb/gspca/sunplus.c
789
return gspca_dev->usb_err;
drivers/media/usb/gspca/sunplus.c
792
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
794
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
801
reg_w_riv(gspca_dev, 0x31, 0, 0);
drivers/media/usb/gspca/sunplus.c
802
spca504B_WaitCmdStatus(gspca_dev);
drivers/media/usb/gspca/sunplus.c
803
spca504B_PollingDataReady(gspca_dev);
drivers/media/usb/gspca/sunplus.c
807
reg_w_riv(gspca_dev, 0x00, 0x2000, 0x0000);
drivers/media/usb/gspca/sunplus.c
813
spca504A_acknowledged_command(gspca_dev, 0x24,
drivers/media/usb/gspca/sunplus.c
815
spca504A_acknowledged_command(gspca_dev, 0x01,
drivers/media/usb/gspca/sunplus.c
818
spca504_acknowledged_command(gspca_dev, 0x24, 0, 0);
drivers/media/usb/gspca/sunplus.c
819
reg_w_riv(gspca_dev, 0x01, 0x000f, 0x0000);
drivers/media/usb/gspca/sunplus.c
825
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/sunplus.c
829
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/sunplus.c
895
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/sunplus.c
899
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/sunplus.c
907
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/sunplus.c
916
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/sunplus.c
921
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/sunplus.c
922
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/sunplus.c
923
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/sunplus.c
925
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/sunplus.c
927
if (!gspca_dev->streaming)
drivers/media/usb/gspca/sunplus.c
932
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sunplus.c
935
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sunplus.c
938
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/sunplus.c
944
return gspca_dev->usb_err;
drivers/media/usb/gspca/sunplus.c
951
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/sunplus.c
953
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/sunplus.c
955
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/t613.c
29
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/t613.c
293
static u8 reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
296
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/t613.c
297
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/t613.c
302
gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/t613.c
303
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/t613.c
306
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
309
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/t613.c
310
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/t613.c
317
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
321
memcpy(gspca_dev->usb_buf, buffer, len);
drivers/media/usb/gspca/t613.c
322
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/t613.c
323
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/t613.c
327
gspca_dev->usb_buf, len, 500);
drivers/media/usb/gspca/t613.c
336
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/t613.c
337
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/t613.c
347
static void reg_w_ixbuf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
355
p = tmpbuf = gspca_dev->usb_buf;
drivers/media/usb/gspca/t613.c
368
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/t613.c
369
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/t613.c
378
static void om6802_sensor_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
402
reg_w_buf(gspca_dev, sensor_reset, sizeof sensor_reset);
drivers/media/usb/gspca/t613.c
406
byte = reg_r(gspca_dev, 0x0060);
drivers/media/usb/gspca/t613.c
411
byte = reg_r(gspca_dev, 0x0063);
drivers/media/usb/gspca/t613.c
422
reg_w(gspca_dev, 0x3c80);
drivers/media/usb/gspca/t613.c
423
reg_w_buf(gspca_dev, val, sizeof val);
drivers/media/usb/gspca/t613.c
427
byte = reg_r(gspca_dev, 0x60);
drivers/media/usb/gspca/t613.c
433
reg_w(gspca_dev, 0x3c80);
drivers/media/usb/gspca/t613.c
437
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
440
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/t613.c
448
static void setbrightness(struct gspca_dev *gspca_dev, s32 brightness)
drivers/media/usb/gspca/t613.c
459
reg_w_buf(gspca_dev, set6, sizeof set6);
drivers/media/usb/gspca/t613.c
462
static void setcontrast(struct gspca_dev *gspca_dev, s32 contrast)
drivers/media/usb/gspca/t613.c
471
reg_w(gspca_dev, reg_to_write);
drivers/media/usb/gspca/t613.c
474
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
479
reg_w(gspca_dev, reg_to_write);
drivers/media/usb/gspca/t613.c
482
static void setgamma(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
484
gspca_dbg(gspca_dev, D_CONF, "Gamma: %d\n", val);
drivers/media/usb/gspca/t613.c
485
reg_w_ixbuf(gspca_dev, 0x90,
drivers/media/usb/gspca/t613.c
489
static void setawb_n_RGB(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
491
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
517
reg_w_buf(gspca_dev, all_gain_reg, sizeof all_gain_reg);
drivers/media/usb/gspca/t613.c
520
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
526
reg_w(gspca_dev, reg_to_write);
drivers/media/usb/gspca/t613.c
529
static void setfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
531
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
558
reg_w_buf(gspca_dev, freq, sizeof freq);
drivers/media/usb/gspca/t613.c
562
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
568
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
582
sensor_id = (reg_r(gspca_dev, 0x06) << 8)
drivers/media/usb/gspca/t613.c
583
| reg_r(gspca_dev, 0x07);
drivers/media/usb/gspca/t613.c
586
gspca_dbg(gspca_dev, D_PROBE, "sensor tas5130a\n");
drivers/media/usb/gspca/t613.c
590
gspca_dbg(gspca_dev, D_PROBE, "sensor lt168g\n");
drivers/media/usb/gspca/t613.c
594
gspca_dbg(gspca_dev, D_PROBE, "sensor 'other'\n");
drivers/media/usb/gspca/t613.c
598
gspca_dbg(gspca_dev, D_PROBE, "sensor om6802\n");
drivers/media/usb/gspca/t613.c
607
reg_w_buf(gspca_dev, n1, sizeof n1);
drivers/media/usb/gspca/t613.c
610
reg_w_buf(gspca_dev, sensor_reset, sizeof sensor_reset);
drivers/media/usb/gspca/t613.c
611
test_byte = reg_r(gspca_dev, 0x0063);
drivers/media/usb/gspca/t613.c
620
reg_w_buf(gspca_dev, n2, sizeof n2);
drivers/media/usb/gspca/t613.c
625
test_byte = reg_r(gspca_dev, read_indexs[i]);
drivers/media/usb/gspca/t613.c
626
gspca_dbg(gspca_dev, D_STREAM, "Reg 0x%02x = 0x%02x\n",
drivers/media/usb/gspca/t613.c
632
reg_w_buf(gspca_dev, sensor->n3, sizeof sensor->n3);
drivers/media/usb/gspca/t613.c
633
reg_w_buf(gspca_dev, sensor->n4, sensor->n4sz);
drivers/media/usb/gspca/t613.c
636
test_byte = reg_r(gspca_dev, 0x80);
drivers/media/usb/gspca/t613.c
637
gspca_dbg(gspca_dev, D_STREAM, "Reg 0x%02x = 0x%02x\n", 0x80,
drivers/media/usb/gspca/t613.c
639
reg_w(gspca_dev, 0x6c80);
drivers/media/usb/gspca/t613.c
642
reg_w_ixbuf(gspca_dev, 0xd0, sensor->data1, sizeof sensor->data1);
drivers/media/usb/gspca/t613.c
643
reg_w_ixbuf(gspca_dev, 0xc7, sensor->data2, sizeof sensor->data2);
drivers/media/usb/gspca/t613.c
644
reg_w_ixbuf(gspca_dev, 0xe0, sensor->data3, sizeof sensor->data3);
drivers/media/usb/gspca/t613.c
646
reg_w(gspca_dev, (sensor->reg80 << 8) + 0x80);
drivers/media/usb/gspca/t613.c
647
reg_w(gspca_dev, (sensor->reg80 << 8) + 0x80);
drivers/media/usb/gspca/t613.c
648
reg_w(gspca_dev, (sensor->reg8e << 8) + 0x8e);
drivers/media/usb/gspca/t613.c
649
reg_w(gspca_dev, (0x20 << 8) + 0x87);
drivers/media/usb/gspca/t613.c
650
reg_w(gspca_dev, (0x20 << 8) + 0x88);
drivers/media/usb/gspca/t613.c
651
reg_w(gspca_dev, (0x20 << 8) + 0x89);
drivers/media/usb/gspca/t613.c
653
reg_w_buf(gspca_dev, sensor->data5, sizeof sensor->data5);
drivers/media/usb/gspca/t613.c
654
reg_w_buf(gspca_dev, sensor->nset8, sizeof sensor->nset8);
drivers/media/usb/gspca/t613.c
655
reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream);
drivers/media/usb/gspca/t613.c
658
test_byte = reg_r(gspca_dev, 0x80);
drivers/media/usb/gspca/t613.c
659
gspca_dbg(gspca_dev, D_STREAM, "Reg 0x%02x = 0x%02x\n", 0x80,
drivers/media/usb/gspca/t613.c
661
reg_w(gspca_dev, 0x6c80);
drivers/media/usb/gspca/t613.c
664
reg_w_ixbuf(gspca_dev, 0xd0, sensor->data1, sizeof sensor->data1);
drivers/media/usb/gspca/t613.c
665
reg_w_ixbuf(gspca_dev, 0xc7, sensor->data2, sizeof sensor->data2);
drivers/media/usb/gspca/t613.c
666
reg_w_ixbuf(gspca_dev, 0xe0, sensor->data3, sizeof sensor->data3);
drivers/media/usb/gspca/t613.c
671
static void setmirror(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
679
reg_w_buf(gspca_dev, hflipcmd, sizeof hflipcmd);
drivers/media/usb/gspca/t613.c
682
static void seteffect(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/t613.c
705
reg_w_buf(gspca_dev, effects_table[idx],
drivers/media/usb/gspca/t613.c
709
reg_w(gspca_dev, 0x4aa6);
drivers/media/usb/gspca/t613.c
711
reg_w(gspca_dev, 0xfaa6);
drivers/media/usb/gspca/t613.c
716
static void poll_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
731
gspca_dbg(gspca_dev, D_STREAM, "[Sensor requires polling]\n");
drivers/media/usb/gspca/t613.c
732
reg_w_buf(gspca_dev, poll1, sizeof poll1);
drivers/media/usb/gspca/t613.c
733
reg_w_buf(gspca_dev, poll2, sizeof poll2);
drivers/media/usb/gspca/t613.c
734
reg_w_buf(gspca_dev, noise03, sizeof noise03);
drivers/media/usb/gspca/t613.c
737
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
739
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
746
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/t613.c
767
om6802_sensor_init(gspca_dev);
drivers/media/usb/gspca/t613.c
772
reg_w_buf(gspca_dev, tas5130a_sensor_init[i],
drivers/media/usb/gspca/t613.c
778
reg_w(gspca_dev, 0x3c80);
drivers/media/usb/gspca/t613.c
780
reg_w_buf(gspca_dev, tas5130a_sensor_init[i],
drivers/media/usb/gspca/t613.c
782
reg_w(gspca_dev, 0x3c80);
drivers/media/usb/gspca/t613.c
786
setfreq(gspca_dev, v4l2_ctrl_g_ctrl(sd->freq));
drivers/media/usb/gspca/t613.c
787
reg_r(gspca_dev, 0x0012);
drivers/media/usb/gspca/t613.c
788
reg_w_buf(gspca_dev, t2, sizeof t2);
drivers/media/usb/gspca/t613.c
789
reg_w_ixbuf(gspca_dev, 0xb3, t3, sizeof t3);
drivers/media/usb/gspca/t613.c
790
reg_w(gspca_dev, 0x0013);
drivers/media/usb/gspca/t613.c
792
reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream);
drivers/media/usb/gspca/t613.c
793
reg_w_buf(gspca_dev, sensor->stream, sizeof sensor->stream);
drivers/media/usb/gspca/t613.c
796
poll_sensor(gspca_dev);
drivers/media/usb/gspca/t613.c
801
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
803
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
805
reg_w_buf(gspca_dev, sensor_data[sd->sensor].stream,
drivers/media/usb/gspca/t613.c
807
reg_w_buf(gspca_dev, sensor_data[sd->sensor].stream,
drivers/media/usb/gspca/t613.c
811
reg_w(gspca_dev, 0x0309);
drivers/media/usb/gspca/t613.c
816
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/t613.c
817
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/t613.c
823
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/t613.c
827
struct sd *sd __maybe_unused = (struct sd *) gspca_dev;
drivers/media/usb/gspca/t613.c
835
input_report_key(gspca_dev->input_dev,
drivers/media/usb/gspca/t613.c
837
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/t613.c
855
gspca_frame_add(gspca_dev, pkt_type, data, len);
drivers/media/usb/gspca/t613.c
860
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/t613.c
861
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/t613.c
862
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/t613.c
865
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/t613.c
869
red_gain = reg_r(gspca_dev, 0x0087);
drivers/media/usb/gspca/t613.c
875
blue_gain = reg_r(gspca_dev, 0x0088);
drivers/media/usb/gspca/t613.c
881
green_gain = reg_r(gspca_dev, 0x0089);
drivers/media/usb/gspca/t613.c
897
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/t613.c
898
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/t613.c
900
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/t613.c
902
if (!gspca_dev->streaming)
drivers/media/usb/gspca/t613.c
907
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
910
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
913
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
916
setgamma(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
919
setmirror(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
922
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
925
setfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
928
reg_w(gspca_dev, ctrl->val ? 0xf48e : 0xb48e);
drivers/media/usb/gspca/t613.c
931
setawb_n_RGB(gspca_dev);
drivers/media/usb/gspca/t613.c
934
seteffect(gspca_dev, ctrl->val);
drivers/media/usb/gspca/t613.c
937
return gspca_dev->usb_err;
drivers/media/usb/gspca/t613.c
945
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/t613.c
947
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/t613.c
948
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/t613.c
950
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/topro.c
1003
0, index, gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/topro.c
1006
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/topro.c
1010
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
1014
reg_w(gspca_dev, p->reg, p->val);
drivers/media/usb/gspca/topro.c
1019
static int i2c_w(struct gspca_dev *gspca_dev, u8 index, u8 value)
drivers/media/usb/gspca/topro.c
1021
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
1023
reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
drivers/media/usb/gspca/topro.c
1024
reg_w(gspca_dev, TP6800_R19_SIF_ADDR_S2, index);
drivers/media/usb/gspca/topro.c
1025
reg_w(gspca_dev, TP6800_R13_SIF_TX_DATA, value);
drivers/media/usb/gspca/topro.c
1026
reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x01);
drivers/media/usb/gspca/topro.c
1030
reg_r(gspca_dev, TP6800_R11_SIF_CONTROL);
drivers/media/usb/gspca/topro.c
1031
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/topro.c
1033
reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
drivers/media/usb/gspca/topro.c
1037
static void i2c_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
1041
i2c_w(gspca_dev, p->reg, p->val);
drivers/media/usb/gspca/topro.c
1046
static int i2c_r(struct gspca_dev *gspca_dev, u8 index, int len)
drivers/media/usb/gspca/topro.c
1048
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
1051
reg_w(gspca_dev, TP6800_R19_SIF_ADDR_S2, index);
drivers/media/usb/gspca/topro.c
1052
reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x02);
drivers/media/usb/gspca/topro.c
1054
reg_r(gspca_dev, TP6800_R14_SIF_RX_DATA);
drivers/media/usb/gspca/topro.c
1055
v = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/topro.c
1059
reg_r(gspca_dev, TP6800_R1B_SIF_RX_DATA2);
drivers/media/usb/gspca/topro.c
1060
v |= (gspca_dev->usb_buf[0] << 8);
drivers/media/usb/gspca/topro.c
1062
reg_r(gspca_dev, TP6800_R11_SIF_CONTROL);
drivers/media/usb/gspca/topro.c
1063
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/topro.c
1065
reg_w(gspca_dev, TP6800_R11_SIF_CONTROL, 0x00);
drivers/media/usb/gspca/topro.c
1069
static void bulk_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
1074
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/topro.c
1077
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/topro.c
1082
gspca_dev->usb_buf[0] = tag;
drivers/media/usb/gspca/topro.c
1083
memcpy(&gspca_dev->usb_buf[1], data, count);
drivers/media/usb/gspca/topro.c
1086
gspca_dev->usb_buf, count + 1,
drivers/media/usb/gspca/topro.c
1091
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/topro.c
1101
static int probe_6810(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
1106
reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
drivers/media/usb/gspca/topro.c
1107
gpio = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/topro.c
1108
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1109
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
111
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/topro.c
1110
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1111
reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x04); /* i2c 16 bits */
drivers/media/usb/gspca/topro.c
1112
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x21); /* ov??? */
drivers/media/usb/gspca/topro.c
1113
reg_w(gspca_dev, TP6800_R1A_SIF_TX_DATA2, 0x00);
drivers/media/usb/gspca/topro.c
1114
if (i2c_w(gspca_dev, 0x00, 0x00) >= 0)
drivers/media/usb/gspca/topro.c
1117
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1118
reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00); /* i2c 8 bits */
drivers/media/usb/gspca/topro.c
1119
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x7f); /* (unknown i2c) */
drivers/media/usb/gspca/topro.c
1120
if (i2c_w(gspca_dev, 0x00, 0x00) >= 0)
drivers/media/usb/gspca/topro.c
1123
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1124
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1125
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1126
reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00); /* i2c 8 bits */
drivers/media/usb/gspca/topro.c
1127
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x11); /* tas??? / hv??? */
drivers/media/usb/gspca/topro.c
1128
ret = i2c_r(gspca_dev, 0x00, 1);
drivers/media/usb/gspca/topro.c
1132
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1133
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1134
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1135
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x6e); /* po??? */
drivers/media/usb/gspca/topro.c
1136
ret = i2c_r(gspca_dev, 0x00, 1);
drivers/media/usb/gspca/topro.c
1140
ret = i2c_r(gspca_dev, 0x01, 1);
drivers/media/usb/gspca/topro.c
1144
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1145
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1146
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1147
reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x04); /* i2c 16 bits */
drivers/media/usb/gspca/topro.c
1148
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x5d); /* mi/mt??? */
drivers/media/usb/gspca/topro.c
1149
ret = i2c_r(gspca_dev, 0x00, 2);
drivers/media/usb/gspca/topro.c
1153
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1154
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1155
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1156
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x5c); /* mi/mt??? */
drivers/media/usb/gspca/topro.c
1157
ret = i2c_r(gspca_dev, 0x36, 2);
drivers/media/usb/gspca/topro.c
1161
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1162
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1163
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1164
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x61); /* (unknown i2c) */
drivers/media/usb/gspca/topro.c
1165
reg_w(gspca_dev, TP6800_R1A_SIF_TX_DATA2, 0x10);
drivers/media/usb/gspca/topro.c
1166
if (i2c_w(gspca_dev, 0xff, 0x00) >= 0)
drivers/media/usb/gspca/topro.c
1169
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1170
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio);
drivers/media/usb/gspca/topro.c
1171
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, gpio | 0x20);
drivers/media/usb/gspca/topro.c
1172
reg_w(gspca_dev, TP6800_R10_SIF_TYPE, 0x00); /* i2c 8 bits */
drivers/media/usb/gspca/topro.c
1173
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20); /* cx0342 */
drivers/media/usb/gspca/topro.c
1174
ret = i2c_r(gspca_dev, 0x00, 1);
drivers/media/usb/gspca/topro.c
1180
static void cx0342_6810_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
1232
reg_w_buf(gspca_dev, reg_init_1, ARRAY_SIZE(reg_init_1));
drivers/media/usb/gspca/topro.c
1233
reg_w_buf(gspca_dev, tp6810_cx_init_common,
drivers/media/usb/gspca/topro.c
1235
reg_w_buf(gspca_dev, reg_init_2, ARRAY_SIZE(reg_init_2));
drivers/media/usb/gspca/topro.c
1237
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20); /* cx0342 I2C addr */
drivers/media/usb/gspca/topro.c
1238
i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
drivers/media/usb/gspca/topro.c
1239
i2c_w_buf(gspca_dev, cx0342_timing_seq, ARRAY_SIZE(cx0342_timing_seq));
drivers/media/usb/gspca/topro.c
1242
static void soi763a_6810_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
1387
reg_w_buf(gspca_dev, reg_init_1, ARRAY_SIZE(reg_init_1));
drivers/media/usb/gspca/topro.c
1388
reg_w_buf(gspca_dev, tp6810_ov_init_common,
drivers/media/usb/gspca/topro.c
1390
reg_w_buf(gspca_dev, reg_init_2, ARRAY_SIZE(reg_init_2));
drivers/media/usb/gspca/topro.c
1392
i2c_w(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/topro.c
1394
i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
drivers/media/usb/gspca/topro.c
1398
static void setexposure(struct gspca_dev *gspca_dev, s32 expo, s32 gain,
drivers/media/usb/gspca/topro.c
1401
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
1405
i2c_w(gspca_dev, CX0342_EXPO_LINE_L, expo);
drivers/media/usb/gspca/topro.c
1406
i2c_w(gspca_dev, CX0342_EXPO_LINE_H, expo >> 8);
drivers/media/usb/gspca/topro.c
1408
i2c_w(gspca_dev, CX0342_RAW_GBGAIN_H,
drivers/media/usb/gspca/topro.c
1410
i2c_w(gspca_dev, CX0342_RAW_GBGAIN_L, gain);
drivers/media/usb/gspca/topro.c
1412
i2c_w(gspca_dev, CX0342_RAW_GRGAIN_H,
drivers/media/usb/gspca/topro.c
1414
i2c_w(gspca_dev, CX0342_RAW_GRGAIN_L, gain);
drivers/media/usb/gspca/topro.c
1417
i2c_w(gspca_dev, CX0342_RAW_BGAIN_H,
drivers/media/usb/gspca/topro.c
1419
i2c_w(gspca_dev, CX0342_RAW_BGAIN_L, blue);
drivers/media/usb/gspca/topro.c
1421
i2c_w(gspca_dev, CX0342_RAW_RGAIN_H,
drivers/media/usb/gspca/topro.c
1423
i2c_w(gspca_dev, CX0342_RAW_RGAIN_L, red);
drivers/media/usb/gspca/topro.c
1425
i2c_w(gspca_dev, CX0342_SYS_CTRL_0,
drivers/media/usb/gspca/topro.c
1431
i2c_w(gspca_dev, 0x10, /* AEC_H (exposure time) */
drivers/media/usb/gspca/topro.c
1434
i2c_w(gspca_dev, 0x00, /* gain */
drivers/media/usb/gspca/topro.c
1439
static void set_dqt(struct gspca_dev *gspca_dev, u8 q)
drivers/media/usb/gspca/topro.c
1441
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
1444
gspca_dbg(gspca_dev, D_STREAM, "q %d -> %d\n", sd->quality, q);
drivers/media/usb/gspca/topro.c
1456
static void setquality(struct gspca_dev *gspca_dev, s32 q)
drivers/media/usb/gspca/topro.c
1458
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
1463
reg_w(gspca_dev, TP6800_R7A_BLK_THRLD, 0x00);
drivers/media/usb/gspca/topro.c
1464
reg_w(gspca_dev, TP6800_R79_QUALITY, 0x04);
drivers/media/usb/gspca/topro.c
1465
reg_w(gspca_dev, TP6800_R79_QUALITY, q);
drivers/media/usb/gspca/topro.c
1470
reg_w(gspca_dev, TP6800_R7A_BLK_THRLD, 0x19);
drivers/media/usb/gspca/topro.c
1490
static void setgamma(struct gspca_dev *gspca_dev, s32 gamma)
drivers/media/usb/gspca/topro.c
1492
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3813
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
drivers/media/usb/gspca/topro.c
3815
reg_w(gspca_dev, 0x02, 0x28);
drivers/media/usb/gspca/topro.c
3817
bulk_w(gspca_dev, 0x00, gamma_tb[gamma][0], 1024);
drivers/media/usb/gspca/topro.c
3818
bulk_w(gspca_dev, 0x01, gamma_tb[gamma][1], 1024);
drivers/media/usb/gspca/topro.c
3819
bulk_w(gspca_dev, 0x02, gamma_tb[gamma][2], 1024);
drivers/media/usb/gspca/topro.c
3823
reg_w(gspca_dev, 0x02, 0x2b);
drivers/media/usb/gspca/topro.c
3824
reg_w(gspca_dev, 0x02, 0x28);
drivers/media/usb/gspca/topro.c
3826
reg_w(gspca_dev, TP6800_R55_GAMMA_R,
drivers/media/usb/gspca/topro.c
3828
reg_w(gspca_dev, 0x02, 0x2b);
drivers/media/usb/gspca/topro.c
3829
reg_w(gspca_dev, 0x02, 0x28);
drivers/media/usb/gspca/topro.c
3831
reg_w(gspca_dev, TP6800_R56_GAMMA_G,
drivers/media/usb/gspca/topro.c
3833
reg_w(gspca_dev, 0x02, 0x2b);
drivers/media/usb/gspca/topro.c
3834
reg_w(gspca_dev, 0x02, 0x28);
drivers/media/usb/gspca/topro.c
3836
reg_w(gspca_dev, TP6800_R57_GAMMA_B,
drivers/media/usb/gspca/topro.c
3838
reg_w(gspca_dev, 0x02, 0x28);
drivers/media/usb/gspca/topro.c
3840
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
drivers/media/usb/gspca/topro.c
3844
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/topro.c
3846
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3850
if (gspca_dev->pixfmt.width == 640)
drivers/media/usb/gspca/topro.c
3851
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00); /* vga */
drivers/media/usb/gspca/topro.c
3854
reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, val);
drivers/media/usb/gspca/topro.c
3857
reg_w(gspca_dev, 0x59, val);
drivers/media/usb/gspca/topro.c
3861
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/topro.c
3863
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3869
static void set_resolution(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
3871
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3873
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
drivers/media/usb/gspca/topro.c
3874
if (gspca_dev->pixfmt.width == 320) {
drivers/media/usb/gspca/topro.c
3875
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x06);
drivers/media/usb/gspca/topro.c
3877
i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
drivers/media/usb/gspca/topro.c
3879
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
drivers/media/usb/gspca/topro.c
3880
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01); /* qvga */
drivers/media/usb/gspca/topro.c
3881
reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, 0x0d);
drivers/media/usb/gspca/topro.c
3882
i2c_w(gspca_dev, CX0342_EXPO_LINE_L, 0x37);
drivers/media/usb/gspca/topro.c
3883
i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x01);
drivers/media/usb/gspca/topro.c
3885
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x05);
drivers/media/usb/gspca/topro.c
3887
i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
drivers/media/usb/gspca/topro.c
3889
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x03);
drivers/media/usb/gspca/topro.c
3890
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00); /* vga */
drivers/media/usb/gspca/topro.c
3891
reg_w(gspca_dev, TP6800_R5D_DEMOSAIC_CFG, 0x09);
drivers/media/usb/gspca/topro.c
3892
i2c_w(gspca_dev, CX0342_EXPO_LINE_L, 0xcf);
drivers/media/usb/gspca/topro.c
3893
i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x00);
drivers/media/usb/gspca/topro.c
3895
i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x01);
drivers/media/usb/gspca/topro.c
3896
bulk_w(gspca_dev, 0x03, color_gain[SENSOR_CX0342],
drivers/media/usb/gspca/topro.c
3898
setgamma(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma));
drivers/media/usb/gspca/topro.c
3900
setquality(gspca_dev, v4l2_ctrl_g_ctrl(sd->jpegqual));
drivers/media/usb/gspca/topro.c
3904
static int get_fr_idx(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
3906
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3918
&& gspca_dev->pixfmt.width == 640)
drivers/media/usb/gspca/topro.c
3929
&& gspca_dev->pixfmt.width == 640)
drivers/media/usb/gspca/topro.c
3936
static void setframerate(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/topro.c
3938
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3941
fr_idx = get_fr_idx(gspca_dev);
drivers/media/usb/gspca/topro.c
3944
reg_r(gspca_dev, 0x7b);
drivers/media/usb/gspca/topro.c
3945
reg_w(gspca_dev, 0x7b,
drivers/media/usb/gspca/topro.c
3951
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, fr_idx);
drivers/media/usb/gspca/topro.c
3954
i2c_w(gspca_dev, CX0342_AUTO_ADC_CALIB, 0x01);
drivers/media/usb/gspca/topro.c
3957
static void setrgain(struct gspca_dev *gspca_dev, s32 rgain)
drivers/media/usb/gspca/topro.c
3959
i2c_w(gspca_dev, CX0342_RAW_RGAIN_H, rgain >> 8);
drivers/media/usb/gspca/topro.c
3960
i2c_w(gspca_dev, CX0342_RAW_RGAIN_L, rgain);
drivers/media/usb/gspca/topro.c
3961
i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x80);
drivers/media/usb/gspca/topro.c
3964
static int sd_setgain(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
3966
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
3967
s32 val = gspca_dev->gain->val;
drivers/media/usb/gspca/topro.c
3970
s32 old = gspca_dev->gain->cur.val ?
drivers/media/usb/gspca/topro.c
3971
gspca_dev->gain->cur.val : 1;
drivers/media/usb/gspca/topro.c
3980
if (gspca_dev->streaming) {
drivers/media/usb/gspca/topro.c
3982
setexposure(gspca_dev, gspca_dev->exposure->val,
drivers/media/usb/gspca/topro.c
3983
gspca_dev->gain->val,
drivers/media/usb/gspca/topro.c
3986
setexposure(gspca_dev, gspca_dev->exposure->val,
drivers/media/usb/gspca/topro.c
3987
gspca_dev->gain->val, 0, 0);
drivers/media/usb/gspca/topro.c
3989
return gspca_dev->usb_err;
drivers/media/usb/gspca/topro.c
3992
static void setbgain(struct gspca_dev *gspca_dev, s32 bgain)
drivers/media/usb/gspca/topro.c
3994
i2c_w(gspca_dev, CX0342_RAW_BGAIN_H, bgain >> 8);
drivers/media/usb/gspca/topro.c
3995
i2c_w(gspca_dev, CX0342_RAW_BGAIN_L, bgain);
drivers/media/usb/gspca/topro.c
3996
i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x80);
drivers/media/usb/gspca/topro.c
4000
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4003
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4007
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/topro.c
4008
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/topro.c
4009
gspca_dev->cam.mode_framerates = sd->bridge == BRIDGE_TP6800 ?
drivers/media/usb/gspca/topro.c
4017
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4019
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4037
reg_w_buf(gspca_dev, tp6800_preinit,
drivers/media/usb/gspca/topro.c
4040
reg_w_buf(gspca_dev, tp6810_preinit,
drivers/media/usb/gspca/topro.c
4043
reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
drivers/media/usb/gspca/topro.c
4044
gspca_dbg(gspca_dev, D_PROBE, "gpio: %02x\n", gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/topro.c
4058
switch (gspca_dev->usb_buf[0] & 0x07) {
drivers/media/usb/gspca/topro.c
4069
sensor = probe_6810(gspca_dev);
drivers/media/usb/gspca/topro.c
4081
soi763a_6810_init(gspca_dev);
drivers/media/usb/gspca/topro.c
4086
cx0342_6810_init(gspca_dev);
drivers/media/usb/gspca/topro.c
4090
set_dqt(gspca_dev, 0);
drivers/media/usb/gspca/topro.c
4095
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4097
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4127
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x20);
drivers/media/usb/gspca/topro.c
4128
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x87);
drivers/media/usb/gspca/topro.c
4129
i2c_w_buf(gspca_dev, cx_sensor_init,
drivers/media/usb/gspca/topro.c
4131
reg_w_buf(gspca_dev, cx_bridge_init,
drivers/media/usb/gspca/topro.c
4133
bulk_w(gspca_dev, 0x03, color_null, sizeof color_null);
drivers/media/usb/gspca/topro.c
4134
reg_w(gspca_dev, 0x59, 0x40);
drivers/media/usb/gspca/topro.c
4136
reg_w(gspca_dev, TP6800_R12_SIF_ADDR_S, 0x21);
drivers/media/usb/gspca/topro.c
4137
i2c_w_buf(gspca_dev, ov_sensor_init,
drivers/media/usb/gspca/topro.c
4139
reg_r(gspca_dev, 0x7b);
drivers/media/usb/gspca/topro.c
4140
reg_w_buf(gspca_dev, ov_bridge_init,
drivers/media/usb/gspca/topro.c
4143
reg_w(gspca_dev, TP6800_R78_FORMAT,
drivers/media/usb/gspca/topro.c
4144
gspca_dev->curr_mode ? 0x00 : 0x01);
drivers/media/usb/gspca/topro.c
4145
return gspca_dev->usb_err;
drivers/media/usb/gspca/topro.c
4148
static void set_led(struct gspca_dev *gspca_dev, int on)
drivers/media/usb/gspca/topro.c
4152
reg_r(gspca_dev, TP6800_R18_GPIO_DATA);
drivers/media/usb/gspca/topro.c
4153
data = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/topro.c
4158
reg_w(gspca_dev, TP6800_R18_GPIO_DATA, data);
drivers/media/usb/gspca/topro.c
4161
static void cx0342_6800_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4163
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4229
reg_w_buf(gspca_dev, reg_init, ARRAY_SIZE(reg_init));
drivers/media/usb/gspca/topro.c
4230
i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
drivers/media/usb/gspca/topro.c
4231
i2c_w_buf(gspca_dev, cx0342_timing_seq, ARRAY_SIZE(cx0342_timing_seq));
drivers/media/usb/gspca/topro.c
4232
reg_w(gspca_dev, TP6800_R5C_EDGE_THRLD, 0x10);
drivers/media/usb/gspca/topro.c
4233
reg_w(gspca_dev, TP6800_R54_DARK_CFG, 0x00);
drivers/media/usb/gspca/topro.c
4234
i2c_w(gspca_dev, CX0342_EXPO_LINE_H, 0x00);
drivers/media/usb/gspca/topro.c
4235
i2c_w(gspca_dev, CX0342_SYS_CTRL_0, 0x01);
drivers/media/usb/gspca/topro.c
4237
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4238
v4l2_ctrl_g_ctrl(gspca_dev->gain),
drivers/media/usb/gspca/topro.c
4242
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4243
v4l2_ctrl_g_ctrl(gspca_dev->gain), 0, 0);
drivers/media/usb/gspca/topro.c
4244
set_led(gspca_dev, 1);
drivers/media/usb/gspca/topro.c
4245
set_resolution(gspca_dev);
drivers/media/usb/gspca/topro.c
4248
static void cx0342_6810_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4250
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4316
reg_w(gspca_dev, 0x22, gspca_dev->alt);
drivers/media/usb/gspca/topro.c
4317
i2c_w_buf(gspca_dev, sensor_init_2, ARRAY_SIZE(sensor_init_2));
drivers/media/usb/gspca/topro.c
4318
reg_w_buf(gspca_dev, bridge_init_2, ARRAY_SIZE(bridge_init_2));
drivers/media/usb/gspca/topro.c
4319
reg_w_buf(gspca_dev, tp6810_cx_init_common,
drivers/media/usb/gspca/topro.c
4321
reg_w_buf(gspca_dev, bridge_init_3, ARRAY_SIZE(bridge_init_3));
drivers/media/usb/gspca/topro.c
4322
if (gspca_dev->curr_mode) {
drivers/media/usb/gspca/topro.c
4323
reg_w(gspca_dev, 0x4a, 0x7f);
drivers/media/usb/gspca/topro.c
4324
reg_w(gspca_dev, 0x07, 0x05);
drivers/media/usb/gspca/topro.c
4325
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00); /* vga */
drivers/media/usb/gspca/topro.c
4327
reg_w(gspca_dev, 0x4a, 0xff);
drivers/media/usb/gspca/topro.c
4328
reg_w(gspca_dev, 0x07, 0x85);
drivers/media/usb/gspca/topro.c
4329
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01); /* qvga */
drivers/media/usb/gspca/topro.c
4331
setgamma(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma));
drivers/media/usb/gspca/topro.c
4332
reg_w_buf(gspca_dev, tp6810_bridge_start,
drivers/media/usb/gspca/topro.c
4334
setsharpness(gspca_dev, v4l2_ctrl_g_ctrl(sd->sharpness));
drivers/media/usb/gspca/topro.c
4335
bulk_w(gspca_dev, 0x03, color_gain[SENSOR_CX0342],
drivers/media/usb/gspca/topro.c
4337
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0x87);
drivers/media/usb/gspca/topro.c
4338
i2c_w_buf(gspca_dev, sensor_init_3, ARRAY_SIZE(sensor_init_3));
drivers/media/usb/gspca/topro.c
4339
reg_w_buf(gspca_dev, bridge_init_5, ARRAY_SIZE(bridge_init_5));
drivers/media/usb/gspca/topro.c
4340
i2c_w_buf(gspca_dev, sensor_init_4, ARRAY_SIZE(sensor_init_4));
drivers/media/usb/gspca/topro.c
4341
reg_w_buf(gspca_dev, bridge_init_5, ARRAY_SIZE(bridge_init_5));
drivers/media/usb/gspca/topro.c
4342
i2c_w_buf(gspca_dev, sensor_init_5, ARRAY_SIZE(sensor_init_5));
drivers/media/usb/gspca/topro.c
4344
set_led(gspca_dev, 1);
drivers/media/usb/gspca/topro.c
4348
static void soi763a_6800_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4350
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4440
reg_w_buf(gspca_dev, reg_init, ARRAY_SIZE(reg_init));
drivers/media/usb/gspca/topro.c
4442
i2c_w(gspca_dev, 0x12, 0x80); /* sensor reset */
drivers/media/usb/gspca/topro.c
4445
i2c_w_buf(gspca_dev, sensor_init, ARRAY_SIZE(sensor_init));
drivers/media/usb/gspca/topro.c
4447
reg_w(gspca_dev, TP6800_R5C_EDGE_THRLD, 0x10);
drivers/media/usb/gspca/topro.c
4448
reg_w(gspca_dev, TP6800_R54_DARK_CFG, 0x00);
drivers/media/usb/gspca/topro.c
4450
setsharpness(gspca_dev, v4l2_ctrl_g_ctrl(sd->sharpness));
drivers/media/usb/gspca/topro.c
4452
bulk_w(gspca_dev, 0x03, color_gain[SENSOR_SOI763A],
drivers/media/usb/gspca/topro.c
4455
set_led(gspca_dev, 1);
drivers/media/usb/gspca/topro.c
4457
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4458
v4l2_ctrl_g_ctrl(gspca_dev->gain),
drivers/media/usb/gspca/topro.c
4462
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4463
v4l2_ctrl_g_ctrl(gspca_dev->gain), 0, 0);
drivers/media/usb/gspca/topro.c
4465
setquality(gspca_dev, v4l2_ctrl_g_ctrl(sd->jpegqual));
drivers/media/usb/gspca/topro.c
4466
setgamma(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma));
drivers/media/usb/gspca/topro.c
4469
static void soi763a_6810_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4471
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4492
reg_w(gspca_dev, 0x22, gspca_dev->alt);
drivers/media/usb/gspca/topro.c
4493
bulk_w(gspca_dev, 0x03, color_null, sizeof color_null);
drivers/media/usb/gspca/topro.c
4494
reg_w(gspca_dev, 0x59, 0x40);
drivers/media/usb/gspca/topro.c
4496
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4497
v4l2_ctrl_g_ctrl(gspca_dev->gain),
drivers/media/usb/gspca/topro.c
4501
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4502
v4l2_ctrl_g_ctrl(gspca_dev->gain), 0, 0);
drivers/media/usb/gspca/topro.c
4503
reg_w_buf(gspca_dev, bridge_init_2, ARRAY_SIZE(bridge_init_2));
drivers/media/usb/gspca/topro.c
4504
reg_w_buf(gspca_dev, tp6810_ov_init_common,
drivers/media/usb/gspca/topro.c
4506
reg_w_buf(gspca_dev, bridge_init_3, ARRAY_SIZE(bridge_init_3));
drivers/media/usb/gspca/topro.c
4507
if (gspca_dev->curr_mode) {
drivers/media/usb/gspca/topro.c
4508
reg_w(gspca_dev, 0x4a, 0x7f);
drivers/media/usb/gspca/topro.c
4509
reg_w(gspca_dev, 0x07, 0x05);
drivers/media/usb/gspca/topro.c
4510
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x00); /* vga */
drivers/media/usb/gspca/topro.c
4512
reg_w(gspca_dev, 0x4a, 0xff);
drivers/media/usb/gspca/topro.c
4513
reg_w(gspca_dev, 0x07, 0x85);
drivers/media/usb/gspca/topro.c
4514
reg_w(gspca_dev, TP6800_R78_FORMAT, 0x01); /* qvga */
drivers/media/usb/gspca/topro.c
4516
setgamma(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma));
drivers/media/usb/gspca/topro.c
4517
reg_w_buf(gspca_dev, tp6810_bridge_start,
drivers/media/usb/gspca/topro.c
4520
if (gspca_dev->curr_mode) {
drivers/media/usb/gspca/topro.c
4521
reg_w(gspca_dev, 0x4f, 0x00);
drivers/media/usb/gspca/topro.c
4522
reg_w(gspca_dev, 0x4e, 0x7c);
drivers/media/usb/gspca/topro.c
4525
reg_w(gspca_dev, 0x00, 0x00);
drivers/media/usb/gspca/topro.c
4527
setsharpness(gspca_dev, v4l2_ctrl_g_ctrl(sd->sharpness));
drivers/media/usb/gspca/topro.c
4528
bulk_w(gspca_dev, 0x03, color_gain[SENSOR_SOI763A],
drivers/media/usb/gspca/topro.c
4530
set_led(gspca_dev, 1);
drivers/media/usb/gspca/topro.c
4531
reg_w(gspca_dev, TP6800_R3F_FRAME_RATE, 0xf0);
drivers/media/usb/gspca/topro.c
4533
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4534
v4l2_ctrl_g_ctrl(gspca_dev->gain),
drivers/media/usb/gspca/topro.c
4538
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4539
v4l2_ctrl_g_ctrl(gspca_dev->gain), 0, 0);
drivers/media/usb/gspca/topro.c
4540
reg_w_buf(gspca_dev, bridge_init_6, ARRAY_SIZE(bridge_init_6));
drivers/media/usb/gspca/topro.c
4544
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4546
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4548
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/topro.c
4549
gspca_dev->pixfmt.width);
drivers/media/usb/gspca/topro.c
4550
set_dqt(gspca_dev, sd->quality);
drivers/media/usb/gspca/topro.c
4553
cx0342_6800_start(gspca_dev);
drivers/media/usb/gspca/topro.c
4555
soi763a_6800_start(gspca_dev);
drivers/media/usb/gspca/topro.c
4558
cx0342_6810_start(gspca_dev);
drivers/media/usb/gspca/topro.c
4560
soi763a_6810_start(gspca_dev);
drivers/media/usb/gspca/topro.c
4561
reg_w_buf(gspca_dev, tp6810_late_start,
drivers/media/usb/gspca/topro.c
4563
reg_w(gspca_dev, 0x80, 0x03);
drivers/media/usb/gspca/topro.c
4564
reg_w(gspca_dev, 0x82, gspca_dev->curr_mode ? 0x0a : 0x0e);
drivers/media/usb/gspca/topro.c
4567
setexposure(gspca_dev,
drivers/media/usb/gspca/topro.c
4568
v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4569
v4l2_ctrl_g_ctrl(gspca_dev->gain),
drivers/media/usb/gspca/topro.c
4573
setexposure(gspca_dev,
drivers/media/usb/gspca/topro.c
4574
v4l2_ctrl_g_ctrl(gspca_dev->exposure),
drivers/media/usb/gspca/topro.c
4575
v4l2_ctrl_g_ctrl(gspca_dev->gain), 0, 0);
drivers/media/usb/gspca/topro.c
4577
setquality(gspca_dev,
drivers/media/usb/gspca/topro.c
4580
setautogain(gspca_dev,
drivers/media/usb/gspca/topro.c
4581
v4l2_ctrl_g_ctrl(gspca_dev->autogain));
drivers/media/usb/gspca/topro.c
4584
setframerate(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure));
drivers/media/usb/gspca/topro.c
4586
return gspca_dev->usb_err;
drivers/media/usb/gspca/topro.c
4589
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4591
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4594
reg_w(gspca_dev, TP6800_R2F_TIMING_CFG, 0x03);
drivers/media/usb/gspca/topro.c
4595
set_led(gspca_dev, 0);
drivers/media/usb/gspca/topro.c
4596
reg_w(gspca_dev, TP6800_R21_ENDP_1_CTL, 0x00);
drivers/media/usb/gspca/topro.c
4599
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4603
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4618
gspca_dbg(gspca_dev, D_FRAM, "bad frame\n");
drivers/media/usb/gspca/topro.c
4619
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4626
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4632
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4636
set_dqt(gspca_dev, data[6] & 0x0f);
drivers/media/usb/gspca/topro.c
4637
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/topro.c
4639
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/topro.c
4642
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/topro.c
4645
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/topro.c
4653
gspca_frame_add(gspca_dev, LAST_PACKET, data, 0);
drivers/media/usb/gspca/topro.c
4660
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4664
set_dqt(gspca_dev, data[7]);
drivers/media/usb/gspca/topro.c
4665
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/topro.c
4667
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/topro.c
4671
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4675
gspca_frame_add(gspca_dev, INTER_PACKET,
drivers/media/usb/gspca/topro.c
4678
gspca_dev->last_packet_type = DISCARD_PACKET;
drivers/media/usb/gspca/topro.c
4683
static void sd_dq_callback(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4685
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4696
reg_w(gspca_dev, 0x7d, 0x00);
drivers/media/usb/gspca/topro.c
4699
reg_w(gspca_dev, 0x27, 0xb0);
drivers/media/usb/gspca/topro.c
4702
reg_w(gspca_dev, 0x0c, 0x01);
drivers/media/usb/gspca/topro.c
4705
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/topro.c
4706
usb_rcvbulkpipe(gspca_dev->dev, 0x02),
drivers/media/usb/gspca/topro.c
4707
gspca_dev->usb_buf,
drivers/media/usb/gspca/topro.c
4718
reg_w(gspca_dev, 0x27, 0xd0);
drivers/media/usb/gspca/topro.c
4721
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/topro.c
4722
usb_rcvbulkpipe(gspca_dev->dev, 0x02),
drivers/media/usb/gspca/topro.c
4723
gspca_dev->usb_buf,
drivers/media/usb/gspca/topro.c
4731
luma = ((gspca_dev->usb_buf[8] << 8) + gspca_dev->usb_buf[7] +
drivers/media/usb/gspca/topro.c
4732
(gspca_dev->usb_buf[11] << 8) + gspca_dev->usb_buf[10] +
drivers/media/usb/gspca/topro.c
4733
(gspca_dev->usb_buf[14] << 8) + gspca_dev->usb_buf[13] +
drivers/media/usb/gspca/topro.c
4734
(gspca_dev->usb_buf[17] << 8) + gspca_dev->usb_buf[16] +
drivers/media/usb/gspca/topro.c
4735
(gspca_dev->usb_buf[20] << 8) + gspca_dev->usb_buf[19] +
drivers/media/usb/gspca/topro.c
4736
(gspca_dev->usb_buf[23] << 8) + gspca_dev->usb_buf[22] +
drivers/media/usb/gspca/topro.c
4737
(gspca_dev->usb_buf[26] << 8) + gspca_dev->usb_buf[25] +
drivers/media/usb/gspca/topro.c
4738
(gspca_dev->usb_buf[29] << 8) + gspca_dev->usb_buf[28])
drivers/media/usb/gspca/topro.c
4740
if (gspca_dev->pixfmt.width == 640)
drivers/media/usb/gspca/topro.c
4742
reg_w(gspca_dev, 0x7d, 0x00);
drivers/media/usb/gspca/topro.c
4744
expo = v4l2_ctrl_g_ctrl(gspca_dev->exposure);
drivers/media/usb/gspca/topro.c
4745
ret = gspca_expo_autogain(gspca_dev, luma,
drivers/media/usb/gspca/topro.c
4752
int new_expo = v4l2_ctrl_g_ctrl(gspca_dev->exposure);
drivers/media/usb/gspca/topro.c
4756
setframerate(gspca_dev, new_expo);
drivers/media/usb/gspca/topro.c
4763
static void sd_get_streamparm(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4766
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4772
i = get_fr_idx(gspca_dev);
drivers/media/usb/gspca/topro.c
4785
static void sd_set_streamparm(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4788
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4798
if (gspca_dev->streaming)
drivers/media/usb/gspca/topro.c
4799
setframerate(gspca_dev, v4l2_ctrl_g_ctrl(gspca_dev->exposure));
drivers/media/usb/gspca/topro.c
4802
i = get_fr_idx(gspca_dev);
drivers/media/usb/gspca/topro.c
4811
static int sd_set_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4814
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4822
static int sd_get_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/topro.c
4825
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/topro.c
4838
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/topro.c
4839
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/topro.c
4840
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/topro.c
4842
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/topro.c
4844
if (!gspca_dev->streaming)
drivers/media/usb/gspca/topro.c
4849
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/topro.c
4852
setgamma(gspca_dev, ctrl->val);
drivers/media/usb/gspca/topro.c
4855
setbgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/topro.c
4858
setrgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/topro.c
4861
sd_setgain(gspca_dev);
drivers/media/usb/gspca/topro.c
4866
sd_setgain(gspca_dev);
drivers/media/usb/gspca/topro.c
4872
return gspca_dev->usb_err;
drivers/media/usb/gspca/topro.c
4879
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/topro.c
4881
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/topro.c
4882
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/topro.c
4884
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/topro.c
4886
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/topro.c
4895
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/topro.c
4898
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/topro.c
4907
gspca_dev->autogain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/topro.c
4918
if (gspca_dev->autogain)
drivers/media/usb/gspca/topro.c
4919
v4l2_ctrl_auto_cluster(3, &gspca_dev->autogain, 0, false);
drivers/media/usb/gspca/topro.c
4921
v4l2_ctrl_cluster(2, &gspca_dev->exposure);
drivers/media/usb/gspca/topro.c
975
static void reg_w(struct gspca_dev *gspca_dev, u8 index, u8 value)
drivers/media/usb/gspca/topro.c
977
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/topro.c
980
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/topro.c
988
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/topro.c
993
static void reg_r(struct gspca_dev *gspca_dev, u8 index)
drivers/media/usb/gspca/topro.c
995
struct usb_device *dev = gspca_dev->dev;
drivers/media/usb/gspca/topro.c
998
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/touptek.c
138
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/touptek.c
186
static int val_reply(struct gspca_dev *gspca_dev, const char *reply, int rc)
drivers/media/usb/gspca/touptek.c
189
gspca_err(gspca_dev, "reply has error %d\n", rc);
drivers/media/usb/gspca/touptek.c
193
gspca_err(gspca_dev, "Bad reply size %d\n", rc);
drivers/media/usb/gspca/touptek.c
197
gspca_err(gspca_dev, "Bad reply 0x%02x\n", (int)reply[0]);
drivers/media/usb/gspca/touptek.c
203
static void reg_w(struct gspca_dev *gspca_dev, u16 value, u16 index)
drivers/media/usb/gspca/touptek.c
205
char *buff = gspca_dev->usb_buf;
drivers/media/usb/gspca/touptek.c
208
gspca_dbg(gspca_dev, D_USBO,
drivers/media/usb/gspca/touptek.c
211
rc = usb_control_msg(gspca_dev->dev, usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
213
gspca_dbg(gspca_dev, D_USBO, "rc=%d, ret={0x%02x}\n", rc, (int)buff[0]);
drivers/media/usb/gspca/touptek.c
215
gspca_err(gspca_dev, "Failed reg_w(0x0B, 0xC0, 0x%04X, 0x%04X) w/ rc %d\n",
drivers/media/usb/gspca/touptek.c
217
gspca_dev->usb_err = rc;
drivers/media/usb/gspca/touptek.c
220
if (val_reply(gspca_dev, buff, rc)) {
drivers/media/usb/gspca/touptek.c
221
gspca_err(gspca_dev, "Bad reply to reg_w(0x0B, 0xC0, 0x%04X, 0x%04X\n",
drivers/media/usb/gspca/touptek.c
223
gspca_dev->usb_err = -EIO;
drivers/media/usb/gspca/touptek.c
227
static void reg_w_buf(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/touptek.c
231
reg_w(gspca_dev, p->value, p->index);
drivers/media/usb/gspca/touptek.c
236
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/touptek.c
239
unsigned int w = gspca_dev->pixfmt.width;
drivers/media/usb/gspca/touptek.c
248
gspca_err(gspca_dev, "Invalid width %u\n", w);
drivers/media/usb/gspca/touptek.c
249
gspca_dev->usb_err = -EINVAL;
drivers/media/usb/gspca/touptek.c
252
gspca_dbg(gspca_dev, D_STREAM, "exposure: 0x%04X ms\n\n", value);
drivers/media/usb/gspca/touptek.c
255
reg_w(gspca_dev, value, REG_COARSE_INTEGRATION_TIME_);
drivers/media/usb/gspca/touptek.c
256
reg_w(gspca_dev, value, REG_COARSE_INTEGRATION_TIME_);
drivers/media/usb/gspca/touptek.c
275
static void setggain(struct gspca_dev *gspca_dev, u16 global_gain)
drivers/media/usb/gspca/touptek.c
280
gspca_dbg(gspca_dev, D_STREAM, "gain G1/G2 (0x%04X): 0x%04X (src 0x%04X)\n\n",
drivers/media/usb/gspca/touptek.c
284
reg_w(gspca_dev, normalized, REG_GREEN1_GAIN);
drivers/media/usb/gspca/touptek.c
285
reg_w(gspca_dev, normalized, REG_GREEN2_GAIN);
drivers/media/usb/gspca/touptek.c
288
static void setbgain(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/touptek.c
296
gspca_dbg(gspca_dev, D_STREAM, "Truncating blue 0x%04X w/ value 0x%04X\n\n",
drivers/media/usb/gspca/touptek.c
301
gspca_dbg(gspca_dev, D_STREAM, "gain B (0x%04X): 0x%04X w/ source 0x%04X\n\n",
drivers/media/usb/gspca/touptek.c
304
reg_w(gspca_dev, normalized, REG_BLUE_GAIN);
drivers/media/usb/gspca/touptek.c
307
static void setrgain(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/touptek.c
315
gspca_dbg(gspca_dev, D_STREAM, "Truncating gain 0x%04X w/ value 0x%04X\n\n",
drivers/media/usb/gspca/touptek.c
320
gspca_dbg(gspca_dev, D_STREAM, "gain R (0x%04X): 0x%04X w / source 0x%04X\n\n",
drivers/media/usb/gspca/touptek.c
323
reg_w(gspca_dev, normalized, REG_RED_GAIN);
drivers/media/usb/gspca/touptek.c
326
static void configure_wh(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
328
unsigned int w = gspca_dev->pixfmt.width;
drivers/media/usb/gspca/touptek.c
330
gspca_dbg(gspca_dev, D_STREAM, "configure_wh\n\n");
drivers/media/usb/gspca/touptek.c
341
reg_w_buf(gspca_dev,
drivers/media/usb/gspca/touptek.c
352
reg_w_buf(gspca_dev,
drivers/media/usb/gspca/touptek.c
363
reg_w_buf(gspca_dev,
drivers/media/usb/gspca/touptek.c
366
gspca_err(gspca_dev, "bad width %u\n", w);
drivers/media/usb/gspca/touptek.c
367
gspca_dev->usb_err = -EINVAL;
drivers/media/usb/gspca/touptek.c
371
reg_w(gspca_dev, 0x0000, REG_SCALING_MODE);
drivers/media/usb/gspca/touptek.c
372
reg_w(gspca_dev, 0x0010, REG_SCALE_M);
drivers/media/usb/gspca/touptek.c
373
reg_w(gspca_dev, w, REG_X_OUTPUT_SIZE);
drivers/media/usb/gspca/touptek.c
374
reg_w(gspca_dev, gspca_dev->pixfmt.height, REG_Y_OUTPUT_SIZE);
drivers/media/usb/gspca/touptek.c
377
reg_w(gspca_dev, 0x0384, REG_FRAME_LENGTH_LINES_);
drivers/media/usb/gspca/touptek.c
378
reg_w(gspca_dev, 0x0960, REG_LINE_LENGTH_PCK_);
drivers/media/usb/gspca/touptek.c
380
reg_w(gspca_dev, 0x0640, REG_FRAME_LENGTH_LINES_);
drivers/media/usb/gspca/touptek.c
381
reg_w(gspca_dev, 0x0FA0, REG_LINE_LENGTH_PCK_);
drivers/media/usb/gspca/touptek.c
383
reg_w(gspca_dev, 0x0B4B, REG_FRAME_LENGTH_LINES_);
drivers/media/usb/gspca/touptek.c
384
reg_w(gspca_dev, 0x1F40, REG_LINE_LENGTH_PCK_);
drivers/media/usb/gspca/touptek.c
386
gspca_err(gspca_dev, "bad width %u\n", w);
drivers/media/usb/gspca/touptek.c
387
gspca_dev->usb_err = -EINVAL;
drivers/media/usb/gspca/touptek.c
393
static void configure_encrypted(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
419
gspca_dbg(gspca_dev, D_STREAM, "Encrypted begin, w = %u\n\n",
drivers/media/usb/gspca/touptek.c
420
gspca_dev->pixfmt.width);
drivers/media/usb/gspca/touptek.c
421
reg_w_buf(gspca_dev, reg_init_begin, ARRAY_SIZE(reg_init_begin));
drivers/media/usb/gspca/touptek.c
422
configure_wh(gspca_dev);
drivers/media/usb/gspca/touptek.c
423
reg_w_buf(gspca_dev, reg_init_end, ARRAY_SIZE(reg_init_end));
drivers/media/usb/gspca/touptek.c
424
reg_w(gspca_dev, 0x0100, REG_GROUPED_PARAMETER_HOLD);
drivers/media/usb/gspca/touptek.c
425
reg_w(gspca_dev, 0x0000, REG_GROUPED_PARAMETER_HOLD);
drivers/media/usb/gspca/touptek.c
427
gspca_dbg(gspca_dev, D_STREAM, "Encrypted end\n\n");
drivers/media/usb/gspca/touptek.c
430
static int configure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
433
char *buff = gspca_dev->usb_buf;
drivers/media/usb/gspca/touptek.c
435
gspca_dbg(gspca_dev, D_STREAM, "configure()\n\n");
drivers/media/usb/gspca/touptek.c
450
rc = usb_control_msg(gspca_dev->dev, usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
452
if (val_reply(gspca_dev, buff, rc)) {
drivers/media/usb/gspca/touptek.c
453
gspca_err(gspca_dev, "failed key req\n");
drivers/media/usb/gspca/touptek.c
467
rc = usb_control_msg(gspca_dev->dev, usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
470
gspca_err(gspca_dev, "failed to replay packet 176 w/ rc %d\n",
drivers/media/usb/gspca/touptek.c
475
rc = usb_control_msg(gspca_dev->dev, usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
478
gspca_err(gspca_dev, "failed to replay packet 178 w/ rc %d\n",
drivers/media/usb/gspca/touptek.c
483
rc = usb_control_msg(gspca_dev->dev, usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
486
gspca_err(gspca_dev, "failed to replay packet 180 w/ rc %d\n",
drivers/media/usb/gspca/touptek.c
500
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/touptek.c
501
configure_encrypted(gspca_dev);
drivers/media/usb/gspca/touptek.c
502
if (gspca_dev->usb_err)
drivers/media/usb/gspca/touptek.c
503
return gspca_dev->usb_err;
drivers/media/usb/gspca/touptek.c
506
rc = usb_control_msg(gspca_dev->dev, usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/touptek.c
509
gspca_err(gspca_dev, "failed to replay final packet w/ rc %d\n",
drivers/media/usb/gspca/touptek.c
514
gspca_dbg(gspca_dev, D_STREAM, "Configure complete\n\n");
drivers/media/usb/gspca/touptek.c
518
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/touptek.c
521
gspca_dev->cam.cam_mode = vga_mode;
drivers/media/usb/gspca/touptek.c
522
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
drivers/media/usb/gspca/touptek.c
525
gspca_dev->cam.no_urb_create = 0;
drivers/media/usb/gspca/touptek.c
526
gspca_dev->cam.bulk_nurbs = 4;
drivers/media/usb/gspca/touptek.c
528
gspca_dev->cam.bulk_size = BULK_SIZE;
drivers/media/usb/gspca/touptek.c
530
gspca_dev->cam.bulk = 1;
drivers/media/usb/gspca/touptek.c
535
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
537
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/touptek.c
542
rc = configure(gspca_dev);
drivers/media/usb/gspca/touptek.c
544
gspca_err(gspca_dev, "Failed configure\n");
drivers/media/usb/gspca/touptek.c
552
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/touptek.c
556
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/touptek.c
560
if (sd->this_f + len == gspca_dev->pixfmt.sizeimage) {
drivers/media/usb/gspca/touptek.c
561
gspca_frame_add(gspca_dev, LAST_PACKET, data, len);
drivers/media/usb/gspca/touptek.c
562
gspca_dbg(gspca_dev, D_FRAM, "finish frame sz %u/%u w/ len %u\n\n",
drivers/media/usb/gspca/touptek.c
563
sd->this_f, gspca_dev->pixfmt.sizeimage, len);
drivers/media/usb/gspca/touptek.c
566
gspca_frame_add(gspca_dev, DISCARD_PACKET, NULL, 0);
drivers/media/usb/gspca/touptek.c
567
gspca_dbg(gspca_dev, D_FRAM, "abort frame sz %u/%u w/ len %u\n\n",
drivers/media/usb/gspca/touptek.c
568
sd->this_f, gspca_dev->pixfmt.sizeimage, len);
drivers/media/usb/gspca/touptek.c
573
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/touptek.c
575
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/touptek.c
580
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
587
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/touptek.c
588
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/touptek.c
589
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/touptek.c
591
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/touptek.c
593
if (!gspca_dev->streaming)
drivers/media/usb/gspca/touptek.c
598
setexposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/touptek.c
602
setggain(gspca_dev, gspca_dev->gain->val);
drivers/media/usb/gspca/touptek.c
606
setbgain(gspca_dev, sd->blue->val, gspca_dev->gain->val);
drivers/media/usb/gspca/touptek.c
610
setrgain(gspca_dev, sd->red->val, gspca_dev->gain->val);
drivers/media/usb/gspca/touptek.c
613
return gspca_dev->usb_err;
drivers/media/usb/gspca/touptek.c
620
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/touptek.c
622
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/touptek.c
623
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/touptek.c
625
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/touptek.c
628
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/touptek.c
632
gspca_dev->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops,
drivers/media/usb/gspca/touptek.c
640
gspca_err(gspca_dev, "Could not initialize controls\n");
drivers/media/usb/gspca/tv8532.c
105
static void reg_w1(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/tv8532.c
108
gspca_dev->usb_buf[0] = value;
drivers/media/usb/gspca/tv8532.c
109
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/tv8532.c
110
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/tv8532.c
114
index, gspca_dev->usb_buf, 1, 500);
drivers/media/usb/gspca/tv8532.c
118
static void reg_w2(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/tv8532.c
121
gspca_dev->usb_buf[0] = value;
drivers/media/usb/gspca/tv8532.c
122
gspca_dev->usb_buf[1] = value >> 8;
drivers/media/usb/gspca/tv8532.c
123
usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/tv8532.c
124
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/tv8532.c
128
index, gspca_dev->usb_buf, 2, 500);
drivers/media/usb/gspca/tv8532.c
131
static void tv_8532WriteEEprom(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
135
reg_w1(gspca_dev, R01_TIMING_CONTROL_LOW, CMD_EEprom_Open);
drivers/media/usb/gspca/tv8532.c
137
reg_w1(gspca_dev, R03_TABLE_ADDR, i);
drivers/media/usb/gspca/tv8532.c
138
reg_w1(gspca_dev, R04_WTRAM_DATA_L, eeprom_data[i][2]);
drivers/media/usb/gspca/tv8532.c
139
reg_w1(gspca_dev, R05_WTRAM_DATA_M, eeprom_data[i][1]);
drivers/media/usb/gspca/tv8532.c
140
reg_w1(gspca_dev, R06_WTRAM_DATA_H, eeprom_data[i][0]);
drivers/media/usb/gspca/tv8532.c
141
reg_w1(gspca_dev, R08_RAM_WRITE_ACTION, 0);
drivers/media/usb/gspca/tv8532.c
143
reg_w1(gspca_dev, R07_TABLE_LEN, i);
drivers/media/usb/gspca/tv8532.c
144
reg_w1(gspca_dev, R01_TIMING_CONTROL_LOW, CMD_EEprom_Close);
drivers/media/usb/gspca/tv8532.c
148
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/tv8532.c
153
cam = &gspca_dev->cam;
drivers/media/usb/gspca/tv8532.c
160
static void tv_8532_setReg(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
162
reg_w1(gspca_dev, R3B_Test3, 0x0a); /* Test0Sel = 10 */
drivers/media/usb/gspca/tv8532.c
164
reg_w1(gspca_dev, R0E_AD_HEIGHTL, 0x90);
drivers/media/usb/gspca/tv8532.c
165
reg_w1(gspca_dev, R0F_AD_HEIGHTH, 0x01);
drivers/media/usb/gspca/tv8532.c
166
reg_w2(gspca_dev, R1C_AD_EXPOSE_TIMEL, 0x018f);
drivers/media/usb/gspca/tv8532.c
167
reg_w1(gspca_dev, R10_AD_COL_BEGINL, 0x44);
drivers/media/usb/gspca/tv8532.c
169
reg_w1(gspca_dev, R11_AD_COL_BEGINH, 0x00);
drivers/media/usb/gspca/tv8532.c
17
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/tv8532.c
171
reg_w1(gspca_dev, R14_AD_ROW_BEGINL, 0x0a);
drivers/media/usb/gspca/tv8532.c
173
reg_w1(gspca_dev, R94_AD_BITCONTROL, 0x02);
drivers/media/usb/gspca/tv8532.c
174
reg_w1(gspca_dev, R91_AD_SLOPEREG, 0x00);
drivers/media/usb/gspca/tv8532.c
175
reg_w1(gspca_dev, R00_PART_CONTROL, LATENT_CHANGE | EXPO_CHANGE);
drivers/media/usb/gspca/tv8532.c
180
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
182
tv_8532WriteEEprom(gspca_dev);
drivers/media/usb/gspca/tv8532.c
187
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/tv8532.c
189
reg_w2(gspca_dev, R1C_AD_EXPOSE_TIMEL, val);
drivers/media/usb/gspca/tv8532.c
190
reg_w1(gspca_dev, R00_PART_CONTROL, LATENT_CHANGE | EXPO_CHANGE);
drivers/media/usb/gspca/tv8532.c
194
static void setgain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/tv8532.c
196
reg_w2(gspca_dev, R20_GAIN_G1L, val);
drivers/media/usb/gspca/tv8532.c
197
reg_w2(gspca_dev, R22_GAIN_RL, val);
drivers/media/usb/gspca/tv8532.c
198
reg_w2(gspca_dev, R24_GAIN_BL, val);
drivers/media/usb/gspca/tv8532.c
199
reg_w2(gspca_dev, R26_GAIN_G2L, val);
drivers/media/usb/gspca/tv8532.c
203
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
205
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/tv8532.c
207
reg_w1(gspca_dev, R0C_AD_WIDTHL, 0xe8); /* 0x20; 0x0c */
drivers/media/usb/gspca/tv8532.c
208
reg_w1(gspca_dev, R0D_AD_WIDTHH, 0x03);
drivers/media/usb/gspca/tv8532.c
211
reg_w1(gspca_dev, R28_QUANT, 0x90);
drivers/media/usb/gspca/tv8532.c
213
if (gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv) {
drivers/media/usb/gspca/tv8532.c
215
reg_w1(gspca_dev, R29_LINE, 0x41);
drivers/media/usb/gspca/tv8532.c
219
reg_w1(gspca_dev, R29_LINE, 0x81);
drivers/media/usb/gspca/tv8532.c
223
reg_w1(gspca_dev, R2C_POLARITY, 0x10); /* slow clock */
drivers/media/usb/gspca/tv8532.c
224
reg_w1(gspca_dev, R2D_POINT, 0x14);
drivers/media/usb/gspca/tv8532.c
225
reg_w1(gspca_dev, R2E_POINTH, 0x01);
drivers/media/usb/gspca/tv8532.c
226
reg_w1(gspca_dev, R2F_POINTB, 0x12);
drivers/media/usb/gspca/tv8532.c
227
reg_w1(gspca_dev, R30_POINTBH, 0x01);
drivers/media/usb/gspca/tv8532.c
229
tv_8532_setReg(gspca_dev);
drivers/media/usb/gspca/tv8532.c
232
reg_w1(gspca_dev, R31_UPD, 0x01); /* update registers */
drivers/media/usb/gspca/tv8532.c
234
reg_w1(gspca_dev, R31_UPD, 0x00); /* end update */
drivers/media/usb/gspca/tv8532.c
236
gspca_dev->empty_packet = 0; /* check the empty packets */
drivers/media/usb/gspca/tv8532.c
242
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
244
reg_w1(gspca_dev, R3B_Test3, 0x0b); /* Test0Sel = 11 = GPIO */
drivers/media/usb/gspca/tv8532.c
247
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/tv8532.c
251
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/tv8532.c
255
if (gspca_dev->empty_packet) {
drivers/media/usb/gspca/tv8532.c
256
gspca_dev->empty_packet = 0;
drivers/media/usb/gspca/tv8532.c
257
sd->packet = gspca_dev->pixfmt.height / 2;
drivers/media/usb/gspca/tv8532.c
272
gspca_frame_add(gspca_dev, packet_type0,
drivers/media/usb/gspca/tv8532.c
273
data + 2, gspca_dev->pixfmt.width);
drivers/media/usb/gspca/tv8532.c
274
gspca_frame_add(gspca_dev, packet_type1,
drivers/media/usb/gspca/tv8532.c
275
data + gspca_dev->pixfmt.width + 5,
drivers/media/usb/gspca/tv8532.c
276
gspca_dev->pixfmt.width);
drivers/media/usb/gspca/tv8532.c
281
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/tv8532.c
282
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/tv8532.c
284
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/tv8532.c
286
if (!gspca_dev->streaming)
drivers/media/usb/gspca/tv8532.c
291
setexposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/tv8532.c
294
setgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/tv8532.c
297
return gspca_dev->usb_err;
drivers/media/usb/gspca/tv8532.c
304
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/tv8532.c
306
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/tv8532.c
308
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/vc032x.c
22
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/vc032x.c
2890
static void reg_r_i(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
2897
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/vc032x.c
2899
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/vc032x.c
2900
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/vc032x.c
2904
index, gspca_dev->usb_buf, len,
drivers/media/usb/gspca/vc032x.c
2908
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/vc032x.c
2913
memset(gspca_dev->usb_buf, 0, USB_BUF_SZ);
drivers/media/usb/gspca/vc032x.c
2916
static void reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
2921
reg_r_i(gspca_dev, req, index, len);
drivers/media/usb/gspca/vc032x.c
2922
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/vc032x.c
2925
gspca_dbg(gspca_dev, D_USBI, "GET %02x 0001 %04x %02x\n",
drivers/media/usb/gspca/vc032x.c
2927
gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/vc032x.c
2929
gspca_dbg(gspca_dev, D_USBI, "GET %02x 0001 %04x %*ph\n",
drivers/media/usb/gspca/vc032x.c
2930
req, index, 3, gspca_dev->usb_buf);
drivers/media/usb/gspca/vc032x.c
2933
static void reg_w_i(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
2940
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/vc032x.c
2942
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/vc032x.c
2943
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/vc032x.c
2950
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/vc032x.c
2953
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
2958
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/vc032x.c
2960
gspca_dbg(gspca_dev, D_USBO, "SET %02x %04x %04x\n", req, value, index);
drivers/media/usb/gspca/vc032x.c
2961
reg_w_i(gspca_dev, req, value, index);
drivers/media/usb/gspca/vc032x.c
2964
static u16 read_sensor_register(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
2970
reg_r(gspca_dev, 0xa1, 0xb33f, 1);
drivers/media/usb/gspca/vc032x.c
2971
if (!(gspca_dev->usb_buf[0] & 0x02)) {
drivers/media/usb/gspca/vc032x.c
2972
pr_err("I2c Bus Busy Wait %02x\n", gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/vc032x.c
2975
reg_w(gspca_dev, 0xa0, address, 0xb33a);
drivers/media/usb/gspca/vc032x.c
2976
reg_w(gspca_dev, 0xa0, 0x02, 0xb339);
drivers/media/usb/gspca/vc032x.c
2979
reg_r(gspca_dev, 0xa1, 0xb33b, 1);
drivers/media/usb/gspca/vc032x.c
2980
if (gspca_dev->usb_buf[0] == 0x00)
drivers/media/usb/gspca/vc032x.c
2985
reg_r(gspca_dev, 0xa1, 0xb33e, 1);
drivers/media/usb/gspca/vc032x.c
2986
ldata = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/vc032x.c
2987
reg_r(gspca_dev, 0xa1, 0xb33d, 1);
drivers/media/usb/gspca/vc032x.c
2988
mdata = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/vc032x.c
2989
reg_r(gspca_dev, 0xa1, 0xb33c, 1);
drivers/media/usb/gspca/vc032x.c
2990
hdata = gspca_dev->usb_buf[0];
drivers/media/usb/gspca/vc032x.c
2992
gspca_dbg(gspca_dev, D_PROBE, "Read Sensor %02x%02x %02x\n",
drivers/media/usb/gspca/vc032x.c
2994
reg_r(gspca_dev, 0xa1, 0xb334, 1);
drivers/media/usb/gspca/vc032x.c
2995
if (gspca_dev->usb_buf[0] == 0x02)
drivers/media/usb/gspca/vc032x.c
3000
static int vc032x_probe_sensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3002
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3009
reg_w(gspca_dev, 0xa0, 0x01, 0xb301);
drivers/media/usb/gspca/vc032x.c
3010
reg_w(gspca_dev, 0x89, 0xf0ff, 0xffff);
drivers/media/usb/gspca/vc032x.c
3014
reg_r(gspca_dev, 0xa1, 0xbfcf, 1);
drivers/media/usb/gspca/vc032x.c
3015
gspca_dbg(gspca_dev, D_PROBE, "vc032%d check sensor header %02x\n",
drivers/media/usb/gspca/vc032x.c
3016
sd->bridge == BRIDGE_VC0321 ? 1 : 3, gspca_dev->usb_buf[0]);
drivers/media/usb/gspca/vc032x.c
3025
reg_w(gspca_dev, 0xa0, 0x02, 0xb334);
drivers/media/usb/gspca/vc032x.c
3026
reg_w(gspca_dev, 0xa0, ptsensor_info->m1, 0xb300);
drivers/media/usb/gspca/vc032x.c
3027
reg_w(gspca_dev, 0xa0, ptsensor_info->m2, 0xb300);
drivers/media/usb/gspca/vc032x.c
3028
reg_w(gspca_dev, 0xa0, 0x01, 0xb308);
drivers/media/usb/gspca/vc032x.c
3029
reg_w(gspca_dev, 0xa0, 0x0c, 0xb309);
drivers/media/usb/gspca/vc032x.c
3030
reg_w(gspca_dev, 0xa0, ptsensor_info->I2cAdd, 0xb335);
drivers/media/usb/gspca/vc032x.c
3031
reg_w(gspca_dev, 0xa0, ptsensor_info->op, 0xb301);
drivers/media/usb/gspca/vc032x.c
3032
value = read_sensor_register(gspca_dev, ptsensor_info->IdAdd);
drivers/media/usb/gspca/vc032x.c
3034
value = read_sensor_register(gspca_dev, 0x83);
drivers/media/usb/gspca/vc032x.c
3036
gspca_dbg(gspca_dev, D_PROBE, "Sensor ID %04x (%d)\n",
drivers/media/usb/gspca/vc032x.c
3055
static void i2c_write(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
3061
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/vc032x.c
3064
gspca_dbg(gspca_dev, D_USBO, "i2c_w %02x %02x\n", reg, *val);
drivers/media/usb/gspca/vc032x.c
3066
gspca_dbg(gspca_dev, D_USBO, "i2c_w %02x %02x%02x\n",
drivers/media/usb/gspca/vc032x.c
3068
reg_r_i(gspca_dev, 0xa1, 0xb33f, 1);
drivers/media/usb/gspca/vc032x.c
3070
reg_w_i(gspca_dev, 0xa0, size, 0xb334);
drivers/media/usb/gspca/vc032x.c
3071
reg_w_i(gspca_dev, 0xa0, reg, 0xb33a);
drivers/media/usb/gspca/vc032x.c
3072
reg_w_i(gspca_dev, 0xa0, val[0], 0xb336);
drivers/media/usb/gspca/vc032x.c
3074
reg_w_i(gspca_dev, 0xa0, val[1], 0xb337);
drivers/media/usb/gspca/vc032x.c
3075
reg_w_i(gspca_dev, 0xa0, 0x01, 0xb339);
drivers/media/usb/gspca/vc032x.c
3078
reg_r_i(gspca_dev, 0xa1, 0xb33b, 1);
drivers/media/usb/gspca/vc032x.c
3079
if (gspca_dev->usb_buf[0] == 0)
drivers/media/usb/gspca/vc032x.c
3087
static void put_tab_to_reg(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
3094
reg_w(gspca_dev, 0xa0, tab[j], ad++);
drivers/media/usb/gspca/vc032x.c
3097
static void usb_exchange(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
3107
reg_w(gspca_dev, 0xa0, data[i][2],
drivers/media/usb/gspca/vc032x.c
3111
i2c_write(gspca_dev, data[i][1], &data[i][2], 1);
drivers/media/usb/gspca/vc032x.c
3114
i2c_write(gspca_dev, data[i][0], &data[i][1], 2);
drivers/media/usb/gspca/vc032x.c
3127
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
3130
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3143
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3145
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3163
sensor = vc032x_probe_sensor(gspca_dev);
drivers/media/usb/gspca/vc032x.c
3172
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor HV7131R\n");
drivers/media/usb/gspca/vc032x.c
3175
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor MI0360\n");
drivers/media/usb/gspca/vc032x.c
3179
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor MI1310_SOC\n");
drivers/media/usb/gspca/vc032x.c
3182
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor MI1320\n");
drivers/media/usb/gspca/vc032x.c
3185
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor MI1320_SOC\n");
drivers/media/usb/gspca/vc032x.c
3188
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor OV7660\n");
drivers/media/usb/gspca/vc032x.c
3191
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor OV7670\n");
drivers/media/usb/gspca/vc032x.c
3194
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor PO1200\n");
drivers/media/usb/gspca/vc032x.c
3197
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor PO3130NC\n");
drivers/media/usb/gspca/vc032x.c
3200
gspca_dbg(gspca_dev, D_PROBE, "Sensor POxxxx\n");
drivers/media/usb/gspca/vc032x.c
3205
cam = &gspca_dev->cam;
drivers/media/usb/gspca/vc032x.c
3239
reg_r(gspca_dev, 0x8a, 0, 3);
drivers/media/usb/gspca/vc032x.c
3240
reg_w(gspca_dev, 0x87, 0x00, 0x0f0f);
drivers/media/usb/gspca/vc032x.c
3241
reg_r(gspca_dev, 0x8b, 0, 3);
drivers/media/usb/gspca/vc032x.c
3242
reg_w(gspca_dev, 0x88, 0x00, 0x0202);
drivers/media/usb/gspca/vc032x.c
3244
reg_r(gspca_dev, 0xa1, 0xb300, 1);
drivers/media/usb/gspca/vc032x.c
3245
if (gspca_dev->usb_buf[0] != 0) {
drivers/media/usb/gspca/vc032x.c
3246
reg_w(gspca_dev, 0xa0, 0x26, 0xb300);
drivers/media/usb/gspca/vc032x.c
3247
reg_w(gspca_dev, 0xa0, 0x04, 0xb300);
drivers/media/usb/gspca/vc032x.c
3249
reg_w(gspca_dev, 0xa0, 0x00, 0xb300);
drivers/media/usb/gspca/vc032x.c
3252
return gspca_dev->usb_err;
drivers/media/usb/gspca/vc032x.c
3255
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3264
i2c_write(gspca_dev, 0x98, &data, 1);
drivers/media/usb/gspca/vc032x.c
3267
static void setcontrast(struct gspca_dev *gspca_dev, u8 val)
drivers/media/usb/gspca/vc032x.c
3269
i2c_write(gspca_dev, 0x99, &val, 1);
drivers/media/usb/gspca/vc032x.c
3272
static void setcolors(struct gspca_dev *gspca_dev, u8 val)
drivers/media/usb/gspca/vc032x.c
3277
i2c_write(gspca_dev, 0x94, &data, 1);
drivers/media/usb/gspca/vc032x.c
3278
i2c_write(gspca_dev, 0x95, &val, 1);
drivers/media/usb/gspca/vc032x.c
3281
static void sethvflip(struct gspca_dev *gspca_dev, bool hflip, bool vflip)
drivers/media/usb/gspca/vc032x.c
3283
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3295
i2c_write(gspca_dev, 0xf0, data, 2);
drivers/media/usb/gspca/vc032x.c
3299
i2c_write(gspca_dev, 0x20, data, 2);
drivers/media/usb/gspca/vc032x.c
3306
i2c_write(gspca_dev, OV7660_REG_MVFP, data, 1);
drivers/media/usb/gspca/vc032x.c
3310
i2c_write(gspca_dev, 0x03, data, 1);
drivers/media/usb/gspca/vc032x.c
3314
i2c_write(gspca_dev, 0x1e, data, 1);
drivers/media/usb/gspca/vc032x.c
3319
static void setlightfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3321
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3327
usb_exchange(gspca_dev, ov7660_freq_tb[val]);
drivers/media/usb/gspca/vc032x.c
3330
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3332
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3338
i2c_write(gspca_dev, 0x03, &data, 1);
drivers/media/usb/gspca/vc032x.c
3343
i2c_write(gspca_dev, 0x61, &data, 1);
drivers/media/usb/gspca/vc032x.c
3350
i2c_write(gspca_dev, 0x59, &data, 1);
drivers/media/usb/gspca/vc032x.c
3354
static void setgain(struct gspca_dev *gspca_dev, u8 val)
drivers/media/usb/gspca/vc032x.c
3356
i2c_write(gspca_dev, 0x15, &val, 1);
drivers/media/usb/gspca/vc032x.c
3359
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3364
i2c_write(gspca_dev, 0x1a, &data, 1);
drivers/media/usb/gspca/vc032x.c
3366
i2c_write(gspca_dev, 0x1b, &data, 1);
drivers/media/usb/gspca/vc032x.c
3369
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3373
i2c_write(gspca_dev, 0xd1, &data[val], 1);
drivers/media/usb/gspca/vc032x.c
3376
static void setgamma(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3379
usb_exchange(gspca_dev, poxxxx_gamma);
drivers/media/usb/gspca/vc032x.c
3382
static void setbacklight(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/vc032x.c
3388
i2c_write(gspca_dev, 0xaa, &data, 1);
drivers/media/usb/gspca/vc032x.c
3391
i2c_write(gspca_dev, 0xc4, &data, 1);
drivers/media/usb/gspca/vc032x.c
3393
i2c_write(gspca_dev, 0xc5, &data, 1);
drivers/media/usb/gspca/vc032x.c
3396
i2c_write(gspca_dev, 0xc6, &data, 1);
drivers/media/usb/gspca/vc032x.c
3398
i2c_write(gspca_dev, 0xc7, &data, 1);
drivers/media/usb/gspca/vc032x.c
3401
i2c_write(gspca_dev, 0xc8, &data, 1);
drivers/media/usb/gspca/vc032x.c
3403
i2c_write(gspca_dev, 0xc9, &data, 1);
drivers/media/usb/gspca/vc032x.c
3406
i2c_write(gspca_dev, 0xca, &data, 1);
drivers/media/usb/gspca/vc032x.c
3408
i2c_write(gspca_dev, 0xcb, &data, 1);
drivers/media/usb/gspca/vc032x.c
3411
static void setwb(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3416
i2c_write(gspca_dev, 0x16, &data[0], 1);
drivers/media/usb/gspca/vc032x.c
3417
i2c_write(gspca_dev, 0x18, &data[1], 1);
drivers/media/usb/gspca/vc032x.c
3420
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3422
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3435
reg_w(gspca_dev, 0x89, 0xf0ff, 0xffff);
drivers/media/usb/gspca/vc032x.c
3436
reg_w(gspca_dev, 0xa9, 0x8348, 0x000e);
drivers/media/usb/gspca/vc032x.c
3437
reg_w(gspca_dev, 0xa9, 0x0000, 0x001a);
drivers/media/usb/gspca/vc032x.c
3442
reg_w(gspca_dev, 0xa0, 0xff, 0xbfec);
drivers/media/usb/gspca/vc032x.c
3443
reg_w(gspca_dev, 0xa0, 0xff, 0xbfed);
drivers/media/usb/gspca/vc032x.c
3444
reg_w(gspca_dev, 0xa0, 0xff, 0xbfee);
drivers/media/usb/gspca/vc032x.c
3445
reg_w(gspca_dev, 0xa0, 0xff, 0xbfef);
drivers/media/usb/gspca/vc032x.c
3448
if (gspca_dev->cam.cam_mode[gspca_dev->curr_mode].pixelformat
drivers/media/usb/gspca/vc032x.c
3455
mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/vc032x.c
3519
usb_exchange(gspca_dev, init);
drivers/media/usb/gspca/vc032x.c
3529
usb_exchange(gspca_dev, poxxxx_init_common);
drivers/media/usb/gspca/vc032x.c
3530
setgamma(gspca_dev);
drivers/media/usb/gspca/vc032x.c
3531
usb_exchange(gspca_dev, poxxxx_init_start_3);
drivers/media/usb/gspca/vc032x.c
3536
usb_exchange(gspca_dev, init);
drivers/media/usb/gspca/vc032x.c
3537
reg_r(gspca_dev, 0x8c, 0x0000, 3);
drivers/media/usb/gspca/vc032x.c
3538
reg_w(gspca_dev, 0xa0,
drivers/media/usb/gspca/vc032x.c
3539
gspca_dev->usb_buf[2] & 1 ? 0 : 1,
drivers/media/usb/gspca/vc032x.c
3546
usb_exchange(gspca_dev, init);
drivers/media/usb/gspca/vc032x.c
3548
put_tab_to_reg(gspca_dev, GammaT, 17, 0xb84a);
drivers/media/usb/gspca/vc032x.c
3549
put_tab_to_reg(gspca_dev, GammaT, 17, 0xb85b);
drivers/media/usb/gspca/vc032x.c
3550
put_tab_to_reg(gspca_dev, GammaT, 17, 0xb86c);
drivers/media/usb/gspca/vc032x.c
3551
put_tab_to_reg(gspca_dev, MatrixT, 9, 0xb82c);
drivers/media/usb/gspca/vc032x.c
3556
reg_w(gspca_dev, 0x89, 0x0400, 0x1415);
drivers/media/usb/gspca/vc032x.c
3559
reg_w(gspca_dev, 0x89, 0x058c, 0x0000);
drivers/media/usb/gspca/vc032x.c
3566
reg_w(gspca_dev, 0x87, 0xffff, 0xffff);
drivers/media/usb/gspca/vc032x.c
3567
reg_w(gspca_dev, 0x88, 0xff00, 0xf0f1);
drivers/media/usb/gspca/vc032x.c
3568
reg_w(gspca_dev, 0xa0, 0x0000, 0xbfff);
drivers/media/usb/gspca/vc032x.c
3571
usb_exchange(gspca_dev, poxxxx_init_end_2);
drivers/media/usb/gspca/vc032x.c
3572
setwb(gspca_dev);
drivers/media/usb/gspca/vc032x.c
3574
reg_w(gspca_dev, 0x89, 0xffff, 0xfdff);
drivers/media/usb/gspca/vc032x.c
3577
return gspca_dev->usb_err;
drivers/media/usb/gspca/vc032x.c
3580
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3582
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3586
reg_w(gspca_dev, 0x89, 0x058c, 0x00ff);
drivers/media/usb/gspca/vc032x.c
3592
reg_w(gspca_dev, 0x89, 0xffff, 0xffff);
drivers/media/usb/gspca/vc032x.c
3595
reg_w(gspca_dev, 0xa0, 0x01, 0xb301);
drivers/media/usb/gspca/vc032x.c
3596
reg_w(gspca_dev, 0xa0, 0x09, 0xb003);
drivers/media/usb/gspca/vc032x.c
3600
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3602
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3604
if (!gspca_dev->present)
drivers/media/usb/gspca/vc032x.c
3608
reg_w(gspca_dev, 0x89, 0x058c, 0x00ff);
drivers/media/usb/gspca/vc032x.c
3610
reg_w(gspca_dev, 0x89, 0xffff, 0xffff);
drivers/media/usb/gspca/vc032x.c
3613
reg_w(gspca_dev, 0xa0, 0x26, 0xb300);
drivers/media/usb/gspca/vc032x.c
3614
reg_w(gspca_dev, 0xa0, 0x04, 0xb300);
drivers/media/usb/gspca/vc032x.c
3615
reg_w(gspca_dev, 0xa0, 0x00, 0xb300);
drivers/media/usb/gspca/vc032x.c
3619
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vc032x.c
3623
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/vc032x.c
3626
gspca_dbg(gspca_dev, D_PACK,
drivers/media/usb/gspca/vc032x.c
3628
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/vc032x.c
3631
gspca_frame_add(gspca_dev, FIRST_PACKET, data, len);
drivers/media/usb/gspca/vc032x.c
3640
l = gspca_dev->image_len;
drivers/media/usb/gspca/vc032x.c
3641
size = gspca_dev->pixfmt.sizeimage;
drivers/media/usb/gspca/vc032x.c
3645
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/vc032x.c
3650
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/vc032x.c
3651
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/vc032x.c
3652
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/vc032x.c
3654
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/vc032x.c
3656
if (!gspca_dev->streaming && ctrl->id != V4L2_CID_POWER_LINE_FREQUENCY)
drivers/media/usb/gspca/vc032x.c
3661
setbrightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3664
setcontrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3667
setcolors(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3670
sethvflip(gspca_dev, sd->hflip->val, sd->vflip->val);
drivers/media/usb/gspca/vc032x.c
3673
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3676
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3679
setgain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3682
setexposure(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3685
setbacklight(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3688
setlightfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/vc032x.c
3691
return gspca_dev->usb_err;
drivers/media/usb/gspca/vc032x.c
3698
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vc032x.c
3700
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/vc032x.c
3701
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/vc032x.c
3737
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/vicam.c
101
static int vicam_read_frame(struct gspca_dev *gspca_dev, u8 *data, int size)
drivers/media/usb/gspca/vicam.c
104
u8 *req_data = gspca_dev->usb_buf;
drivers/media/usb/gspca/vicam.c
105
s32 expo = v4l2_ctrl_g_ctrl(gspca_dev->exposure);
drivers/media/usb/gspca/vicam.c
106
s32 gain = v4l2_ctrl_g_ctrl(gspca_dev->gain);
drivers/media/usb/gspca/vicam.c
110
if (gspca_dev->pixfmt.width == 256)
drivers/media/usb/gspca/vicam.c
112
if (gspca_dev->pixfmt.height <= 122) {
drivers/media/usb/gspca/vicam.c
114
unscaled_height = gspca_dev->pixfmt.height * 2;
drivers/media/usb/gspca/vicam.c
116
unscaled_height = gspca_dev->pixfmt.height;
drivers/media/usb/gspca/vicam.c
141
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/vicam.c
142
ret = vicam_control_msg(gspca_dev, 0x51, 0x80, 0, req_data, 16);
drivers/media/usb/gspca/vicam.c
143
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/vicam.c
147
ret = usb_bulk_msg(gspca_dev->dev,
drivers/media/usb/gspca/vicam.c
148
usb_rcvbulkpipe(gspca_dev->dev, 0x81),
drivers/media/usb/gspca/vicam.c
170
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/vicam.c
174
frame_sz = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].sizeimage +
drivers/media/usb/gspca/vicam.c
182
while (gspca_dev->present && gspca_dev->streaming) {
drivers/media/usb/gspca/vicam.c
184
if (gspca_dev->frozen)
drivers/media/usb/gspca/vicam.c
187
ret = vicam_read_frame(gspca_dev, buffer, frame_sz);
drivers/media/usb/gspca/vicam.c
196
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/vicam.c
199
gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0);
drivers/media/usb/gspca/vicam.c
206
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/vicam.c
209
struct cam *cam = &gspca_dev->cam;
drivers/media/usb/gspca/vicam.c
210
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/vicam.c
224
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vicam.c
233
&gspca_dev->dev->dev);
drivers/media/usb/gspca/vicam.c
251
ret = vicam_control_msg(gspca_dev, 0xff, 0, 0, firmware_buf,
drivers/media/usb/gspca/vicam.c
264
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vicam.c
266
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/vicam.c
269
ret = vicam_set_camera_power(gspca_dev, 1);
drivers/media/usb/gspca/vicam.c
280
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vicam.c
282
struct sd *dev = (struct sd *)gspca_dev;
drivers/media/usb/gspca/vicam.c
285
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/vicam.c
288
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/vicam.c
290
if (gspca_dev->present)
drivers/media/usb/gspca/vicam.c
291
vicam_set_camera_power(gspca_dev, 0);
drivers/media/usb/gspca/vicam.c
294
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/vicam.c
296
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/vicam.c
298
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/vicam.c
300
gspca_dev->exposure = v4l2_ctrl_new_std(hdl, NULL,
drivers/media/usb/gspca/vicam.c
302
gspca_dev->gain = v4l2_ctrl_new_std(hdl, NULL,
drivers/media/usb/gspca/vicam.c
35
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/vicam.c
68
static int vicam_control_msg(struct gspca_dev *gspca_dev, u8 request,
drivers/media/usb/gspca/vicam.c
73
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/vicam.c
74
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/vicam.c
84
static int vicam_set_camera_power(struct gspca_dev *gspca_dev, int state)
drivers/media/usb/gspca/vicam.c
88
ret = vicam_control_msg(gspca_dev, 0x50, state, 0, NULL, 0);
drivers/media/usb/gspca/vicam.c
93
ret = vicam_control_msg(gspca_dev, 0x55, 1, 0, NULL, 0);
drivers/media/usb/gspca/w996Xcf.c
104
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/w996Xcf.c
116
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/w996Xcf.c
124
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/w996Xcf.c
125
usb_rcvctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/w996Xcf.c
128
0, 0x01, sd->gspca_dev.usb_buf, 2, 500);
drivers/media/usb/gspca/w996Xcf.c
130
ret = sd->gspca_dev.usb_buf[0] |
drivers/media/usb/gspca/w996Xcf.c
131
(sd->gspca_dev.usb_buf[1] << 8);
drivers/media/usb/gspca/w996Xcf.c
134
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/w996Xcf.c
139
memset(sd->gspca_dev.usb_buf, 0, 2);
drivers/media/usb/gspca/w996Xcf.c
233
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/w996Xcf.c
242
gspca_dbg(gspca_dev, D_USBI, "Did not receive i2c ACK\n");
drivers/media/usb/gspca/w996Xcf.c
243
sd->gspca_dev.usb_err = -EIO;
drivers/media/usb/gspca/w996Xcf.c
250
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/w996Xcf.c
251
u16* data = (u16 *)sd->gspca_dev.usb_buf;
drivers/media/usb/gspca/w996Xcf.c
294
gspca_dbg(gspca_dev, D_USBO, "i2c 0x%02x -> [0x%02x]\n", value, reg);
drivers/media/usb/gspca/w996Xcf.c
300
struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
drivers/media/usb/gspca/w996Xcf.c
326
if (sd->gspca_dev.usb_err >= 0) {
drivers/media/usb/gspca/w996Xcf.c
328
gspca_dbg(gspca_dev, D_USBI, "i2c [0x%02X] -> 0x%02X\n",
drivers/media/usb/gspca/w996Xcf.c
331
gspca_err(gspca_dev, "i2c read [0x%02x] failed\n", reg);
drivers/media/usb/gspca/w996Xcf.c
432
fw = SC(sd->gspca_dev.pixfmt.width) / max_width;
drivers/media/usb/gspca/w996Xcf.c
433
fh = SC(sd->gspca_dev.pixfmt.height) / max_height;
drivers/media/usb/gspca/w996Xcf.c
435
cw = (fw >= fh) ? max_width : SC(sd->gspca_dev.pixfmt.width) / fh;
drivers/media/usb/gspca/w996Xcf.c
436
ch = (fw >= fh) ? SC(sd->gspca_dev.pixfmt.height) / fw : max_height;
drivers/media/usb/gspca/w996Xcf.c
456
reg_w(sd, 0x14, sd->gspca_dev.pixfmt.width);
drivers/media/usb/gspca/w996Xcf.c
457
reg_w(sd, 0x15, sd->gspca_dev.pixfmt.height);
drivers/media/usb/gspca/w996Xcf.c
460
reg_w(sd, 0x30, sd->gspca_dev.pixfmt.width);
drivers/media/usb/gspca/w996Xcf.c
461
reg_w(sd, 0x31, sd->gspca_dev.pixfmt.height);
drivers/media/usb/gspca/w996Xcf.c
464
if (w9968cf_vga_mode[sd->gspca_dev.curr_mode].pixelformat ==
drivers/media/usb/gspca/w996Xcf.c
466
reg_w(sd, 0x2c, sd->gspca_dev.pixfmt.width / 2);
drivers/media/usb/gspca/w996Xcf.c
467
reg_w(sd, 0x2d, sd->gspca_dev.pixfmt.width / 4);
drivers/media/usb/gspca/w996Xcf.c
469
reg_w(sd, 0x2c, sd->gspca_dev.pixfmt.width);
drivers/media/usb/gspca/w996Xcf.c
475
val = sd->gspca_dev.pixfmt.width * sd->gspca_dev.pixfmt.height;
drivers/media/usb/gspca/w996Xcf.c
479
if (w9968cf_vga_mode[sd->gspca_dev.curr_mode].pixelformat ==
drivers/media/usb/gspca/w996Xcf.c
482
jpeg_define(sd->jpeg_hdr, sd->gspca_dev.pixfmt.height,
drivers/media/usb/gspca/w996Xcf.c
483
sd->gspca_dev.pixfmt.width, 0x22); /* JPEG 420 */
drivers/media/usb/gspca/w996Xcf.c
505
if (w9968cf_vga_mode[sd->gspca_dev.curr_mode].pixelformat ==
drivers/media/usb/gspca/w996Xcf.c
520
sd->gspca_dev.empty_packet = 0;
drivers/media/usb/gspca/w996Xcf.c
538
static void w9968cf_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/w996Xcf.c
542
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/w996Xcf.c
544
if (w9968cf_vga_mode[gspca_dev->curr_mode].pixelformat ==
drivers/media/usb/gspca/w996Xcf.c
549
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/w996Xcf.c
551
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/w996Xcf.c
560
if (gspca_dev->empty_packet) {
drivers/media/usb/gspca/w996Xcf.c
561
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/w996Xcf.c
563
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/w996Xcf.c
565
gspca_dev->empty_packet = 0;
drivers/media/usb/gspca/w996Xcf.c
568
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/w996Xcf.c
57
struct usb_device *udev = sd->gspca_dev.dev;
drivers/media/usb/gspca/w996Xcf.c
61
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/w996Xcf.c
65
memcpy(sd->gspca_dev.usb_buf, data, 6);
drivers/media/usb/gspca/w996Xcf.c
71
value, 0x06, sd->gspca_dev.usb_buf, 6, 500);
drivers/media/usb/gspca/w996Xcf.c
74
sd->gspca_dev.usb_err = ret;
drivers/media/usb/gspca/w996Xcf.c
86
if (sd->gspca_dev.usb_err < 0)
drivers/media/usb/gspca/w996Xcf.c
94
ret = usb_control_msg(sd->gspca_dev.dev,
drivers/media/usb/gspca/w996Xcf.c
95
usb_sndctrlpipe(sd->gspca_dev.dev, 0),
drivers/media/usb/gspca/xirlink_cit.c
1000
cit_model3_Packet1(gspca_dev, 0x0049, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1001
cit_model3_Packet1(gspca_dev, 0x004a, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
1002
cit_model3_Packet1(gspca_dev, 0x004b, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
1003
cit_model3_Packet1(gspca_dev, 0x004c, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
1004
cit_model3_Packet1(gspca_dev, 0x004f, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1005
cit_model3_Packet1(gspca_dev, 0x0050, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1006
cit_model3_Packet1(gspca_dev, 0x0051, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1007
cit_model3_Packet1(gspca_dev, 0x0055, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1008
cit_model3_Packet1(gspca_dev, 0x0056, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1009
cit_model3_Packet1(gspca_dev, 0x0057, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1010
cit_model3_Packet1(gspca_dev, 0x0058, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1011
cit_model3_Packet1(gspca_dev, 0x0059, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1012
cit_model3_Packet1(gspca_dev, 0x005c, 0x0016);
drivers/media/usb/gspca/xirlink_cit.c
1013
cit_model3_Packet1(gspca_dev, 0x005d, 0x0022);
drivers/media/usb/gspca/xirlink_cit.c
1014
cit_model3_Packet1(gspca_dev, 0x005e, 0x003c);
drivers/media/usb/gspca/xirlink_cit.c
1015
cit_model3_Packet1(gspca_dev, 0x005f, 0x0050);
drivers/media/usb/gspca/xirlink_cit.c
1016
cit_model3_Packet1(gspca_dev, 0x0060, 0x0044);
drivers/media/usb/gspca/xirlink_cit.c
1017
cit_model3_Packet1(gspca_dev, 0x0061, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
1018
cit_model3_Packet1(gspca_dev, 0x006a, 0x007e);
drivers/media/usb/gspca/xirlink_cit.c
1019
cit_model3_Packet1(gspca_dev, 0x006f, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1020
cit_model3_Packet1(gspca_dev, 0x0072, 0x001b);
drivers/media/usb/gspca/xirlink_cit.c
1021
cit_model3_Packet1(gspca_dev, 0x0073, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
1022
cit_model3_Packet1(gspca_dev, 0x0074, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1023
cit_model3_Packet1(gspca_dev, 0x0075, 0x001b);
drivers/media/usb/gspca/xirlink_cit.c
1024
cit_model3_Packet1(gspca_dev, 0x0076, 0x002a);
drivers/media/usb/gspca/xirlink_cit.c
1025
cit_model3_Packet1(gspca_dev, 0x0077, 0x003c);
drivers/media/usb/gspca/xirlink_cit.c
1026
cit_model3_Packet1(gspca_dev, 0x0078, 0x0050);
drivers/media/usb/gspca/xirlink_cit.c
1027
cit_model3_Packet1(gspca_dev, 0x007b, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1028
cit_model3_Packet1(gspca_dev, 0x007c, 0x0011);
drivers/media/usb/gspca/xirlink_cit.c
1029
cit_model3_Packet1(gspca_dev, 0x007d, 0x0024);
drivers/media/usb/gspca/xirlink_cit.c
1030
cit_model3_Packet1(gspca_dev, 0x007e, 0x0043);
drivers/media/usb/gspca/xirlink_cit.c
1031
cit_model3_Packet1(gspca_dev, 0x007f, 0x005a);
drivers/media/usb/gspca/xirlink_cit.c
1032
cit_model3_Packet1(gspca_dev, 0x0084, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1033
cit_model3_Packet1(gspca_dev, 0x0085, 0x0033);
drivers/media/usb/gspca/xirlink_cit.c
1034
cit_model3_Packet1(gspca_dev, 0x0086, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1035
cit_model3_Packet1(gspca_dev, 0x0087, 0x0030);
drivers/media/usb/gspca/xirlink_cit.c
1036
cit_model3_Packet1(gspca_dev, 0x0088, 0x0070);
drivers/media/usb/gspca/xirlink_cit.c
1037
cit_model3_Packet1(gspca_dev, 0x008b, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
1038
cit_model3_Packet1(gspca_dev, 0x008f, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1039
cit_model3_Packet1(gspca_dev, 0x0090, 0x0006);
drivers/media/usb/gspca/xirlink_cit.c
1040
cit_model3_Packet1(gspca_dev, 0x0091, 0x0028);
drivers/media/usb/gspca/xirlink_cit.c
1041
cit_model3_Packet1(gspca_dev, 0x0092, 0x005a);
drivers/media/usb/gspca/xirlink_cit.c
1042
cit_model3_Packet1(gspca_dev, 0x0093, 0x0082);
drivers/media/usb/gspca/xirlink_cit.c
1043
cit_model3_Packet1(gspca_dev, 0x0096, 0x0014);
drivers/media/usb/gspca/xirlink_cit.c
1044
cit_model3_Packet1(gspca_dev, 0x0097, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1045
cit_model3_Packet1(gspca_dev, 0x0098, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1046
cit_model3_Packet1(gspca_dev, 0x00b0, 0x0046);
drivers/media/usb/gspca/xirlink_cit.c
1047
cit_model3_Packet1(gspca_dev, 0x00b1, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1048
cit_model3_Packet1(gspca_dev, 0x00b2, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1049
cit_model3_Packet1(gspca_dev, 0x00b3, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1050
cit_model3_Packet1(gspca_dev, 0x00b4, 0x0007);
drivers/media/usb/gspca/xirlink_cit.c
1051
cit_model3_Packet1(gspca_dev, 0x00b6, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1052
cit_model3_Packet1(gspca_dev, 0x00b7, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1053
cit_model3_Packet1(gspca_dev, 0x00bb, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1054
cit_model3_Packet1(gspca_dev, 0x00bc, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1055
cit_model3_Packet1(gspca_dev, 0x00bd, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1056
cit_model3_Packet1(gspca_dev, 0x00bf, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1057
cit_model3_Packet1(gspca_dev, 0x00c0, 0x00c8);
drivers/media/usb/gspca/xirlink_cit.c
1058
cit_model3_Packet1(gspca_dev, 0x00c1, 0x0014);
drivers/media/usb/gspca/xirlink_cit.c
1059
cit_model3_Packet1(gspca_dev, 0x00c2, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1060
cit_model3_Packet1(gspca_dev, 0x00c3, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1061
cit_model3_Packet1(gspca_dev, 0x00c4, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1062
cit_model3_Packet1(gspca_dev, 0x00cb, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1063
cit_model3_Packet1(gspca_dev, 0x00cc, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1064
cit_model3_Packet1(gspca_dev, 0x00cd, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1065
cit_model3_Packet1(gspca_dev, 0x00ce, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1066
cit_model3_Packet1(gspca_dev, 0x00cf, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1067
cit_model3_Packet1(gspca_dev, 0x00d0, 0x0040);
drivers/media/usb/gspca/xirlink_cit.c
1068
cit_model3_Packet1(gspca_dev, 0x00d1, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1069
cit_model3_Packet1(gspca_dev, 0x00d1, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1070
cit_model3_Packet1(gspca_dev, 0x00d2, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1071
cit_model3_Packet1(gspca_dev, 0x00d3, 0x00bf);
drivers/media/usb/gspca/xirlink_cit.c
1072
cit_model3_Packet1(gspca_dev, 0x00ea, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
1073
cit_model3_Packet1(gspca_dev, 0x00eb, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1074
cit_model3_Packet1(gspca_dev, 0x00ec, 0x00e8);
drivers/media/usb/gspca/xirlink_cit.c
1075
cit_model3_Packet1(gspca_dev, 0x00ed, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1076
cit_model3_Packet1(gspca_dev, 0x00ef, 0x0022);
drivers/media/usb/gspca/xirlink_cit.c
1077
cit_model3_Packet1(gspca_dev, 0x00f0, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1078
cit_model3_Packet1(gspca_dev, 0x00f2, 0x0028);
drivers/media/usb/gspca/xirlink_cit.c
1079
cit_model3_Packet1(gspca_dev, 0x00f4, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1080
cit_model3_Packet1(gspca_dev, 0x00f5, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1081
cit_model3_Packet1(gspca_dev, 0x00fa, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1082
cit_model3_Packet1(gspca_dev, 0x00fb, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1083
cit_model3_Packet1(gspca_dev, 0x00fc, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1084
cit_model3_Packet1(gspca_dev, 0x00fd, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1085
cit_model3_Packet1(gspca_dev, 0x00fe, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1086
cit_model3_Packet1(gspca_dev, 0x00ff, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1088
cit_model3_Packet1(gspca_dev, 0x00be, 0x0003);
drivers/media/usb/gspca/xirlink_cit.c
1089
cit_model3_Packet1(gspca_dev, 0x00c8, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1090
cit_model3_Packet1(gspca_dev, 0x00c9, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1091
cit_model3_Packet1(gspca_dev, 0x00ca, 0x0040);
drivers/media/usb/gspca/xirlink_cit.c
1092
cit_model3_Packet1(gspca_dev, 0x0053, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1093
cit_model3_Packet1(gspca_dev, 0x0082, 0x000e);
drivers/media/usb/gspca/xirlink_cit.c
1094
cit_model3_Packet1(gspca_dev, 0x0083, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1095
cit_model3_Packet1(gspca_dev, 0x0034, 0x003c);
drivers/media/usb/gspca/xirlink_cit.c
1096
cit_model3_Packet1(gspca_dev, 0x006e, 0x0055);
drivers/media/usb/gspca/xirlink_cit.c
1097
cit_model3_Packet1(gspca_dev, 0x0062, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
1098
cit_model3_Packet1(gspca_dev, 0x0063, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
1099
cit_model3_Packet1(gspca_dev, 0x0066, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1100
cit_model3_Packet1(gspca_dev, 0x0067, 0x0006);
drivers/media/usb/gspca/xirlink_cit.c
1101
cit_model3_Packet1(gspca_dev, 0x006b, 0x0010);
drivers/media/usb/gspca/xirlink_cit.c
1102
cit_model3_Packet1(gspca_dev, 0x005a, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1103
cit_model3_Packet1(gspca_dev, 0x005b, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1104
cit_model3_Packet1(gspca_dev, 0x0023, 0x0006);
drivers/media/usb/gspca/xirlink_cit.c
1105
cit_model3_Packet1(gspca_dev, 0x0026, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1106
cit_model3_Packet1(gspca_dev, 0x0036, 0x0069);
drivers/media/usb/gspca/xirlink_cit.c
1107
cit_model3_Packet1(gspca_dev, 0x0038, 0x0064);
drivers/media/usb/gspca/xirlink_cit.c
1108
cit_model3_Packet1(gspca_dev, 0x003d, 0x0003);
drivers/media/usb/gspca/xirlink_cit.c
1109
cit_model3_Packet1(gspca_dev, 0x003e, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1110
cit_model3_Packet1(gspca_dev, 0x00b8, 0x0014);
drivers/media/usb/gspca/xirlink_cit.c
1111
cit_model3_Packet1(gspca_dev, 0x00b9, 0x0014);
drivers/media/usb/gspca/xirlink_cit.c
1112
cit_model3_Packet1(gspca_dev, 0x00e6, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1113
cit_model3_Packet1(gspca_dev, 0x00e8, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1119
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1121
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1125
cit_init_model0(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1126
sd_stop0(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1134
cit_init_ibm_netcam_pro(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1135
sd_stop0(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1141
static int cit_set_brightness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1143
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1153
cit_Packet_Format1(gspca_dev, 0x0031, val);
drivers/media/usb/gspca/xirlink_cit.c
1154
cit_Packet_Format1(gspca_dev, 0x0032, val);
drivers/media/usb/gspca/xirlink_cit.c
1155
cit_Packet_Format1(gspca_dev, 0x0033, val);
drivers/media/usb/gspca/xirlink_cit.c
1161
cit_model2_Packet1(gspca_dev, 0x001a, i);
drivers/media/usb/gspca/xirlink_cit.c
1168
cit_model3_Packet1(gspca_dev, 0x0036, i);
drivers/media/usb/gspca/xirlink_cit.c
1174
cit_model4_BrightnessPacket(gspca_dev, i);
drivers/media/usb/gspca/xirlink_cit.c
1181
static int cit_set_contrast(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1183
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1190
cit_write_reg(gspca_dev, i, 0x0422);
drivers/media/usb/gspca/xirlink_cit.c
1193
cit_write_reg(gspca_dev, i, 0x0423);
drivers/media/usb/gspca/xirlink_cit.c
1196
cit_write_reg(gspca_dev, i, 0x0424);
drivers/media/usb/gspca/xirlink_cit.c
1199
cit_write_reg(gspca_dev, i, 0x0425);
drivers/media/usb/gspca/xirlink_cit.c
1211
cit_Packet_Format1(gspca_dev, 0x0014, new_contrast);
drivers/media/usb/gspca/xirlink_cit.c
1212
cit_send_FF_04_02(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1232
cit_model3_Packet1(gspca_dev, 0x0067, cv[i].cv1);
drivers/media/usb/gspca/xirlink_cit.c
1233
cit_model3_Packet1(gspca_dev, 0x005b, cv[i].cv2);
drivers/media/usb/gspca/xirlink_cit.c
1234
cit_model3_Packet1(gspca_dev, 0x005c, cv[i].cv3);
drivers/media/usb/gspca/xirlink_cit.c
1238
cit_model3_Packet1(gspca_dev, 0x005b, val + 1);
drivers/media/usb/gspca/xirlink_cit.c
1244
static int cit_set_hue(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1246
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1255
cit_model2_Packet1(gspca_dev, 0x0024, val);
drivers/media/usb/gspca/xirlink_cit.c
1264
cit_model3_Packet1(gspca_dev, 0x007e, i);
drivers/media/usb/gspca/xirlink_cit.c
1282
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
1283
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
1284
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1285
cit_write_reg(gspca_dev, 160, 0x0127); /* Green gain */
drivers/media/usb/gspca/xirlink_cit.c
1286
cit_write_reg(gspca_dev, 160, 0x012e); /* Red gain */
drivers/media/usb/gspca/xirlink_cit.c
1287
cit_write_reg(gspca_dev, 160, 0x0130); /* Blue gain */
drivers/media/usb/gspca/xirlink_cit.c
1288
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1289
cit_write_reg(gspca_dev, val, 0x012d); /* Hue */
drivers/media/usb/gspca/xirlink_cit.c
1290
cit_write_reg(gspca_dev, 0xf545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1296
static int cit_set_sharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1298
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1313
cit_PacketFormat2(gspca_dev, 0x0013, sa[val]);
drivers/media/usb/gspca/xirlink_cit.c
1336
cit_model3_Packet1(gspca_dev, 0x0060, sv[val].sv1);
drivers/media/usb/gspca/xirlink_cit.c
1337
cit_model3_Packet1(gspca_dev, 0x0061, sv[val].sv2);
drivers/media/usb/gspca/xirlink_cit.c
1338
cit_model3_Packet1(gspca_dev, 0x0062, sv[val].sv3);
drivers/media/usb/gspca/xirlink_cit.c
1339
cit_model3_Packet1(gspca_dev, 0x0063, sv[val].sv4);
drivers/media/usb/gspca/xirlink_cit.c
1364
static void cit_set_lighting(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1366
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1378
cit_Packet_Format1(gspca_dev, 0x0027, val);
drivers/media/usb/gspca/xirlink_cit.c
1384
static void cit_set_hflip(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/xirlink_cit.c
1386
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1391
cit_write_reg(gspca_dev, 0x0020, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1393
cit_write_reg(gspca_dev, 0x0040, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1404
static int cit_restart_stream(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1406
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1411
cit_write_reg(gspca_dev, 0x0001, 0x0114);
drivers/media/usb/gspca/xirlink_cit.c
1415
cit_write_reg(gspca_dev, 0x00c0, 0x010c); /* Go! */
drivers/media/usb/gspca/xirlink_cit.c
1416
usb_clear_halt(gspca_dev->dev, gspca_dev->urb[0]->pipe);
drivers/media/usb/gspca/xirlink_cit.c
1420
cit_write_reg(gspca_dev, 0x0001, 0x0114);
drivers/media/usb/gspca/xirlink_cit.c
1421
cit_write_reg(gspca_dev, 0x00c0, 0x010c); /* Go! */
drivers/media/usb/gspca/xirlink_cit.c
1422
usb_clear_halt(gspca_dev->dev, gspca_dev->urb[0]->pipe);
drivers/media/usb/gspca/xirlink_cit.c
1424
cit_write_reg(gspca_dev, 0x0001, 0x0113);
drivers/media/usb/gspca/xirlink_cit.c
1433
static int cit_get_packet_size(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1438
intf = usb_ifnum_to_if(gspca_dev->dev, gspca_dev->iface);
drivers/media/usb/gspca/xirlink_cit.c
1439
alt = usb_altnum_to_altsetting(intf, gspca_dev->alt);
drivers/media/usb/gspca/xirlink_cit.c
1452
static int cit_get_clock_div(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1458
packet_size = cit_get_packet_size(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1464
gspca_dev->pixfmt.width * gspca_dev->pixfmt.height *
drivers/media/usb/gspca/xirlink_cit.c
1468
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/xirlink_cit.c
1471
gspca_dev->pixfmt.width, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/xirlink_cit.c
1477
static int cit_start_model0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1482
clock_div = cit_get_clock_div(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1486
cit_write_reg(gspca_dev, 0x0000, 0x0100); /* turn on led */
drivers/media/usb/gspca/xirlink_cit.c
1487
cit_write_reg(gspca_dev, 0x0003, 0x0438);
drivers/media/usb/gspca/xirlink_cit.c
1488
cit_write_reg(gspca_dev, 0x001e, 0x042b);
drivers/media/usb/gspca/xirlink_cit.c
1489
cit_write_reg(gspca_dev, 0x0041, 0x042c);
drivers/media/usb/gspca/xirlink_cit.c
1490
cit_write_reg(gspca_dev, 0x0008, 0x0436);
drivers/media/usb/gspca/xirlink_cit.c
1491
cit_write_reg(gspca_dev, 0x0024, 0x0403);
drivers/media/usb/gspca/xirlink_cit.c
1492
cit_write_reg(gspca_dev, 0x002c, 0x0404);
drivers/media/usb/gspca/xirlink_cit.c
1493
cit_write_reg(gspca_dev, 0x0002, 0x0426);
drivers/media/usb/gspca/xirlink_cit.c
1494
cit_write_reg(gspca_dev, 0x0014, 0x0427);
drivers/media/usb/gspca/xirlink_cit.c
1496
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1498
cit_write_reg(gspca_dev, 0x0004, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1499
cit_write_reg(gspca_dev, 0x0001, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
1500
cit_write_reg(gspca_dev, 0x0010, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1501
cit_write_reg(gspca_dev, 0x00a0, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1502
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1503
cit_write_reg(gspca_dev, 0x0078, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1507
cit_write_reg(gspca_dev, 0x0006, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1508
cit_write_reg(gspca_dev, 0x0000, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
1509
cit_write_reg(gspca_dev, 0x0005, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1510
cit_write_reg(gspca_dev, 0x00b0, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1511
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1512
cit_write_reg(gspca_dev, 0x0090, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1516
cit_write_reg(gspca_dev, 0x0008, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1517
cit_write_reg(gspca_dev, 0x0004, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
1518
cit_write_reg(gspca_dev, 0x0005, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1519
cit_write_reg(gspca_dev, 0x00a0, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1520
cit_write_reg(gspca_dev, 0x0010, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1521
cit_write_reg(gspca_dev, 0x0078, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1525
cit_write_reg(gspca_dev, compression, 0x0109);
drivers/media/usb/gspca/xirlink_cit.c
1526
cit_write_reg(gspca_dev, clock_div, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1531
static int cit_start_model1(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1533
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1536
clock_div = cit_get_clock_div(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
1540
cit_read_reg(gspca_dev, 0x0128, 1);
drivers/media/usb/gspca/xirlink_cit.c
1541
cit_read_reg(gspca_dev, 0x0100, 0);
drivers/media/usb/gspca/xirlink_cit.c
1542
cit_write_reg(gspca_dev, 0x01, 0x0100); /* LED On */
drivers/media/usb/gspca/xirlink_cit.c
1543
cit_read_reg(gspca_dev, 0x0100, 0);
drivers/media/usb/gspca/xirlink_cit.c
1544
cit_write_reg(gspca_dev, 0x81, 0x0100); /* LED Off */
drivers/media/usb/gspca/xirlink_cit.c
1545
cit_read_reg(gspca_dev, 0x0100, 0);
drivers/media/usb/gspca/xirlink_cit.c
1546
cit_write_reg(gspca_dev, 0x01, 0x0100); /* LED On */
drivers/media/usb/gspca/xirlink_cit.c
1547
cit_write_reg(gspca_dev, 0x01, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
1549
cit_write_reg(gspca_dev, 0x03, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
1550
cit_read_reg(gspca_dev, 0x0115, 0);
drivers/media/usb/gspca/xirlink_cit.c
1551
cit_write_reg(gspca_dev, 0x06, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1552
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
1553
cit_write_reg(gspca_dev, 0x44, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
1554
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
1555
cit_write_reg(gspca_dev, 0x40, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
1556
cit_read_reg(gspca_dev, 0x0115, 0);
drivers/media/usb/gspca/xirlink_cit.c
1557
cit_write_reg(gspca_dev, 0x0e, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1558
cit_write_reg(gspca_dev, 0x19, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
1560
cit_Packet_Format1(gspca_dev, 0x00, 0x1e);
drivers/media/usb/gspca/xirlink_cit.c
1561
cit_Packet_Format1(gspca_dev, 0x39, 0x0d);
drivers/media/usb/gspca/xirlink_cit.c
1562
cit_Packet_Format1(gspca_dev, 0x39, 0x09);
drivers/media/usb/gspca/xirlink_cit.c
1563
cit_Packet_Format1(gspca_dev, 0x3b, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1564
cit_Packet_Format1(gspca_dev, 0x28, 0x22);
drivers/media/usb/gspca/xirlink_cit.c
1565
cit_Packet_Format1(gspca_dev, 0x27, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1566
cit_Packet_Format1(gspca_dev, 0x2b, 0x1f);
drivers/media/usb/gspca/xirlink_cit.c
1567
cit_Packet_Format1(gspca_dev, 0x39, 0x08);
drivers/media/usb/gspca/xirlink_cit.c
1570
cit_Packet_Format1(gspca_dev, 0x2c, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1573
cit_Packet_Format1(gspca_dev, 0x30, 0x14);
drivers/media/usb/gspca/xirlink_cit.c
1575
cit_PacketFormat2(gspca_dev, 0x39, 0x02);
drivers/media/usb/gspca/xirlink_cit.c
1576
cit_PacketFormat2(gspca_dev, 0x01, 0xe1);
drivers/media/usb/gspca/xirlink_cit.c
1577
cit_PacketFormat2(gspca_dev, 0x02, 0xcd);
drivers/media/usb/gspca/xirlink_cit.c
1578
cit_PacketFormat2(gspca_dev, 0x03, 0xcd);
drivers/media/usb/gspca/xirlink_cit.c
1579
cit_PacketFormat2(gspca_dev, 0x04, 0xfa);
drivers/media/usb/gspca/xirlink_cit.c
1580
cit_PacketFormat2(gspca_dev, 0x3f, 0xff);
drivers/media/usb/gspca/xirlink_cit.c
1581
cit_PacketFormat2(gspca_dev, 0x39, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1583
cit_PacketFormat2(gspca_dev, 0x39, 0x02);
drivers/media/usb/gspca/xirlink_cit.c
1584
cit_PacketFormat2(gspca_dev, 0x0a, 0x37);
drivers/media/usb/gspca/xirlink_cit.c
1585
cit_PacketFormat2(gspca_dev, 0x0b, 0xb8);
drivers/media/usb/gspca/xirlink_cit.c
1586
cit_PacketFormat2(gspca_dev, 0x0c, 0xf3);
drivers/media/usb/gspca/xirlink_cit.c
1587
cit_PacketFormat2(gspca_dev, 0x0d, 0xe3);
drivers/media/usb/gspca/xirlink_cit.c
1588
cit_PacketFormat2(gspca_dev, 0x0e, 0x0d);
drivers/media/usb/gspca/xirlink_cit.c
1589
cit_PacketFormat2(gspca_dev, 0x0f, 0xf2);
drivers/media/usb/gspca/xirlink_cit.c
1590
cit_PacketFormat2(gspca_dev, 0x10, 0xd5);
drivers/media/usb/gspca/xirlink_cit.c
1591
cit_PacketFormat2(gspca_dev, 0x11, 0xba);
drivers/media/usb/gspca/xirlink_cit.c
1592
cit_PacketFormat2(gspca_dev, 0x12, 0x53);
drivers/media/usb/gspca/xirlink_cit.c
1593
cit_PacketFormat2(gspca_dev, 0x3f, 0xff);
drivers/media/usb/gspca/xirlink_cit.c
1594
cit_PacketFormat2(gspca_dev, 0x39, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1596
cit_PacketFormat2(gspca_dev, 0x39, 0x02);
drivers/media/usb/gspca/xirlink_cit.c
1597
cit_PacketFormat2(gspca_dev, 0x16, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1598
cit_PacketFormat2(gspca_dev, 0x17, 0x28);
drivers/media/usb/gspca/xirlink_cit.c
1599
cit_PacketFormat2(gspca_dev, 0x18, 0x7d);
drivers/media/usb/gspca/xirlink_cit.c
1600
cit_PacketFormat2(gspca_dev, 0x19, 0xbe);
drivers/media/usb/gspca/xirlink_cit.c
1601
cit_PacketFormat2(gspca_dev, 0x3f, 0xff);
drivers/media/usb/gspca/xirlink_cit.c
1602
cit_PacketFormat2(gspca_dev, 0x39, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1605
cit_Packet_Format1(gspca_dev, 0x00, 0x18);
drivers/media/usb/gspca/xirlink_cit.c
1607
cit_Packet_Format1(gspca_dev, 0x13, 0x18);
drivers/media/usb/gspca/xirlink_cit.c
1609
cit_Packet_Format1(gspca_dev, 0x14, 0x06);
drivers/media/usb/gspca/xirlink_cit.c
1616
cit_Packet_Format1(gspca_dev, 0x31, 0x37);
drivers/media/usb/gspca/xirlink_cit.c
1618
cit_Packet_Format1(gspca_dev, 0x32, 0x46);
drivers/media/usb/gspca/xirlink_cit.c
1620
cit_Packet_Format1(gspca_dev, 0x33, 0x55);
drivers/media/usb/gspca/xirlink_cit.c
1623
cit_Packet_Format1(gspca_dev, 0x2e, 0x04);
drivers/media/usb/gspca/xirlink_cit.c
1625
cit_Packet_Format1(gspca_dev, 0x2d, 0x04);
drivers/media/usb/gspca/xirlink_cit.c
1627
cit_Packet_Format1(gspca_dev, 0x29, 0x80);
drivers/media/usb/gspca/xirlink_cit.c
1628
cit_Packet_Format1(gspca_dev, 0x2c, 0x01);
drivers/media/usb/gspca/xirlink_cit.c
1629
cit_Packet_Format1(gspca_dev, 0x30, 0x17);
drivers/media/usb/gspca/xirlink_cit.c
1630
cit_Packet_Format1(gspca_dev, 0x39, 0x08);
drivers/media/usb/gspca/xirlink_cit.c
1632
cit_Packet_Format1(gspca_dev, 0x34, 0x00);
drivers/media/usb/gspca/xirlink_cit.c
1634
cit_write_reg(gspca_dev, 0x00, 0x0101);
drivers/media/usb/gspca/xirlink_cit.c
1635
cit_write_reg(gspca_dev, 0x00, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
1637
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1639
cit_write_reg(gspca_dev, 0x80, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1640
cit_write_reg(gspca_dev, 0x60, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1641
cit_write_reg(gspca_dev, 0x0c, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1642
cit_write_reg(gspca_dev, 0x04, 0x011b); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1643
cit_write_reg(gspca_dev, 0x0b, 0x011d);
drivers/media/usb/gspca/xirlink_cit.c
1644
cit_write_reg(gspca_dev, 0x00, 0x011e); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1645
cit_write_reg(gspca_dev, 0x00, 0x0129);
drivers/media/usb/gspca/xirlink_cit.c
1648
cit_write_reg(gspca_dev, 0xb0, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1649
cit_write_reg(gspca_dev, 0x8f, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1650
cit_write_reg(gspca_dev, 0x06, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1651
cit_write_reg(gspca_dev, 0x04, 0x011b); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1652
cit_write_reg(gspca_dev, 0x0d, 0x011d);
drivers/media/usb/gspca/xirlink_cit.c
1653
cit_write_reg(gspca_dev, 0x00, 0x011e); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1654
cit_write_reg(gspca_dev, 0x03, 0x0129);
drivers/media/usb/gspca/xirlink_cit.c
1657
cit_write_reg(gspca_dev, 0xb0, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
1658
cit_write_reg(gspca_dev, 0x90, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
1659
cit_write_reg(gspca_dev, 0x02, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
1660
cit_write_reg(gspca_dev, 0x04, 0x011b); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1661
cit_write_reg(gspca_dev, 0x05, 0x011d);
drivers/media/usb/gspca/xirlink_cit.c
1662
cit_write_reg(gspca_dev, 0x00, 0x011e); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1663
cit_write_reg(gspca_dev, 0x00, 0x0129);
drivers/media/usb/gspca/xirlink_cit.c
1667
cit_write_reg(gspca_dev, 0xff, 0x012b);
drivers/media/usb/gspca/xirlink_cit.c
1674
cit_Packet_Format1(gspca_dev, 0x31, 0xc3);
drivers/media/usb/gspca/xirlink_cit.c
1676
cit_Packet_Format1(gspca_dev, 0x32, 0xd2);
drivers/media/usb/gspca/xirlink_cit.c
1678
cit_Packet_Format1(gspca_dev, 0x33, 0xe1);
drivers/media/usb/gspca/xirlink_cit.c
1682
cit_Packet_Format1(gspca_dev, 0x14, 0x0a);
drivers/media/usb/gspca/xirlink_cit.c
1686
cit_PacketFormat2(gspca_dev, 0x13, 0x1a);
drivers/media/usb/gspca/xirlink_cit.c
1689
cit_Packet_Format1(gspca_dev, 0x0027,
drivers/media/usb/gspca/xirlink_cit.c
1694
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1696
cit_Packet_Format1(gspca_dev, 0x2b, 0x1e);
drivers/media/usb/gspca/xirlink_cit.c
1697
cit_write_reg(gspca_dev, 0xc9, 0x0119); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1698
cit_write_reg(gspca_dev, 0x80, 0x0109); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1699
cit_write_reg(gspca_dev, 0x36, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1700
cit_write_reg(gspca_dev, 0x1a, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1701
cit_write_reg(gspca_dev, 0x04, 0x011a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1702
cit_write_reg(gspca_dev, 0x2b, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
1703
cit_write_reg(gspca_dev, 0x23, 0x012a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1706
cit_Packet_Format1(gspca_dev, 0x2b, 0x1e);
drivers/media/usb/gspca/xirlink_cit.c
1707
cit_write_reg(gspca_dev, 0xc9, 0x0119); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1708
cit_write_reg(gspca_dev, 0x80, 0x0109); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1709
cit_write_reg(gspca_dev, 0x04, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1710
cit_write_reg(gspca_dev, 0x02, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1711
cit_write_reg(gspca_dev, 0x04, 0x011a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1712
cit_write_reg(gspca_dev, 0x2b, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
1713
cit_write_reg(gspca_dev, 0x23, 0x012a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1716
cit_Packet_Format1(gspca_dev, 0x2b, 0x1f);
drivers/media/usb/gspca/xirlink_cit.c
1717
cit_write_reg(gspca_dev, 0xc9, 0x0119); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1718
cit_write_reg(gspca_dev, 0x80, 0x0109); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1719
cit_write_reg(gspca_dev, 0x08, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1720
cit_write_reg(gspca_dev, 0x01, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
1721
cit_write_reg(gspca_dev, 0x04, 0x011a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1722
cit_write_reg(gspca_dev, 0x2f, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
1723
cit_write_reg(gspca_dev, 0x23, 0x012a); /* Same everywhere */
drivers/media/usb/gspca/xirlink_cit.c
1727
cit_write_reg(gspca_dev, 0x01, 0x0100); /* LED On */
drivers/media/usb/gspca/xirlink_cit.c
1728
cit_write_reg(gspca_dev, clock_div, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1733
static int cit_start_model2(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1735
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
1738
cit_write_reg(gspca_dev, 0x0000, 0x0100); /* LED on */
drivers/media/usb/gspca/xirlink_cit.c
1739
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
1740
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
1741
cit_write_reg(gspca_dev, 0x0002, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
1742
cit_write_reg(gspca_dev, 0x00bc, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
1743
cit_write_reg(gspca_dev, 0x0008, 0x012b);
drivers/media/usb/gspca/xirlink_cit.c
1744
cit_write_reg(gspca_dev, 0x0000, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
1745
cit_write_reg(gspca_dev, 0x0001, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
1746
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
1747
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1749
cit_write_reg(gspca_dev, 0x002c, 0x0103); /* All except 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
1750
cit_write_reg(gspca_dev, 0x0000, 0x0104); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
1751
cit_write_reg(gspca_dev, 0x0024, 0x0105); /* 176x144, 352x288 */
drivers/media/usb/gspca/xirlink_cit.c
1752
cit_write_reg(gspca_dev, 0x00b9, 0x010a); /* Unique to this mode */
drivers/media/usb/gspca/xirlink_cit.c
1753
cit_write_reg(gspca_dev, 0x0038, 0x0119); /* Unique to this mode */
drivers/media/usb/gspca/xirlink_cit.c
1759
cit_write_reg(gspca_dev, 0x0028, 0x0103); /* Unique to this mode */
drivers/media/usb/gspca/xirlink_cit.c
1760
cit_write_reg(gspca_dev, 0x0000, 0x0104); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
1761
cit_write_reg(gspca_dev, 0x001e, 0x0105); /* 320x240, 352x240 */
drivers/media/usb/gspca/xirlink_cit.c
1762
cit_write_reg(gspca_dev, 0x0039, 0x010a); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1763
cit_write_reg(gspca_dev, 0x0070, 0x0119); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1768
cit_write_reg(gspca_dev, 0x002c, 0x0103); /* All except 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
1769
cit_write_reg(gspca_dev, 0x0000, 0x0104); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
1770
cit_write_reg(gspca_dev, 0x001e, 0x0105); /* 320x240, 352x240 */
drivers/media/usb/gspca/xirlink_cit.c
1771
cit_write_reg(gspca_dev, 0x0039, 0x010a); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1772
cit_write_reg(gspca_dev, 0x0070, 0x0119); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1777
cit_write_reg(gspca_dev, 0x002c, 0x0103); /* All except 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
1778
cit_write_reg(gspca_dev, 0x0000, 0x0104); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
1779
cit_write_reg(gspca_dev, 0x0024, 0x0105); /* 176x144, 352x288 */
drivers/media/usb/gspca/xirlink_cit.c
1780
cit_write_reg(gspca_dev, 0x0039, 0x010a); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1781
cit_write_reg(gspca_dev, 0x0070, 0x0119); /* All except 176x144 */
drivers/media/usb/gspca/xirlink_cit.c
1786
cit_write_reg(gspca_dev, 0x0000, 0x0100); /* LED on */
drivers/media/usb/gspca/xirlink_cit.c
1788
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1790
cit_write_reg(gspca_dev, 0x0050, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1791
cit_write_reg(gspca_dev, 0x00d0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1795
cit_write_reg(gspca_dev, 0x0040, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1796
cit_write_reg(gspca_dev, 0x00c0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
1799
cit_write_reg(gspca_dev, 0x009b, 0x010f);
drivers/media/usb/gspca/xirlink_cit.c
1800
cit_write_reg(gspca_dev, 0x00bb, 0x010f);
drivers/media/usb/gspca/xirlink_cit.c
1815
cit_model2_Packet1(gspca_dev, 0x000a, 0x005c);
drivers/media/usb/gspca/xirlink_cit.c
1816
cit_model2_Packet1(gspca_dev, 0x0004, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1817
cit_model2_Packet1(gspca_dev, 0x0006, 0x00fb);
drivers/media/usb/gspca/xirlink_cit.c
1818
cit_model2_Packet1(gspca_dev, 0x0008, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1819
cit_model2_Packet1(gspca_dev, 0x000c, 0x0009);
drivers/media/usb/gspca/xirlink_cit.c
1820
cit_model2_Packet1(gspca_dev, 0x0012, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1821
cit_model2_Packet1(gspca_dev, 0x002a, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1822
cit_model2_Packet1(gspca_dev, 0x002c, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1823
cit_model2_Packet1(gspca_dev, 0x002e, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
1830
cit_model2_Packet1(gspca_dev, 0x0030, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1836
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1838
cit_model2_Packet1(gspca_dev, 0x0014, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1839
cit_model2_Packet1(gspca_dev, 0x0016, 0x0002); /* Horizontal shift */
drivers/media/usb/gspca/xirlink_cit.c
1840
cit_model2_Packet1(gspca_dev, 0x0018, 0x004a); /* Another hardware setting */
drivers/media/usb/gspca/xirlink_cit.c
1844
cit_model2_Packet1(gspca_dev, 0x0014, 0x0009);
drivers/media/usb/gspca/xirlink_cit.c
1845
cit_model2_Packet1(gspca_dev, 0x0016, 0x0005); /* Horizontal shift */
drivers/media/usb/gspca/xirlink_cit.c
1846
cit_model2_Packet1(gspca_dev, 0x0018, 0x0044); /* Another hardware setting */
drivers/media/usb/gspca/xirlink_cit.c
1852
cit_model2_Packet1(gspca_dev, 0x0014, 0x0009); /* Windows sets this to 8 */
drivers/media/usb/gspca/xirlink_cit.c
1853
cit_model2_Packet1(gspca_dev, 0x0016, 0x0003); /* Horizontal shift */
drivers/media/usb/gspca/xirlink_cit.c
1854
cit_model2_Packet1(gspca_dev, 0x0018, 0x0044); /* Windows sets this to 0x0045 */
drivers/media/usb/gspca/xirlink_cit.c
1859
cit_model2_Packet1(gspca_dev, 0x0014, 0x0003);
drivers/media/usb/gspca/xirlink_cit.c
1860
cit_model2_Packet1(gspca_dev, 0x0016, 0x0002); /* Horizontal shift */
drivers/media/usb/gspca/xirlink_cit.c
1861
cit_model2_Packet1(gspca_dev, 0x0018, 0x004a); /* Another hardware setting */
drivers/media/usb/gspca/xirlink_cit.c
1869
cit_model2_Packet1(gspca_dev, 0x001a, 0x005a);
drivers/media/usb/gspca/xirlink_cit.c
1889
cit_model2_Packet1(gspca_dev, 0x001c, clock_div);
drivers/media/usb/gspca/xirlink_cit.c
1897
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
1899
cit_model2_Packet1(gspca_dev, 0x0026, 0x00c2);
drivers/media/usb/gspca/xirlink_cit.c
1902
cit_model2_Packet1(gspca_dev, 0x0026, 0x0044);
drivers/media/usb/gspca/xirlink_cit.c
1906
cit_model2_Packet1(gspca_dev, 0x0026, 0x0046);
drivers/media/usb/gspca/xirlink_cit.c
1910
cit_model2_Packet1(gspca_dev, 0x0026, 0x0048);
drivers/media/usb/gspca/xirlink_cit.c
1914
cit_model2_Packet1(gspca_dev, 0x0028, v4l2_ctrl_g_ctrl(sd->lighting));
drivers/media/usb/gspca/xirlink_cit.c
1919
cit_model2_Packet1(gspca_dev, 0x001e, 0x002f);
drivers/media/usb/gspca/xirlink_cit.c
1921
cit_model2_Packet1(gspca_dev, 0x0020, 0x0034);
drivers/media/usb/gspca/xirlink_cit.c
1923
cit_model2_Packet1(gspca_dev, 0x0022, 0x00a0);
drivers/media/usb/gspca/xirlink_cit.c
1926
cit_model2_Packet1(gspca_dev, 0x0030, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
1931
static int cit_start_model3(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
1938
cit_read_reg(gspca_dev, 0x128, 1);
drivers/media/usb/gspca/xirlink_cit.c
1940
cit_write_reg(gspca_dev, 0x0000, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
1941
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
1942
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
1943
cit_write_reg(gspca_dev, 0x0002, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
1944
cit_write_reg(gspca_dev, 0x0000, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
1945
cit_write_reg(gspca_dev, 0x0001, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
1946
cit_write_reg(gspca_dev, 0x0040, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
1947
cit_write_reg(gspca_dev, 0x0019, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
1948
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
1949
cit_write_reg(gspca_dev, 0x0002, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1950
cit_write_reg(gspca_dev, 0x0003, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1951
cit_read_reg(gspca_dev, 0x0115, 0);
drivers/media/usb/gspca/xirlink_cit.c
1952
cit_write_reg(gspca_dev, 0x000b, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
1957
cit_write_reg(gspca_dev, 0x0078, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
1958
cit_write_reg(gspca_dev, 0x0001, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
1959
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1960
cit_write_reg(gspca_dev, 0x0079, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
1961
cit_write_reg(gspca_dev, 0x00ff, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
1962
cit_write_reg(gspca_dev, 0xcd41, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1963
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
1964
cit_read_reg(gspca_dev, 0x0126, 1);
drivers/media/usb/gspca/xirlink_cit.c
1967
cit_model3_Packet1(gspca_dev, 0x000a, 0x0040);
drivers/media/usb/gspca/xirlink_cit.c
1968
cit_model3_Packet1(gspca_dev, 0x000b, 0x00f6);
drivers/media/usb/gspca/xirlink_cit.c
1969
cit_model3_Packet1(gspca_dev, 0x000c, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
1970
cit_model3_Packet1(gspca_dev, 0x000d, 0x0020);
drivers/media/usb/gspca/xirlink_cit.c
1971
cit_model3_Packet1(gspca_dev, 0x000e, 0x0033);
drivers/media/usb/gspca/xirlink_cit.c
1972
cit_model3_Packet1(gspca_dev, 0x000f, 0x0007);
drivers/media/usb/gspca/xirlink_cit.c
1973
cit_model3_Packet1(gspca_dev, 0x0010, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1974
cit_model3_Packet1(gspca_dev, 0x0011, 0x0070);
drivers/media/usb/gspca/xirlink_cit.c
1975
cit_model3_Packet1(gspca_dev, 0x0012, 0x0030);
drivers/media/usb/gspca/xirlink_cit.c
1976
cit_model3_Packet1(gspca_dev, 0x0013, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1977
cit_model3_Packet1(gspca_dev, 0x0014, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1978
cit_model3_Packet1(gspca_dev, 0x0015, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1979
cit_model3_Packet1(gspca_dev, 0x0016, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1980
cit_model3_Packet1(gspca_dev, 0x0017, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1981
cit_model3_Packet1(gspca_dev, 0x0018, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1982
cit_model3_Packet1(gspca_dev, 0x001e, 0x00c3);
drivers/media/usb/gspca/xirlink_cit.c
1983
cit_model3_Packet1(gspca_dev, 0x0020, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1984
cit_model3_Packet1(gspca_dev, 0x0028, 0x0010);
drivers/media/usb/gspca/xirlink_cit.c
1985
cit_model3_Packet1(gspca_dev, 0x0029, 0x0054);
drivers/media/usb/gspca/xirlink_cit.c
1986
cit_model3_Packet1(gspca_dev, 0x002a, 0x0013);
drivers/media/usb/gspca/xirlink_cit.c
1987
cit_model3_Packet1(gspca_dev, 0x002b, 0x0007);
drivers/media/usb/gspca/xirlink_cit.c
1988
cit_model3_Packet1(gspca_dev, 0x002d, 0x0028);
drivers/media/usb/gspca/xirlink_cit.c
1989
cit_model3_Packet1(gspca_dev, 0x002e, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1990
cit_model3_Packet1(gspca_dev, 0x0031, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1991
cit_model3_Packet1(gspca_dev, 0x0032, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1992
cit_model3_Packet1(gspca_dev, 0x0033, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1993
cit_model3_Packet1(gspca_dev, 0x0034, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1994
cit_model3_Packet1(gspca_dev, 0x0035, 0x0038);
drivers/media/usb/gspca/xirlink_cit.c
1995
cit_model3_Packet1(gspca_dev, 0x003a, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
1996
cit_model3_Packet1(gspca_dev, 0x003c, 0x001e);
drivers/media/usb/gspca/xirlink_cit.c
1997
cit_model3_Packet1(gspca_dev, 0x003f, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
1998
cit_model3_Packet1(gspca_dev, 0x0041, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
1999
cit_model3_Packet1(gspca_dev, 0x0046, 0x003f);
drivers/media/usb/gspca/xirlink_cit.c
2000
cit_model3_Packet1(gspca_dev, 0x0047, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2001
cit_model3_Packet1(gspca_dev, 0x0050, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
2002
cit_model3_Packet1(gspca_dev, 0x0052, 0x001a);
drivers/media/usb/gspca/xirlink_cit.c
2003
cit_model3_Packet1(gspca_dev, 0x0053, 0x0003);
drivers/media/usb/gspca/xirlink_cit.c
2004
cit_model3_Packet1(gspca_dev, 0x005a, 0x006b);
drivers/media/usb/gspca/xirlink_cit.c
2005
cit_model3_Packet1(gspca_dev, 0x005d, 0x001e);
drivers/media/usb/gspca/xirlink_cit.c
2006
cit_model3_Packet1(gspca_dev, 0x005e, 0x0030);
drivers/media/usb/gspca/xirlink_cit.c
2007
cit_model3_Packet1(gspca_dev, 0x005f, 0x0041);
drivers/media/usb/gspca/xirlink_cit.c
2008
cit_model3_Packet1(gspca_dev, 0x0064, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
2009
cit_model3_Packet1(gspca_dev, 0x0065, 0x0015);
drivers/media/usb/gspca/xirlink_cit.c
2010
cit_model3_Packet1(gspca_dev, 0x0068, 0x000f);
drivers/media/usb/gspca/xirlink_cit.c
2011
cit_model3_Packet1(gspca_dev, 0x0079, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2012
cit_model3_Packet1(gspca_dev, 0x007a, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2013
cit_model3_Packet1(gspca_dev, 0x007c, 0x003f);
drivers/media/usb/gspca/xirlink_cit.c
2014
cit_model3_Packet1(gspca_dev, 0x0082, 0x000f);
drivers/media/usb/gspca/xirlink_cit.c
2015
cit_model3_Packet1(gspca_dev, 0x0085, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2016
cit_model3_Packet1(gspca_dev, 0x0099, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2017
cit_model3_Packet1(gspca_dev, 0x009b, 0x0023);
drivers/media/usb/gspca/xirlink_cit.c
2018
cit_model3_Packet1(gspca_dev, 0x009c, 0x0022);
drivers/media/usb/gspca/xirlink_cit.c
2019
cit_model3_Packet1(gspca_dev, 0x009d, 0x0096);
drivers/media/usb/gspca/xirlink_cit.c
2020
cit_model3_Packet1(gspca_dev, 0x009e, 0x0096);
drivers/media/usb/gspca/xirlink_cit.c
2021
cit_model3_Packet1(gspca_dev, 0x009f, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
2023
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2025
cit_write_reg(gspca_dev, 0x0000, 0x0101); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2026
cit_write_reg(gspca_dev, 0x00a0, 0x0103); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2027
cit_write_reg(gspca_dev, 0x0078, 0x0105); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2028
cit_write_reg(gspca_dev, 0x0000, 0x010a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2029
cit_write_reg(gspca_dev, 0x0024, 0x010b); /* Differs everywhere */
drivers/media/usb/gspca/xirlink_cit.c
2030
cit_write_reg(gspca_dev, 0x00a9, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2031
cit_write_reg(gspca_dev, 0x0016, 0x011b);
drivers/media/usb/gspca/xirlink_cit.c
2032
cit_write_reg(gspca_dev, 0x0002, 0x011d); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2033
cit_write_reg(gspca_dev, 0x0003, 0x011e); /* Same on 160x120, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2034
cit_write_reg(gspca_dev, 0x0000, 0x0129); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2035
cit_write_reg(gspca_dev, 0x00fc, 0x012b); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2036
cit_write_reg(gspca_dev, 0x0018, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2037
cit_write_reg(gspca_dev, 0x0004, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2038
cit_write_reg(gspca_dev, 0x0004, 0x011a);
drivers/media/usb/gspca/xirlink_cit.c
2039
cit_write_reg(gspca_dev, 0x0028, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
2040
cit_write_reg(gspca_dev, 0x0022, 0x012a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2041
cit_write_reg(gspca_dev, 0x0000, 0x0118);
drivers/media/usb/gspca/xirlink_cit.c
2042
cit_write_reg(gspca_dev, 0x0000, 0x0132);
drivers/media/usb/gspca/xirlink_cit.c
2043
cit_model3_Packet1(gspca_dev, 0x0021, 0x0001); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2044
cit_write_reg(gspca_dev, compression, 0x0109);
drivers/media/usb/gspca/xirlink_cit.c
2048
cit_write_reg(gspca_dev, 0x0000, 0x0101); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2049
cit_write_reg(gspca_dev, 0x00a0, 0x0103); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2050
cit_write_reg(gspca_dev, 0x0078, 0x0105); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2051
cit_write_reg(gspca_dev, 0x0000, 0x010a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2052
cit_write_reg(gspca_dev, 0x0028, 0x010b); /* Differs everywhere */
drivers/media/usb/gspca/xirlink_cit.c
2053
cit_write_reg(gspca_dev, 0x0002, 0x011d); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2054
cit_write_reg(gspca_dev, 0x0000, 0x011e);
drivers/media/usb/gspca/xirlink_cit.c
2055
cit_write_reg(gspca_dev, 0x0000, 0x0129); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2056
cit_write_reg(gspca_dev, 0x00fc, 0x012b); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2058
cit_write_reg(gspca_dev, 0x0022, 0x012a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2059
cit_model3_Packet1(gspca_dev, 0x0021, 0x0001); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2060
cit_write_reg(gspca_dev, compression, 0x0109);
drivers/media/usb/gspca/xirlink_cit.c
2061
cit_write_reg(gspca_dev, 0x00d9, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2062
cit_write_reg(gspca_dev, 0x0006, 0x011b);
drivers/media/usb/gspca/xirlink_cit.c
2063
cit_write_reg(gspca_dev, 0x0021, 0x0102); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2064
cit_write_reg(gspca_dev, 0x0010, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2065
cit_write_reg(gspca_dev, 0x0004, 0x011a);
drivers/media/usb/gspca/xirlink_cit.c
2066
cit_write_reg(gspca_dev, 0x003f, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
2067
cit_write_reg(gspca_dev, 0x001c, 0x0118);
drivers/media/usb/gspca/xirlink_cit.c
2068
cit_write_reg(gspca_dev, 0x0000, 0x0132);
drivers/media/usb/gspca/xirlink_cit.c
2072
cit_write_reg(gspca_dev, 0x00f0, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2073
cit_write_reg(gspca_dev, 0x0000, 0x010a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2074
cit_write_reg(gspca_dev, 0x0038, 0x010b); /* Differs everywhere */
drivers/media/usb/gspca/xirlink_cit.c
2075
cit_write_reg(gspca_dev, 0x00d9, 0x0119); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2076
cit_write_reg(gspca_dev, 0x0006, 0x011b); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2077
cit_write_reg(gspca_dev, 0x0004, 0x011d); /* NC */
drivers/media/usb/gspca/xirlink_cit.c
2078
cit_write_reg(gspca_dev, 0x0003, 0x011e); /* Same on 160x120, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2079
cit_write_reg(gspca_dev, 0x0000, 0x0129); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2080
cit_write_reg(gspca_dev, 0x00fc, 0x012b); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2081
cit_write_reg(gspca_dev, 0x0021, 0x0102); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2082
cit_write_reg(gspca_dev, 0x0016, 0x0104); /* NC */
drivers/media/usb/gspca/xirlink_cit.c
2083
cit_write_reg(gspca_dev, 0x0004, 0x011a); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2084
cit_write_reg(gspca_dev, 0x003f, 0x011c); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2085
cit_write_reg(gspca_dev, 0x0022, 0x012a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2086
cit_write_reg(gspca_dev, 0x001c, 0x0118); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2087
cit_model3_Packet1(gspca_dev, 0x0021, 0x0001); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2088
cit_write_reg(gspca_dev, compression, 0x0109);
drivers/media/usb/gspca/xirlink_cit.c
2089
cit_write_reg(gspca_dev, 0x0040, 0x0101);
drivers/media/usb/gspca/xirlink_cit.c
2090
cit_write_reg(gspca_dev, 0x0040, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2091
cit_write_reg(gspca_dev, 0x0000, 0x0132); /* Same on 320x240, 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2096
cit_model3_Packet1(gspca_dev, 0x007e, 0x000e); /* Hue */
drivers/media/usb/gspca/xirlink_cit.c
2097
cit_model3_Packet1(gspca_dev, 0x0036, 0x0011); /* Brightness */
drivers/media/usb/gspca/xirlink_cit.c
2098
cit_model3_Packet1(gspca_dev, 0x0060, 0x0002); /* Sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2099
cit_model3_Packet1(gspca_dev, 0x0061, 0x0004); /* Sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2100
cit_model3_Packet1(gspca_dev, 0x0062, 0x0005); /* Sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2101
cit_model3_Packet1(gspca_dev, 0x0063, 0x0014); /* Sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2102
cit_model3_Packet1(gspca_dev, 0x0096, 0x00a0); /* Red sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2103
cit_model3_Packet1(gspca_dev, 0x0097, 0x0096); /* Blue sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2104
cit_model3_Packet1(gspca_dev, 0x0067, 0x0001); /* Contrast */
drivers/media/usb/gspca/xirlink_cit.c
2105
cit_model3_Packet1(gspca_dev, 0x005b, 0x000c); /* Contrast */
drivers/media/usb/gspca/xirlink_cit.c
2106
cit_model3_Packet1(gspca_dev, 0x005c, 0x0016); /* Contrast */
drivers/media/usb/gspca/xirlink_cit.c
2107
cit_model3_Packet1(gspca_dev, 0x0098, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2108
cit_model3_Packet1(gspca_dev, 0x002c, 0x0003); /* Was 1, broke 640x480 */
drivers/media/usb/gspca/xirlink_cit.c
2109
cit_model3_Packet1(gspca_dev, 0x002f, 0x002a);
drivers/media/usb/gspca/xirlink_cit.c
2110
cit_model3_Packet1(gspca_dev, 0x0030, 0x0029);
drivers/media/usb/gspca/xirlink_cit.c
2111
cit_model3_Packet1(gspca_dev, 0x0037, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
2112
cit_model3_Packet1(gspca_dev, 0x0038, 0x0059);
drivers/media/usb/gspca/xirlink_cit.c
2113
cit_model3_Packet1(gspca_dev, 0x003d, 0x002e);
drivers/media/usb/gspca/xirlink_cit.c
2114
cit_model3_Packet1(gspca_dev, 0x003e, 0x0028);
drivers/media/usb/gspca/xirlink_cit.c
2115
cit_model3_Packet1(gspca_dev, 0x0078, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
2116
cit_model3_Packet1(gspca_dev, 0x007b, 0x0011);
drivers/media/usb/gspca/xirlink_cit.c
2117
cit_model3_Packet1(gspca_dev, 0x007d, 0x004b);
drivers/media/usb/gspca/xirlink_cit.c
2118
cit_model3_Packet1(gspca_dev, 0x007f, 0x0022);
drivers/media/usb/gspca/xirlink_cit.c
2119
cit_model3_Packet1(gspca_dev, 0x0080, 0x000c);
drivers/media/usb/gspca/xirlink_cit.c
2120
cit_model3_Packet1(gspca_dev, 0x0081, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2121
cit_model3_Packet1(gspca_dev, 0x0083, 0x00fd);
drivers/media/usb/gspca/xirlink_cit.c
2122
cit_model3_Packet1(gspca_dev, 0x0086, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2123
cit_model3_Packet1(gspca_dev, 0x0087, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2124
cit_model3_Packet1(gspca_dev, 0x007e, 0x000e);
drivers/media/usb/gspca/xirlink_cit.c
2125
cit_model3_Packet1(gspca_dev, 0x0096, 0x00a0); /* Red sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2126
cit_model3_Packet1(gspca_dev, 0x0097, 0x0096); /* Blue sharpness */
drivers/media/usb/gspca/xirlink_cit.c
2127
cit_model3_Packet1(gspca_dev, 0x0098, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2132
cit_write_reg(gspca_dev, clock_div, 0x0111); /* Clock Divider */
drivers/media/usb/gspca/xirlink_cit.c
2134
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2136
cit_model3_Packet1(gspca_dev, 0x001f, 0x0000); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2137
cit_model3_Packet1(gspca_dev, 0x0039, 0x001f); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2138
cit_model3_Packet1(gspca_dev, 0x003b, 0x003c); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2139
cit_model3_Packet1(gspca_dev, 0x0040, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
2140
cit_model3_Packet1(gspca_dev, 0x0051, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
2143
cit_model3_Packet1(gspca_dev, 0x001f, 0x0000); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2144
cit_model3_Packet1(gspca_dev, 0x0039, 0x001f); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2145
cit_model3_Packet1(gspca_dev, 0x003b, 0x003c); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2146
cit_model3_Packet1(gspca_dev, 0x0040, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
2147
cit_model3_Packet1(gspca_dev, 0x0051, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2150
cit_model3_Packet1(gspca_dev, 0x001f, 0x0002); /* !Same */
drivers/media/usb/gspca/xirlink_cit.c
2151
cit_model3_Packet1(gspca_dev, 0x0039, 0x003e); /* !Same */
drivers/media/usb/gspca/xirlink_cit.c
2152
cit_model3_Packet1(gspca_dev, 0x0040, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
2153
cit_model3_Packet1(gspca_dev, 0x0051, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
2161
cit_read_reg(gspca_dev, rca_initdata[i][2], 0);
drivers/media/usb/gspca/xirlink_cit.c
2163
cit_write_reg(gspca_dev, rca_initdata[i][1],
drivers/media/usb/gspca/xirlink_cit.c
2171
static int cit_start_model4(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2173
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2175
cit_write_reg(gspca_dev, 0x0000, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
2176
cit_write_reg(gspca_dev, 0x00c0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2177
cit_write_reg(gspca_dev, 0x00bc, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
2178
cit_write_reg(gspca_dev, 0x0080, 0x012b);
drivers/media/usb/gspca/xirlink_cit.c
2179
cit_write_reg(gspca_dev, 0x0000, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
2180
cit_write_reg(gspca_dev, 0x0001, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
2181
cit_write_reg(gspca_dev, 0x009b, 0x010f);
drivers/media/usb/gspca/xirlink_cit.c
2182
cit_write_reg(gspca_dev, 0x00bb, 0x010f);
drivers/media/usb/gspca/xirlink_cit.c
2183
cit_model4_Packet1(gspca_dev, 0x0038, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2184
cit_model4_Packet1(gspca_dev, 0x000a, 0x005c);
drivers/media/usb/gspca/xirlink_cit.c
2186
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2187
cit_write_reg(gspca_dev, 0x0004, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2188
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2189
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2190
cit_write_reg(gspca_dev, 0x00fb, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2191
cit_write_reg(gspca_dev, 0x0000, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2192
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2193
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2194
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2195
cit_write_reg(gspca_dev, 0x000c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2196
cit_write_reg(gspca_dev, 0x0009, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2197
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2199
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2200
cit_write_reg(gspca_dev, 0x0012, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2201
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2202
cit_write_reg(gspca_dev, 0x0008, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2203
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2204
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2205
cit_write_reg(gspca_dev, 0x002a, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2206
cit_write_reg(gspca_dev, 0x0000, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2207
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2208
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2209
cit_model4_Packet1(gspca_dev, 0x0034, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2211
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2213
cit_write_reg(gspca_dev, 0x0070, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2214
cit_write_reg(gspca_dev, 0x00d0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2215
cit_write_reg(gspca_dev, 0x0039, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
2216
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2217
cit_write_reg(gspca_dev, 0x0028, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2218
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2219
cit_write_reg(gspca_dev, 0x001e, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2220
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2221
cit_write_reg(gspca_dev, 0x0016, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2222
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2223
cit_write_reg(gspca_dev, 0x000a, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2224
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2225
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2226
cit_write_reg(gspca_dev, 0x0014, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2227
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2228
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2229
cit_write_reg(gspca_dev, 0x00aa, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2230
cit_write_reg(gspca_dev, 0x001a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2231
cit_write_reg(gspca_dev, 0x8a0a, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2232
cit_write_reg(gspca_dev, 0x005a, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2233
cit_write_reg(gspca_dev, 0x9545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2234
cit_write_reg(gspca_dev, 0x00aa, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2235
cit_write_reg(gspca_dev, 0x0018, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2236
cit_write_reg(gspca_dev, 0x0043, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2237
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2238
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2239
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2240
cit_write_reg(gspca_dev, 0x001c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2241
cit_write_reg(gspca_dev, 0x00eb, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2242
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2243
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2244
cit_write_reg(gspca_dev, 0x0032, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2245
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2246
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2247
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2248
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2249
cit_write_reg(gspca_dev, 0x0036, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2250
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2251
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2252
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2253
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2254
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2255
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2256
cit_write_reg(gspca_dev, 0x0017, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2257
cit_write_reg(gspca_dev, 0x0013, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2258
cit_write_reg(gspca_dev, 0x0031, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2259
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2260
cit_write_reg(gspca_dev, 0x0017, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2261
cit_write_reg(gspca_dev, 0x0078, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2262
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2263
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2264
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2268
cit_write_reg(gspca_dev, 0x0038, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2269
cit_write_reg(gspca_dev, 0x00d0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2270
cit_write_reg(gspca_dev, 0x00b9, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
2271
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2272
cit_write_reg(gspca_dev, 0x0028, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2273
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2274
cit_write_reg(gspca_dev, 0x001e, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2275
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2276
cit_write_reg(gspca_dev, 0x0016, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2277
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2278
cit_write_reg(gspca_dev, 0x000b, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2279
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2280
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2281
cit_write_reg(gspca_dev, 0x0014, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2282
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2283
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2284
cit_write_reg(gspca_dev, 0x00aa, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2285
cit_write_reg(gspca_dev, 0x001a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2286
cit_write_reg(gspca_dev, 0x8a0a, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2287
cit_write_reg(gspca_dev, 0x005a, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2288
cit_write_reg(gspca_dev, 0x9545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2289
cit_write_reg(gspca_dev, 0x00aa, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2290
cit_write_reg(gspca_dev, 0x0018, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2291
cit_write_reg(gspca_dev, 0x0043, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2292
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2293
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2294
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2295
cit_write_reg(gspca_dev, 0x001c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2296
cit_write_reg(gspca_dev, 0x00c7, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2297
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2298
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2299
cit_write_reg(gspca_dev, 0x0032, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2300
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2301
cit_write_reg(gspca_dev, 0x0025, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2302
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2303
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2304
cit_write_reg(gspca_dev, 0x0036, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2305
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2306
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2307
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2308
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2309
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2310
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2311
cit_write_reg(gspca_dev, 0x0048, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2312
cit_write_reg(gspca_dev, 0x0035, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2313
cit_write_reg(gspca_dev, 0x00d0, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2314
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2315
cit_write_reg(gspca_dev, 0x0048, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2316
cit_write_reg(gspca_dev, 0x0090, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2317
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2318
cit_write_reg(gspca_dev, 0x0001, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2319
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2323
cit_write_reg(gspca_dev, 0x0038, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2324
cit_write_reg(gspca_dev, 0x00d0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2325
cit_write_reg(gspca_dev, 0x00b9, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
2326
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2327
cit_write_reg(gspca_dev, 0x002c, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2328
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2329
cit_write_reg(gspca_dev, 0x0024, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2330
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2331
cit_write_reg(gspca_dev, 0x0016, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2332
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2333
cit_write_reg(gspca_dev, 0x0007, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2334
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2335
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2336
cit_write_reg(gspca_dev, 0x0014, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2337
cit_write_reg(gspca_dev, 0x0001, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2338
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2339
cit_write_reg(gspca_dev, 0x00aa, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2340
cit_write_reg(gspca_dev, 0x001a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2341
cit_write_reg(gspca_dev, 0x8a0a, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2342
cit_write_reg(gspca_dev, 0x005e, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2343
cit_write_reg(gspca_dev, 0x9545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2344
cit_write_reg(gspca_dev, 0x00aa, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2345
cit_write_reg(gspca_dev, 0x0018, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2346
cit_write_reg(gspca_dev, 0x0049, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2347
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2348
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2349
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2350
cit_write_reg(gspca_dev, 0x001c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2351
cit_write_reg(gspca_dev, 0x00c7, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2352
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2353
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2354
cit_write_reg(gspca_dev, 0x0032, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2355
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2356
cit_write_reg(gspca_dev, 0x0028, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2357
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2358
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2359
cit_write_reg(gspca_dev, 0x0036, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2360
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2361
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2362
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2363
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2364
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2365
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2366
cit_write_reg(gspca_dev, 0x0010, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2367
cit_write_reg(gspca_dev, 0x0013, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2368
cit_write_reg(gspca_dev, 0x002a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2369
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2370
cit_write_reg(gspca_dev, 0x0010, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2371
cit_write_reg(gspca_dev, 0x006d, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2372
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2373
cit_write_reg(gspca_dev, 0x0001, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2374
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2380
cit_write_reg(gspca_dev, 0x0070, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2381
cit_write_reg(gspca_dev, 0x00d0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2382
cit_write_reg(gspca_dev, 0x0039, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
2383
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2384
cit_write_reg(gspca_dev, 0x0028, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2385
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2386
cit_write_reg(gspca_dev, 0x001e, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2387
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2388
cit_write_reg(gspca_dev, 0x0016, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2389
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2390
cit_write_reg(gspca_dev, 0x000a, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2391
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2392
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2393
cit_write_reg(gspca_dev, 0x0014, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2394
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2395
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2396
cit_write_reg(gspca_dev, 0x00aa, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2397
cit_write_reg(gspca_dev, 0x001a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2398
cit_write_reg(gspca_dev, 0x8a0a, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2399
cit_write_reg(gspca_dev, 0x005a, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2400
cit_write_reg(gspca_dev, 0x9545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2401
cit_write_reg(gspca_dev, 0x00aa, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2402
cit_write_reg(gspca_dev, 0x0018, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2403
cit_write_reg(gspca_dev, 0x0043, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2404
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2405
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2406
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2407
cit_write_reg(gspca_dev, 0x001c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2408
cit_write_reg(gspca_dev, 0x00eb, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2409
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2410
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2411
cit_write_reg(gspca_dev, 0x0032, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2412
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2413
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2414
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2415
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2416
cit_write_reg(gspca_dev, 0x0036, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2417
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2418
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2419
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2420
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2421
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2422
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2423
cit_write_reg(gspca_dev, 0x0017, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2424
cit_write_reg(gspca_dev, 0x0013, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2425
cit_write_reg(gspca_dev, 0x0031, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2426
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2427
cit_write_reg(gspca_dev, 0x0017, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2428
cit_write_reg(gspca_dev, 0x0078, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2429
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2430
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2431
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2435
cit_write_reg(gspca_dev, 0x0070, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2436
cit_write_reg(gspca_dev, 0x00c0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2437
cit_write_reg(gspca_dev, 0x0039, 0x010a);
drivers/media/usb/gspca/xirlink_cit.c
2438
cit_write_reg(gspca_dev, 0x0001, 0x0102);
drivers/media/usb/gspca/xirlink_cit.c
2439
cit_write_reg(gspca_dev, 0x002c, 0x0103);
drivers/media/usb/gspca/xirlink_cit.c
2440
cit_write_reg(gspca_dev, 0x0000, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2441
cit_write_reg(gspca_dev, 0x0024, 0x0105);
drivers/media/usb/gspca/xirlink_cit.c
2442
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2443
cit_write_reg(gspca_dev, 0x0016, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2444
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2445
cit_write_reg(gspca_dev, 0x0006, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2446
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2447
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2448
cit_write_reg(gspca_dev, 0x0014, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2449
cit_write_reg(gspca_dev, 0x0002, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2450
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2451
cit_write_reg(gspca_dev, 0x00aa, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2452
cit_write_reg(gspca_dev, 0x001a, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2453
cit_write_reg(gspca_dev, 0x8a0a, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2454
cit_write_reg(gspca_dev, 0x005e, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2455
cit_write_reg(gspca_dev, 0x9545, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2456
cit_write_reg(gspca_dev, 0x00aa, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2457
cit_write_reg(gspca_dev, 0x0018, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2458
cit_write_reg(gspca_dev, 0x0049, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2459
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2460
cit_write_reg(gspca_dev, 0x00aa, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2461
cit_write_reg(gspca_dev, 0xd055, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2462
cit_write_reg(gspca_dev, 0x001c, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2463
cit_write_reg(gspca_dev, 0x00cf, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2464
cit_write_reg(gspca_dev, 0xaa28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2465
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2466
cit_write_reg(gspca_dev, 0x0032, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2467
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2468
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2469
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2470
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2471
cit_write_reg(gspca_dev, 0x0036, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2472
cit_write_reg(gspca_dev, 0x0008, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2473
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2474
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2475
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2476
cit_write_reg(gspca_dev, 0x001e, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2477
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2478
cit_write_reg(gspca_dev, 0x0010, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2479
cit_write_reg(gspca_dev, 0x0013, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
2480
cit_write_reg(gspca_dev, 0x0025, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
2481
cit_write_reg(gspca_dev, 0x8a28, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2482
cit_write_reg(gspca_dev, 0x0010, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
2483
cit_write_reg(gspca_dev, 0x0048, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
2484
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2485
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
2486
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
2491
cit_model4_Packet1(gspca_dev, 0x0038, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
2496
static int cit_start_ibm_netcam_pro(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2501
clock_div = cit_get_clock_div(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2505
cit_write_reg(gspca_dev, 0x0003, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
2506
cit_write_reg(gspca_dev, 0x0000, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
2507
cit_write_reg(gspca_dev, 0x0008, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
2508
cit_write_reg(gspca_dev, 0x0000, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
2509
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
2511
cit_write_reg(gspca_dev, 0x0000, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
2512
cit_write_reg(gspca_dev, 0x0000, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
2513
cit_write_reg(gspca_dev, 0x0001, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
2514
cit_write_reg(gspca_dev, 0x0040, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
2515
cit_write_reg(gspca_dev, 0x0019, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
2516
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
2519
cit_model3_Packet1(gspca_dev, 0x0049, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2521
cit_write_reg(gspca_dev, 0x0000, 0x0101); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2522
cit_write_reg(gspca_dev, 0x003a, 0x0102); /* Hstart */
drivers/media/usb/gspca/xirlink_cit.c
2523
cit_write_reg(gspca_dev, 0x00a0, 0x0103); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2524
cit_write_reg(gspca_dev, 0x0078, 0x0105); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2525
cit_write_reg(gspca_dev, 0x0000, 0x010a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2526
cit_write_reg(gspca_dev, 0x0002, 0x011d); /* Same on 160x120, 320x240 */
drivers/media/usb/gspca/xirlink_cit.c
2527
cit_write_reg(gspca_dev, 0x0000, 0x0129); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2528
cit_write_reg(gspca_dev, 0x00fc, 0x012b); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2529
cit_write_reg(gspca_dev, 0x0022, 0x012a); /* Same */
drivers/media/usb/gspca/xirlink_cit.c
2531
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2533
cit_write_reg(gspca_dev, 0x0024, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
2534
cit_write_reg(gspca_dev, 0x0089, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2535
cit_write_reg(gspca_dev, 0x000a, 0x011b);
drivers/media/usb/gspca/xirlink_cit.c
2536
cit_write_reg(gspca_dev, 0x0003, 0x011e);
drivers/media/usb/gspca/xirlink_cit.c
2537
cit_write_reg(gspca_dev, 0x0007, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2538
cit_write_reg(gspca_dev, 0x0009, 0x011a);
drivers/media/usb/gspca/xirlink_cit.c
2539
cit_write_reg(gspca_dev, 0x008b, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
2540
cit_write_reg(gspca_dev, 0x0008, 0x0118);
drivers/media/usb/gspca/xirlink_cit.c
2541
cit_write_reg(gspca_dev, 0x0000, 0x0132);
drivers/media/usb/gspca/xirlink_cit.c
2544
cit_write_reg(gspca_dev, 0x0028, 0x010b);
drivers/media/usb/gspca/xirlink_cit.c
2545
cit_write_reg(gspca_dev, 0x00d9, 0x0119);
drivers/media/usb/gspca/xirlink_cit.c
2546
cit_write_reg(gspca_dev, 0x0006, 0x011b);
drivers/media/usb/gspca/xirlink_cit.c
2547
cit_write_reg(gspca_dev, 0x0000, 0x011e);
drivers/media/usb/gspca/xirlink_cit.c
2548
cit_write_reg(gspca_dev, 0x000e, 0x0104);
drivers/media/usb/gspca/xirlink_cit.c
2549
cit_write_reg(gspca_dev, 0x0004, 0x011a);
drivers/media/usb/gspca/xirlink_cit.c
2550
cit_write_reg(gspca_dev, 0x003f, 0x011c);
drivers/media/usb/gspca/xirlink_cit.c
2551
cit_write_reg(gspca_dev, 0x000c, 0x0118);
drivers/media/usb/gspca/xirlink_cit.c
2552
cit_write_reg(gspca_dev, 0x0000, 0x0132);
drivers/media/usb/gspca/xirlink_cit.c
2556
cit_model3_Packet1(gspca_dev, 0x0019, 0x0031);
drivers/media/usb/gspca/xirlink_cit.c
2557
cit_model3_Packet1(gspca_dev, 0x001a, 0x0003);
drivers/media/usb/gspca/xirlink_cit.c
2558
cit_model3_Packet1(gspca_dev, 0x001b, 0x0038);
drivers/media/usb/gspca/xirlink_cit.c
2559
cit_model3_Packet1(gspca_dev, 0x001c, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2560
cit_model3_Packet1(gspca_dev, 0x0024, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
2561
cit_model3_Packet1(gspca_dev, 0x0027, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
2562
cit_model3_Packet1(gspca_dev, 0x002a, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
2563
cit_model3_Packet1(gspca_dev, 0x0035, 0x000b);
drivers/media/usb/gspca/xirlink_cit.c
2564
cit_model3_Packet1(gspca_dev, 0x003f, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
2565
cit_model3_Packet1(gspca_dev, 0x0044, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2566
cit_model3_Packet1(gspca_dev, 0x0054, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2567
cit_model3_Packet1(gspca_dev, 0x00c4, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2568
cit_model3_Packet1(gspca_dev, 0x00e7, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
2569
cit_model3_Packet1(gspca_dev, 0x00e9, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
2570
cit_model3_Packet1(gspca_dev, 0x00ee, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2571
cit_model3_Packet1(gspca_dev, 0x00f3, 0x00c0);
drivers/media/usb/gspca/xirlink_cit.c
2573
cit_write_reg(gspca_dev, compression, 0x0109);
drivers/media/usb/gspca/xirlink_cit.c
2574
cit_write_reg(gspca_dev, clock_div, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2580
cit_read_reg(gspca_dev, rca_initdata[i][2], 0);
drivers/media/usb/gspca/xirlink_cit.c
2582
cit_write_reg(gspca_dev, rca_initdata[i][1],
drivers/media/usb/gspca/xirlink_cit.c
2591
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2593
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2596
packet_size = cit_get_packet_size(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2602
cit_start_model0(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2605
cit_start_model1(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2608
cit_start_model2(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2611
cit_start_model3(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2614
cit_start_model4(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2617
cit_start_ibm_netcam_pro(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2622
cit_write_reg(gspca_dev, packet_size >> 8, 0x0106);
drivers/media/usb/gspca/xirlink_cit.c
2623
cit_write_reg(gspca_dev, packet_size & 0xff, 0x0107);
drivers/media/usb/gspca/xirlink_cit.c
2625
cit_restart_stream(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2630
static int sd_isoc_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2636
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2648
intfc = gspca_dev->dev->actconfig->intf_cache[0];
drivers/media/usb/gspca/xirlink_cit.c
2664
static int sd_isoc_nego(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2669
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2684
alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
drivers/media/usb/gspca/xirlink_cit.c
2694
ret = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 1);
drivers/media/usb/gspca/xirlink_cit.c
2701
static void sd_stopN(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2703
cit_write_reg(gspca_dev, 0x0000, 0x010c);
drivers/media/usb/gspca/xirlink_cit.c
2706
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2708
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2710
if (!gspca_dev->present)
drivers/media/usb/gspca/xirlink_cit.c
2719
cit_write_reg(gspca_dev, 0x00c0, 0x0100); /* LED Off */
drivers/media/usb/gspca/xirlink_cit.c
2722
cit_send_FF_04_02(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2723
cit_read_reg(gspca_dev, 0x0100, 0);
drivers/media/usb/gspca/xirlink_cit.c
2724
cit_write_reg(gspca_dev, 0x81, 0x0100); /* LED Off */
drivers/media/usb/gspca/xirlink_cit.c
2730
cit_model2_Packet1(gspca_dev, 0x0030, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
2732
cit_write_reg(gspca_dev, 0x0080, 0x0100); /* LED Off */
drivers/media/usb/gspca/xirlink_cit.c
2733
cit_write_reg(gspca_dev, 0x0020, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2734
cit_write_reg(gspca_dev, 0x00a0, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2736
cit_model2_Packet1(gspca_dev, 0x0030, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
2738
cit_write_reg(gspca_dev, 0x0020, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2739
cit_write_reg(gspca_dev, 0x0000, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
2742
cit_write_reg(gspca_dev, 0x0006, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
2743
cit_model3_Packet1(gspca_dev, 0x0046, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
2744
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
2745
cit_write_reg(gspca_dev, 0x0064, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
2746
cit_read_reg(gspca_dev, 0x0115, 0);
drivers/media/usb/gspca/xirlink_cit.c
2747
cit_write_reg(gspca_dev, 0x0003, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
2748
cit_write_reg(gspca_dev, 0x0008, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
2749
cit_write_reg(gspca_dev, 0x0000, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
2750
cit_write_reg(gspca_dev, 0x0000, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
2751
cit_write_reg(gspca_dev, 0x0080, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
2754
cit_model3_Packet1(gspca_dev, 0x0049, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
2755
cit_write_reg(gspca_dev, 0x0006, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
2756
cit_write_reg(gspca_dev, 0x0000, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
2761
cit_write_reg(gspca_dev, 0x0008, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
2762
cit_write_reg(gspca_dev, 0x0000, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
2763
cit_write_reg(gspca_dev, 0x0003, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
2764
cit_write_reg(gspca_dev, 0x0000, 0x0111);
drivers/media/usb/gspca/xirlink_cit.c
2768
cit_write_reg(gspca_dev, 0x00c0, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
2775
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/xirlink_cit.c
2776
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/xirlink_cit.c
2782
static u8 *cit_find_sof(struct gspca_dev *gspca_dev, u8 *data, int len)
drivers/media/usb/gspca/xirlink_cit.c
2784
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2793
switch (gspca_dev->pixfmt.width) {
drivers/media/usb/gspca/xirlink_cit.c
2876
gspca_dbg(gspca_dev, D_FRAM,
drivers/media/usb/gspca/xirlink_cit.c
2883
gspca_dbg(gspca_dev, D_FRAM,
drivers/media/usb/gspca/xirlink_cit.c
2897
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/xirlink_cit.c
2900
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2903
sof = cit_find_sof(gspca_dev, data, len);
drivers/media/usb/gspca/xirlink_cit.c
2913
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/xirlink_cit.c
2915
gspca_frame_add(gspca_dev, FIRST_PACKET, NULL, 0);
drivers/media/usb/gspca/xirlink_cit.c
2920
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/xirlink_cit.c
2924
static void cit_check_button(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
2927
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2938
cit_read_reg(gspca_dev, 0x0113, 0);
drivers/media/usb/gspca/xirlink_cit.c
2939
new_button_state = !gspca_dev->usb_buf[0];
drivers/media/usb/gspca/xirlink_cit.c
2945
cit_write_reg(gspca_dev, 0x01, 0x0113);
drivers/media/usb/gspca/xirlink_cit.c
2948
input_report_key(gspca_dev->input_dev, KEY_CAMERA,
drivers/media/usb/gspca/xirlink_cit.c
2950
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/xirlink_cit.c
2958
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/xirlink_cit.c
2959
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/xirlink_cit.c
2960
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
2962
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/xirlink_cit.c
2964
if (!gspca_dev->streaming)
drivers/media/usb/gspca/xirlink_cit.c
2968
sd_stopN(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2971
cit_set_brightness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2974
cit_set_contrast(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2977
cit_set_hue(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2980
cit_set_hflip(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2983
cit_set_sharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2986
cit_set_lighting(gspca_dev, ctrl->val);
drivers/media/usb/gspca/xirlink_cit.c
2990
cit_restart_stream(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
2991
return gspca_dev->usb_err;
drivers/media/usb/gspca/xirlink_cit.c
2998
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
3000
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
3001
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/xirlink_cit.c
3033
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/xirlink_cit.c
41
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/xirlink_cit.c
57
static void sd_stop0(struct gspca_dev *gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
666
static int cit_write_reg(struct gspca_dev *gspca_dev, u16 value, u16 index)
drivers/media/usb/gspca/xirlink_cit.c
668
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/xirlink_cit.c
681
static int cit_read_reg(struct gspca_dev *gspca_dev, u16 index, int verbose)
drivers/media/usb/gspca/xirlink_cit.c
683
struct usb_device *udev = gspca_dev->dev;
drivers/media/usb/gspca/xirlink_cit.c
684
__u8 *buf = gspca_dev->usb_buf;
drivers/media/usb/gspca/xirlink_cit.c
697
gspca_dbg(gspca_dev, D_PROBE, "Register %04x value: %02x\n",
drivers/media/usb/gspca/xirlink_cit.c
712
static void cit_send_FF_04_02(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
714
cit_write_reg(gspca_dev, 0x00FF, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
715
cit_write_reg(gspca_dev, 0x0004, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
716
cit_write_reg(gspca_dev, 0x0002, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
719
static void cit_send_00_04_06(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
721
cit_write_reg(gspca_dev, 0x0000, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
722
cit_write_reg(gspca_dev, 0x0004, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
723
cit_write_reg(gspca_dev, 0x0006, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
726
static void cit_send_x_00(struct gspca_dev *gspca_dev, unsigned short x)
drivers/media/usb/gspca/xirlink_cit.c
728
cit_write_reg(gspca_dev, x, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
729
cit_write_reg(gspca_dev, 0x0000, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
732
static void cit_send_x_00_05(struct gspca_dev *gspca_dev, unsigned short x)
drivers/media/usb/gspca/xirlink_cit.c
734
cit_send_x_00(gspca_dev, x);
drivers/media/usb/gspca/xirlink_cit.c
735
cit_write_reg(gspca_dev, 0x0005, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
738
static void cit_send_x_00_05_02(struct gspca_dev *gspca_dev, unsigned short x)
drivers/media/usb/gspca/xirlink_cit.c
740
cit_write_reg(gspca_dev, x, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
741
cit_write_reg(gspca_dev, 0x0000, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
742
cit_write_reg(gspca_dev, 0x0005, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
743
cit_write_reg(gspca_dev, 0x0002, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
746
static void cit_send_x_01_00_05(struct gspca_dev *gspca_dev, u16 x)
drivers/media/usb/gspca/xirlink_cit.c
748
cit_write_reg(gspca_dev, x, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
749
cit_write_reg(gspca_dev, 0x0001, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
750
cit_write_reg(gspca_dev, 0x0000, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
751
cit_write_reg(gspca_dev, 0x0005, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
754
static void cit_send_x_00_05_02_01(struct gspca_dev *gspca_dev, u16 x)
drivers/media/usb/gspca/xirlink_cit.c
756
cit_write_reg(gspca_dev, x, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
757
cit_write_reg(gspca_dev, 0x0000, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
758
cit_write_reg(gspca_dev, 0x0005, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
759
cit_write_reg(gspca_dev, 0x0002, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
760
cit_write_reg(gspca_dev, 0x0001, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
763
static void cit_send_x_00_05_02_08_01(struct gspca_dev *gspca_dev, u16 x)
drivers/media/usb/gspca/xirlink_cit.c
765
cit_write_reg(gspca_dev, x, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
766
cit_write_reg(gspca_dev, 0x0000, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
767
cit_write_reg(gspca_dev, 0x0005, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
768
cit_write_reg(gspca_dev, 0x0002, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
769
cit_write_reg(gspca_dev, 0x0008, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
770
cit_write_reg(gspca_dev, 0x0001, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
773
static void cit_Packet_Format1(struct gspca_dev *gspca_dev, u16 fkey, u16 val)
drivers/media/usb/gspca/xirlink_cit.c
775
cit_send_x_01_00_05(gspca_dev, 0x0088);
drivers/media/usb/gspca/xirlink_cit.c
776
cit_send_x_00_05(gspca_dev, fkey);
drivers/media/usb/gspca/xirlink_cit.c
777
cit_send_x_00_05_02_08_01(gspca_dev, val);
drivers/media/usb/gspca/xirlink_cit.c
778
cit_send_x_00_05(gspca_dev, 0x0088);
drivers/media/usb/gspca/xirlink_cit.c
779
cit_send_x_00_05_02_01(gspca_dev, fkey);
drivers/media/usb/gspca/xirlink_cit.c
780
cit_send_x_00_05(gspca_dev, 0x0089);
drivers/media/usb/gspca/xirlink_cit.c
781
cit_send_x_00(gspca_dev, fkey);
drivers/media/usb/gspca/xirlink_cit.c
782
cit_send_00_04_06(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
783
cit_read_reg(gspca_dev, 0x0126, 0);
drivers/media/usb/gspca/xirlink_cit.c
784
cit_send_FF_04_02(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
787
static void cit_PacketFormat2(struct gspca_dev *gspca_dev, u16 fkey, u16 val)
drivers/media/usb/gspca/xirlink_cit.c
789
cit_send_x_01_00_05(gspca_dev, 0x0088);
drivers/media/usb/gspca/xirlink_cit.c
790
cit_send_x_00_05(gspca_dev, fkey);
drivers/media/usb/gspca/xirlink_cit.c
791
cit_send_x_00_05_02(gspca_dev, val);
drivers/media/usb/gspca/xirlink_cit.c
794
static void cit_model2_Packet2(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
796
cit_write_reg(gspca_dev, 0x00ff, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
797
cit_write_reg(gspca_dev, 0xfea3, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
800
static void cit_model2_Packet1(struct gspca_dev *gspca_dev, u16 v1, u16 v2)
drivers/media/usb/gspca/xirlink_cit.c
802
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
803
cit_write_reg(gspca_dev, 0x00ff, 0x012e);
drivers/media/usb/gspca/xirlink_cit.c
804
cit_write_reg(gspca_dev, v1, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
805
cit_write_reg(gspca_dev, 0x00ff, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
806
cit_write_reg(gspca_dev, 0xc719, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
807
cit_write_reg(gspca_dev, v2, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
809
cit_model2_Packet2(gspca_dev);
drivers/media/usb/gspca/xirlink_cit.c
821
static void cit_model3_Packet1(struct gspca_dev *gspca_dev, u16 v1, u16 v2)
drivers/media/usb/gspca/xirlink_cit.c
823
cit_write_reg(gspca_dev, 0x0078, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
824
cit_write_reg(gspca_dev, v1, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
825
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
826
cit_write_reg(gspca_dev, v2, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
827
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
830
static void cit_model4_Packet1(struct gspca_dev *gspca_dev, u16 v1, u16 v2)
drivers/media/usb/gspca/xirlink_cit.c
832
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
833
cit_write_reg(gspca_dev, v1, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
834
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
835
cit_write_reg(gspca_dev, v2, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
836
cit_write_reg(gspca_dev, 0xfea8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
839
static void cit_model4_BrightnessPacket(struct gspca_dev *gspca_dev, u16 val)
drivers/media/usb/gspca/xirlink_cit.c
841
cit_write_reg(gspca_dev, 0x00aa, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
842
cit_write_reg(gspca_dev, 0x0026, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
843
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
844
cit_write_reg(gspca_dev, val, 0x0127);
drivers/media/usb/gspca/xirlink_cit.c
845
cit_write_reg(gspca_dev, 0x00aa, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
846
cit_write_reg(gspca_dev, 0x82a8, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
847
cit_write_reg(gspca_dev, 0x0038, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
848
cit_write_reg(gspca_dev, 0x0004, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
849
cit_write_reg(gspca_dev, 0xd145, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
850
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
854
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/xirlink_cit.c
857
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/xirlink_cit.c
864
cam = &gspca_dev->cam;
drivers/media/usb/gspca/xirlink_cit.c
902
static int cit_init_model0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
904
cit_write_reg(gspca_dev, 0x0000, 0x0100); /* turn on led */
drivers/media/usb/gspca/xirlink_cit.c
905
cit_write_reg(gspca_dev, 0x0001, 0x0112); /* turn on autogain ? */
drivers/media/usb/gspca/xirlink_cit.c
906
cit_write_reg(gspca_dev, 0x0000, 0x0400);
drivers/media/usb/gspca/xirlink_cit.c
907
cit_write_reg(gspca_dev, 0x0001, 0x0400);
drivers/media/usb/gspca/xirlink_cit.c
908
cit_write_reg(gspca_dev, 0x0000, 0x0420);
drivers/media/usb/gspca/xirlink_cit.c
909
cit_write_reg(gspca_dev, 0x0001, 0x0420);
drivers/media/usb/gspca/xirlink_cit.c
910
cit_write_reg(gspca_dev, 0x000d, 0x0409);
drivers/media/usb/gspca/xirlink_cit.c
911
cit_write_reg(gspca_dev, 0x0002, 0x040a);
drivers/media/usb/gspca/xirlink_cit.c
912
cit_write_reg(gspca_dev, 0x0018, 0x0405);
drivers/media/usb/gspca/xirlink_cit.c
913
cit_write_reg(gspca_dev, 0x0008, 0x0435);
drivers/media/usb/gspca/xirlink_cit.c
914
cit_write_reg(gspca_dev, 0x0026, 0x040b);
drivers/media/usb/gspca/xirlink_cit.c
915
cit_write_reg(gspca_dev, 0x0007, 0x0437);
drivers/media/usb/gspca/xirlink_cit.c
916
cit_write_reg(gspca_dev, 0x0015, 0x042f);
drivers/media/usb/gspca/xirlink_cit.c
917
cit_write_reg(gspca_dev, 0x002b, 0x0439);
drivers/media/usb/gspca/xirlink_cit.c
918
cit_write_reg(gspca_dev, 0x0026, 0x043a);
drivers/media/usb/gspca/xirlink_cit.c
919
cit_write_reg(gspca_dev, 0x0008, 0x0438);
drivers/media/usb/gspca/xirlink_cit.c
920
cit_write_reg(gspca_dev, 0x001e, 0x042b);
drivers/media/usb/gspca/xirlink_cit.c
921
cit_write_reg(gspca_dev, 0x0041, 0x042c);
drivers/media/usb/gspca/xirlink_cit.c
926
static int cit_init_ibm_netcam_pro(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/xirlink_cit.c
928
cit_read_reg(gspca_dev, 0x128, 1);
drivers/media/usb/gspca/xirlink_cit.c
929
cit_write_reg(gspca_dev, 0x0003, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
930
cit_write_reg(gspca_dev, 0x0000, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
931
cit_write_reg(gspca_dev, 0x0008, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
932
cit_write_reg(gspca_dev, 0x0000, 0x0100);
drivers/media/usb/gspca/xirlink_cit.c
933
cit_read_reg(gspca_dev, 0x0116, 0);
drivers/media/usb/gspca/xirlink_cit.c
934
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
935
cit_write_reg(gspca_dev, 0x0002, 0x0112);
drivers/media/usb/gspca/xirlink_cit.c
936
cit_write_reg(gspca_dev, 0x0000, 0x0133);
drivers/media/usb/gspca/xirlink_cit.c
937
cit_write_reg(gspca_dev, 0x0000, 0x0123);
drivers/media/usb/gspca/xirlink_cit.c
938
cit_write_reg(gspca_dev, 0x0001, 0x0117);
drivers/media/usb/gspca/xirlink_cit.c
939
cit_write_reg(gspca_dev, 0x0040, 0x0108);
drivers/media/usb/gspca/xirlink_cit.c
940
cit_write_reg(gspca_dev, 0x0019, 0x012c);
drivers/media/usb/gspca/xirlink_cit.c
941
cit_write_reg(gspca_dev, 0x0060, 0x0116);
drivers/media/usb/gspca/xirlink_cit.c
942
cit_write_reg(gspca_dev, 0x0002, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
943
cit_write_reg(gspca_dev, 0x000b, 0x0115);
drivers/media/usb/gspca/xirlink_cit.c
945
cit_write_reg(gspca_dev, 0x0078, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
946
cit_write_reg(gspca_dev, 0x0001, 0x012f);
drivers/media/usb/gspca/xirlink_cit.c
947
cit_write_reg(gspca_dev, 0xd141, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
948
cit_write_reg(gspca_dev, 0x0079, 0x012d);
drivers/media/usb/gspca/xirlink_cit.c
949
cit_write_reg(gspca_dev, 0x00ff, 0x0130);
drivers/media/usb/gspca/xirlink_cit.c
950
cit_write_reg(gspca_dev, 0xcd41, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
951
cit_write_reg(gspca_dev, 0xfffa, 0x0124);
drivers/media/usb/gspca/xirlink_cit.c
952
cit_read_reg(gspca_dev, 0x0126, 1);
drivers/media/usb/gspca/xirlink_cit.c
954
cit_model3_Packet1(gspca_dev, 0x0000, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
955
cit_model3_Packet1(gspca_dev, 0x0000, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
956
cit_model3_Packet1(gspca_dev, 0x000b, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
957
cit_model3_Packet1(gspca_dev, 0x000c, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
958
cit_model3_Packet1(gspca_dev, 0x000d, 0x003a);
drivers/media/usb/gspca/xirlink_cit.c
959
cit_model3_Packet1(gspca_dev, 0x000e, 0x0060);
drivers/media/usb/gspca/xirlink_cit.c
960
cit_model3_Packet1(gspca_dev, 0x000f, 0x0060);
drivers/media/usb/gspca/xirlink_cit.c
961
cit_model3_Packet1(gspca_dev, 0x0010, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
962
cit_model3_Packet1(gspca_dev, 0x0011, 0x0004);
drivers/media/usb/gspca/xirlink_cit.c
963
cit_model3_Packet1(gspca_dev, 0x0012, 0x0028);
drivers/media/usb/gspca/xirlink_cit.c
964
cit_model3_Packet1(gspca_dev, 0x0013, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
965
cit_model3_Packet1(gspca_dev, 0x0014, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
966
cit_model3_Packet1(gspca_dev, 0x0015, 0x00fb);
drivers/media/usb/gspca/xirlink_cit.c
967
cit_model3_Packet1(gspca_dev, 0x0016, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
968
cit_model3_Packet1(gspca_dev, 0x0017, 0x0037);
drivers/media/usb/gspca/xirlink_cit.c
969
cit_model3_Packet1(gspca_dev, 0x0018, 0x0036);
drivers/media/usb/gspca/xirlink_cit.c
970
cit_model3_Packet1(gspca_dev, 0x001e, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
971
cit_model3_Packet1(gspca_dev, 0x001f, 0x0008);
drivers/media/usb/gspca/xirlink_cit.c
972
cit_model3_Packet1(gspca_dev, 0x0020, 0x00c1);
drivers/media/usb/gspca/xirlink_cit.c
973
cit_model3_Packet1(gspca_dev, 0x0021, 0x0034);
drivers/media/usb/gspca/xirlink_cit.c
974
cit_model3_Packet1(gspca_dev, 0x0022, 0x0034);
drivers/media/usb/gspca/xirlink_cit.c
975
cit_model3_Packet1(gspca_dev, 0x0025, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
976
cit_model3_Packet1(gspca_dev, 0x0028, 0x0022);
drivers/media/usb/gspca/xirlink_cit.c
977
cit_model3_Packet1(gspca_dev, 0x0029, 0x000a);
drivers/media/usb/gspca/xirlink_cit.c
978
cit_model3_Packet1(gspca_dev, 0x002b, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
979
cit_model3_Packet1(gspca_dev, 0x002c, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
980
cit_model3_Packet1(gspca_dev, 0x002d, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
981
cit_model3_Packet1(gspca_dev, 0x002e, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
982
cit_model3_Packet1(gspca_dev, 0x002f, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
983
cit_model3_Packet1(gspca_dev, 0x0030, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
984
cit_model3_Packet1(gspca_dev, 0x0031, 0x00ff);
drivers/media/usb/gspca/xirlink_cit.c
985
cit_model3_Packet1(gspca_dev, 0x0032, 0x0007);
drivers/media/usb/gspca/xirlink_cit.c
986
cit_model3_Packet1(gspca_dev, 0x0033, 0x0005);
drivers/media/usb/gspca/xirlink_cit.c
987
cit_model3_Packet1(gspca_dev, 0x0037, 0x0040);
drivers/media/usb/gspca/xirlink_cit.c
988
cit_model3_Packet1(gspca_dev, 0x0039, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
989
cit_model3_Packet1(gspca_dev, 0x003a, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
990
cit_model3_Packet1(gspca_dev, 0x003b, 0x0001);
drivers/media/usb/gspca/xirlink_cit.c
991
cit_model3_Packet1(gspca_dev, 0x003c, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
992
cit_model3_Packet1(gspca_dev, 0x0040, 0x000c);
drivers/media/usb/gspca/xirlink_cit.c
993
cit_model3_Packet1(gspca_dev, 0x0041, 0x00fb);
drivers/media/usb/gspca/xirlink_cit.c
994
cit_model3_Packet1(gspca_dev, 0x0042, 0x0002);
drivers/media/usb/gspca/xirlink_cit.c
995
cit_model3_Packet1(gspca_dev, 0x0043, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
996
cit_model3_Packet1(gspca_dev, 0x0045, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
997
cit_model3_Packet1(gspca_dev, 0x0046, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
998
cit_model3_Packet1(gspca_dev, 0x0047, 0x0000);
drivers/media/usb/gspca/xirlink_cit.c
999
cit_model3_Packet1(gspca_dev, 0x0048, 0x0000);
drivers/media/usb/gspca/zc3xx.c
26
struct gspca_dev gspca_dev; /* !! must be the first item */
drivers/media/usb/gspca/zc3xx.c
5529
static u8 reg_r(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5534
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/zc3xx.c
5536
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/zc3xx.c
5537
usb_rcvctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/zc3xx.c
5541
index, gspca_dev->usb_buf, 1,
drivers/media/usb/gspca/zc3xx.c
5545
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/zc3xx.c
5548
return gspca_dev->usb_buf[0];
drivers/media/usb/gspca/zc3xx.c
5551
static void reg_w(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5557
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/zc3xx.c
5559
ret = usb_control_msg(gspca_dev->dev,
drivers/media/usb/gspca/zc3xx.c
5560
usb_sndctrlpipe(gspca_dev->dev, 0),
drivers/media/usb/gspca/zc3xx.c
5567
gspca_dev->usb_err = ret;
drivers/media/usb/gspca/zc3xx.c
5571
static u16 i2c_read(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5577
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/zc3xx.c
5579
reg_w(gspca_dev, reg, 0x0092);
drivers/media/usb/gspca/zc3xx.c
5580
reg_w(gspca_dev, 0x02, 0x0090); /* <- read command */
drivers/media/usb/gspca/zc3xx.c
5582
retbyte = reg_r(gspca_dev, 0x0091); /* read status */
drivers/media/usb/gspca/zc3xx.c
5585
retval = reg_r(gspca_dev, 0x0095); /* read Lowbyte */
drivers/media/usb/gspca/zc3xx.c
5586
retval |= reg_r(gspca_dev, 0x0096) << 8; /* read Hightbyte */
drivers/media/usb/gspca/zc3xx.c
5590
static u8 i2c_write(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5597
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/zc3xx.c
5599
reg_w(gspca_dev, reg, 0x92);
drivers/media/usb/gspca/zc3xx.c
5600
reg_w(gspca_dev, valL, 0x93);
drivers/media/usb/gspca/zc3xx.c
5601
reg_w(gspca_dev, valH, 0x94);
drivers/media/usb/gspca/zc3xx.c
5602
reg_w(gspca_dev, 0x01, 0x90); /* <- write command */
drivers/media/usb/gspca/zc3xx.c
5604
retbyte = reg_r(gspca_dev, 0x0091); /* read status */
drivers/media/usb/gspca/zc3xx.c
5610
static void usb_exchange(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5616
reg_w(gspca_dev, action->val, action->idx);
drivers/media/usb/gspca/zc3xx.c
5619
reg_r(gspca_dev, action->idx);
drivers/media/usb/gspca/zc3xx.c
5622
i2c_write(gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5628
i2c_write(gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5643
static void setmatrix(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
5645
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5690
reg_w(gspca_dev, matrix[i], 0x010a + i);
drivers/media/usb/gspca/zc3xx.c
5693
static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/zc3xx.c
5702
reg_w(gspca_dev, sharpness_tb[val][0], 0x01c6);
drivers/media/usb/gspca/zc3xx.c
5703
reg_r(gspca_dev, 0x01c8);
drivers/media/usb/gspca/zc3xx.c
5704
reg_r(gspca_dev, 0x01c9);
drivers/media/usb/gspca/zc3xx.c
5705
reg_r(gspca_dev, 0x01ca);
drivers/media/usb/gspca/zc3xx.c
5706
reg_w(gspca_dev, sharpness_tb[val][1], 0x01cb);
drivers/media/usb/gspca/zc3xx.c
5709
static void setcontrast(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
5749
reg_w(gspca_dev, g, 0x0120 + i); /* gamma */
drivers/media/usb/gspca/zc3xx.c
5763
reg_w(gspca_dev, gr[i], 0x0130 + i); /* gradient */
drivers/media/usb/gspca/zc3xx.c
5766
static s32 getexposure(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
5768
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5772
return (i2c_read(gspca_dev, 0x25) << 9)
drivers/media/usb/gspca/zc3xx.c
5773
| (i2c_read(gspca_dev, 0x26) << 1)
drivers/media/usb/gspca/zc3xx.c
5774
| (i2c_read(gspca_dev, 0x27) >> 7);
drivers/media/usb/gspca/zc3xx.c
5776
return i2c_read(gspca_dev, 0x10);
drivers/media/usb/gspca/zc3xx.c
5782
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/zc3xx.c
5784
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5788
i2c_write(gspca_dev, 0x25, val >> 9, 0x00);
drivers/media/usb/gspca/zc3xx.c
5789
i2c_write(gspca_dev, 0x26, val >> 1, 0x00);
drivers/media/usb/gspca/zc3xx.c
5790
i2c_write(gspca_dev, 0x27, val << 7, 0x00);
drivers/media/usb/gspca/zc3xx.c
5793
i2c_write(gspca_dev, 0x10, val, 0x00);
drivers/media/usb/gspca/zc3xx.c
5798
static void setquality(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
5800
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5802
reg_w(gspca_dev, sd->reg08, ZC3XX_R008_CLOCKSETTING);
drivers/media/usb/gspca/zc3xx.c
5811
static void setlightfreq(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/zc3xx.c
5813
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5896
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/zc3xx.c
5902
usb_exchange(gspca_dev, zc3_freq);
drivers/media/usb/gspca/zc3xx.c
5907
reg_w(gspca_dev, 0x85, 0x018d);
drivers/media/usb/gspca/zc3xx.c
5913
reg_w(gspca_dev, 0x40, 0x0002);
drivers/media/usb/gspca/zc3xx.c
5915
reg_w(gspca_dev, 0x44, 0x0002);
drivers/media/usb/gspca/zc3xx.c
5919
reg_w(gspca_dev, 0x00, 0x01a7);
drivers/media/usb/gspca/zc3xx.c
5924
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
drivers/media/usb/gspca/zc3xx.c
5926
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5929
i2c_write(gspca_dev, 0x13, val ? 0xa3 : 0x80, 0x00);
drivers/media/usb/gspca/zc3xx.c
5931
reg_w(gspca_dev, val ? 0x42 : 0x02, 0x0180);
drivers/media/usb/gspca/zc3xx.c
5941
struct gspca_dev *gspca_dev = &sd->gspca_dev;
drivers/media/usb/gspca/zc3xx.c
5953
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/zc3xx.c
5955
if (gspca_dev->frozen)
drivers/media/usb/gspca/zc3xx.c
5958
if (!gspca_dev->present || !gspca_dev->streaming)
drivers/media/usb/gspca/zc3xx.c
5962
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/zc3xx.c
5963
reg11 = reg_r(gspca_dev, 0x0011);
drivers/media/usb/gspca/zc3xx.c
5964
if (gspca_dev->usb_err)
drivers/media/usb/gspca/zc3xx.c
5991
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/zc3xx.c
5992
reg_w(gspca_dev, reg07, 0x0007);
drivers/media/usb/gspca/zc3xx.c
5993
if (gspca_dev->usb_err)
drivers/media/usb/gspca/zc3xx.c
5996
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/zc3xx.c
6000
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/zc3xx.c
6003
static void send_unknown(struct gspca_dev *gspca_dev, int sensor)
drivers/media/usb/gspca/zc3xx.c
6005
reg_w(gspca_dev, 0x01, 0x0000); /* bridge reset */
drivers/media/usb/gspca/zc3xx.c
6008
reg_w(gspca_dev, 0x03, 0x003a);
drivers/media/usb/gspca/zc3xx.c
6009
reg_w(gspca_dev, 0x0c, 0x003b);
drivers/media/usb/gspca/zc3xx.c
6010
reg_w(gspca_dev, 0x08, 0x0038);
drivers/media/usb/gspca/zc3xx.c
6019
reg_w(gspca_dev, 0x0d, 0x003a);
drivers/media/usb/gspca/zc3xx.c
6020
reg_w(gspca_dev, 0x02, 0x003b);
drivers/media/usb/gspca/zc3xx.c
6021
reg_w(gspca_dev, 0x00, 0x0038);
drivers/media/usb/gspca/zc3xx.c
6025
reg_w(gspca_dev, 0x03, 0x003b);
drivers/media/usb/gspca/zc3xx.c
6026
reg_w(gspca_dev, 0x0c, 0x003a);
drivers/media/usb/gspca/zc3xx.c
6027
reg_w(gspca_dev, 0x0b, 0x0039);
drivers/media/usb/gspca/zc3xx.c
6029
reg_w(gspca_dev, 0x0b, 0x0038);
drivers/media/usb/gspca/zc3xx.c
6035
static void start_2wr_probe(struct gspca_dev *gspca_dev, int sensor)
drivers/media/usb/gspca/zc3xx.c
6037
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6038
reg_w(gspca_dev, sensor, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6039
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6040
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6041
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6045
static int sif_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6049
start_2wr_probe(gspca_dev, 0x0f); /* PAS106 */
drivers/media/usb/gspca/zc3xx.c
6050
reg_w(gspca_dev, 0x08, 0x008d);
drivers/media/usb/gspca/zc3xx.c
6052
checkword = ((i2c_read(gspca_dev, 0x00) & 0x0f) << 4)
drivers/media/usb/gspca/zc3xx.c
6053
| ((i2c_read(gspca_dev, 0x01) & 0xf0) >> 4);
drivers/media/usb/gspca/zc3xx.c
6054
gspca_dbg(gspca_dev, D_PROBE, "probe sif 0x%04x\n", checkword);
drivers/media/usb/gspca/zc3xx.c
6056
send_unknown(gspca_dev, SENSOR_PAS106);
drivers/media/usb/gspca/zc3xx.c
6062
static int vga_2wr_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6066
start_2wr_probe(gspca_dev, 0x00); /* HV7131B */
drivers/media/usb/gspca/zc3xx.c
6067
i2c_write(gspca_dev, 0x01, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6068
retword = i2c_read(gspca_dev, 0x01);
drivers/media/usb/gspca/zc3xx.c
6072
start_2wr_probe(gspca_dev, 0x04); /* CS2102 */
drivers/media/usb/gspca/zc3xx.c
6073
i2c_write(gspca_dev, 0x01, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6074
retword = i2c_read(gspca_dev, 0x01);
drivers/media/usb/gspca/zc3xx.c
6078
start_2wr_probe(gspca_dev, 0x06); /* OmniVision */
drivers/media/usb/gspca/zc3xx.c
6079
reg_w(gspca_dev, 0x08, 0x008d);
drivers/media/usb/gspca/zc3xx.c
6080
i2c_write(gspca_dev, 0x11, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6081
retword = i2c_read(gspca_dev, 0x11);
drivers/media/usb/gspca/zc3xx.c
6088
start_2wr_probe(gspca_dev, 0x08); /* HDCS2020 */
drivers/media/usb/gspca/zc3xx.c
6089
i2c_write(gspca_dev, 0x1c, 0x00, 0x00);
drivers/media/usb/gspca/zc3xx.c
6090
i2c_write(gspca_dev, 0x15, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6091
retword = i2c_read(gspca_dev, 0x15);
drivers/media/usb/gspca/zc3xx.c
6095
start_2wr_probe(gspca_dev, 0x0a); /* PB0330 */
drivers/media/usb/gspca/zc3xx.c
6096
i2c_write(gspca_dev, 0x07, 0xaa, 0xaa);
drivers/media/usb/gspca/zc3xx.c
6097
retword = i2c_read(gspca_dev, 0x07);
drivers/media/usb/gspca/zc3xx.c
6100
retword = i2c_read(gspca_dev, 0x03);
drivers/media/usb/gspca/zc3xx.c
6103
retword = i2c_read(gspca_dev, 0x04);
drivers/media/usb/gspca/zc3xx.c
6107
start_2wr_probe(gspca_dev, 0x0c); /* ICM105A */
drivers/media/usb/gspca/zc3xx.c
6108
i2c_write(gspca_dev, 0x01, 0x11, 0x00);
drivers/media/usb/gspca/zc3xx.c
6109
retword = i2c_read(gspca_dev, 0x01);
drivers/media/usb/gspca/zc3xx.c
6113
start_2wr_probe(gspca_dev, 0x0e); /* PAS202BCB */
drivers/media/usb/gspca/zc3xx.c
6114
reg_w(gspca_dev, 0x08, 0x008d);
drivers/media/usb/gspca/zc3xx.c
6115
i2c_write(gspca_dev, 0x03, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6117
retword = i2c_read(gspca_dev, 0x03);
drivers/media/usb/gspca/zc3xx.c
6119
send_unknown(gspca_dev, SENSOR_PAS202B);
drivers/media/usb/gspca/zc3xx.c
6123
start_2wr_probe(gspca_dev, 0x02); /* TAS5130C */
drivers/media/usb/gspca/zc3xx.c
6124
i2c_write(gspca_dev, 0x01, 0xaa, 0x00);
drivers/media/usb/gspca/zc3xx.c
6125
retword = i2c_read(gspca_dev, 0x01);
drivers/media/usb/gspca/zc3xx.c
6129
reg_r(gspca_dev, 0x0010); /* ?? */
drivers/media/usb/gspca/zc3xx.c
6130
reg_r(gspca_dev, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6132
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6133
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6134
reg_w(gspca_dev, 0x06, 0x0010); /* OmniVision */
drivers/media/usb/gspca/zc3xx.c
6135
reg_w(gspca_dev, 0xa1, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6136
reg_w(gspca_dev, 0x08, 0x008d);
drivers/media/usb/gspca/zc3xx.c
6138
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6139
i2c_write(gspca_dev, 0x12, 0x80, 0x00); /* sensor reset */
drivers/media/usb/gspca/zc3xx.c
6140
retword = i2c_read(gspca_dev, 0x0a) << 8;
drivers/media/usb/gspca/zc3xx.c
6141
retword |= i2c_read(gspca_dev, 0x0b);
drivers/media/usb/gspca/zc3xx.c
6142
gspca_dbg(gspca_dev, D_PROBE, "probe 2wr ov vga 0x%04x\n", retword);
drivers/media/usb/gspca/zc3xx.c
6145
reg_w(gspca_dev, 0x06, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6170
static int vga_3wr_probe(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6172
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6177
reg_w(gspca_dev, 0x02, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6178
reg_r(gspca_dev, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6179
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6180
reg_w(gspca_dev, 0x00, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6181
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6182
reg_w(gspca_dev, 0x91, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6183
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6184
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6185
reg_w(gspca_dev, 0x05, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6186
retword = i2c_read(gspca_dev, 0x14);
drivers/media/usb/gspca/zc3xx.c
6189
retword = i2c_read(gspca_dev, 0x15);
drivers/media/usb/gspca/zc3xx.c
6192
retword = i2c_read(gspca_dev, 0x16);
drivers/media/usb/gspca/zc3xx.c
6196
reg_w(gspca_dev, 0x02, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6197
retword = reg_r(gspca_dev, 0x000b) << 8;
drivers/media/usb/gspca/zc3xx.c
6198
retword |= reg_r(gspca_dev, 0x000a);
drivers/media/usb/gspca/zc3xx.c
6199
gspca_dbg(gspca_dev, D_PROBE, "probe 3wr vga 1 0x%04x\n", retword);
drivers/media/usb/gspca/zc3xx.c
6200
reg_r(gspca_dev, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6206
send_unknown(gspca_dev, SENSOR_PB0330);
drivers/media/usb/gspca/zc3xx.c
6211
reg_w(gspca_dev, 0x01, 0x0000); /* check PB0330 */
drivers/media/usb/gspca/zc3xx.c
6212
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6213
reg_w(gspca_dev, 0xdd, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6214
reg_w(gspca_dev, 0x0a, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6215
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6216
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6217
retword = i2c_read(gspca_dev, 0x00);
drivers/media/usb/gspca/zc3xx.c
6219
gspca_dbg(gspca_dev, D_PROBE, "probe 3wr vga type 0a\n");
drivers/media/usb/gspca/zc3xx.c
6224
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6225
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6226
reg_w(gspca_dev, 0x98, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6227
reg_w(gspca_dev, 0x01, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6228
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6230
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6231
retword = i2c_read(gspca_dev, 0x00);
drivers/media/usb/gspca/zc3xx.c
6233
gspca_dbg(gspca_dev, D_PROBE, "probe 3wr vga type %02x\n",
drivers/media/usb/gspca/zc3xx.c
6238
send_unknown(gspca_dev, SENSOR_GC0305);
drivers/media/usb/gspca/zc3xx.c
6242
reg_w(gspca_dev, 0x01, 0x0000); /* check OmniVision */
drivers/media/usb/gspca/zc3xx.c
6243
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6244
reg_w(gspca_dev, 0xa1, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6245
reg_w(gspca_dev, 0x08, 0x008d);
drivers/media/usb/gspca/zc3xx.c
6246
reg_w(gspca_dev, 0x06, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6247
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6248
reg_w(gspca_dev, 0x05, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6249
if (i2c_read(gspca_dev, 0x1c) == 0x007f /* OV7610 - manufacturer ID */
drivers/media/usb/gspca/zc3xx.c
6250
&& i2c_read(gspca_dev, 0x1d) == 0x00a2) {
drivers/media/usb/gspca/zc3xx.c
6251
send_unknown(gspca_dev, SENSOR_OV7620);
drivers/media/usb/gspca/zc3xx.c
6255
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6256
reg_w(gspca_dev, 0x00, 0x0002);
drivers/media/usb/gspca/zc3xx.c
6257
reg_w(gspca_dev, 0x01, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6258
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6259
reg_w(gspca_dev, 0xee, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6260
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6261
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6262
reg_w(gspca_dev, 0x05, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6263
retword = i2c_read(gspca_dev, 0x00) << 8; /* ID 0 */
drivers/media/usb/gspca/zc3xx.c
6264
retword |= i2c_read(gspca_dev, 0x01); /* ID 1 */
drivers/media/usb/gspca/zc3xx.c
6265
gspca_dbg(gspca_dev, D_PROBE, "probe 3wr vga 2 0x%04x\n", retword);
drivers/media/usb/gspca/zc3xx.c
6269
retbyte = i2c_read(gspca_dev, 0x02); /* revision number */
drivers/media/usb/gspca/zc3xx.c
6270
gspca_dbg(gspca_dev, D_PROBE, "sensor PO2030 rev 0x%02x\n",
drivers/media/usb/gspca/zc3xx.c
6273
send_unknown(gspca_dev, SENSOR_PO2030);
drivers/media/usb/gspca/zc3xx.c
6277
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6278
reg_w(gspca_dev, 0x0a, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6279
reg_w(gspca_dev, 0xd3, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6280
reg_w(gspca_dev, 0x01, 0x0001);
drivers/media/usb/gspca/zc3xx.c
6281
reg_w(gspca_dev, 0x03, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6282
reg_w(gspca_dev, 0x01, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6283
reg_w(gspca_dev, 0x05, 0x0012);
drivers/media/usb/gspca/zc3xx.c
6284
reg_w(gspca_dev, 0xd3, 0x008b);
drivers/media/usb/gspca/zc3xx.c
6285
retword = i2c_read(gspca_dev, 0x01);
drivers/media/usb/gspca/zc3xx.c
6287
gspca_dbg(gspca_dev, D_PROBE, "probe 3wr vga type 0a ? ret: %04x\n",
drivers/media/usb/gspca/zc3xx.c
6294
static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6296
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6306
sensor = sif_probe(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6311
sensor = vga_2wr_probe(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6314
return vga_3wr_probe(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6318
static int sd_config(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
6321
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6340
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/zc3xx.c
6341
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/zc3xx.c
6342
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6346
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/zc3xx.c
6347
if (ctrl->val && sd->exposure && gspca_dev->streaming)
drivers/media/usb/gspca/zc3xx.c
6348
sd->exposure->val = getexposure(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6349
return gspca_dev->usb_err;
drivers/media/usb/gspca/zc3xx.c
6356
struct gspca_dev *gspca_dev =
drivers/media/usb/gspca/zc3xx.c
6357
container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
drivers/media/usb/gspca/zc3xx.c
6358
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6361
gspca_dev->usb_err = 0;
drivers/media/usb/gspca/zc3xx.c
6374
if (i >= 2 && gspca_dev->streaming &&
drivers/media/usb/gspca/zc3xx.c
6375
!gspca_dev->cam.needs_full_bandwidth)
drivers/media/usb/gspca/zc3xx.c
6382
if (!gspca_dev->streaming)
drivers/media/usb/gspca/zc3xx.c
6388
setcontrast(gspca_dev, sd->gamma->val,
drivers/media/usb/gspca/zc3xx.c
6393
setautogain(gspca_dev, ctrl->val);
drivers/media/usb/gspca/zc3xx.c
6394
if (!gspca_dev->usb_err && !ctrl->val && sd->exposure)
drivers/media/usb/gspca/zc3xx.c
6395
setexposure(gspca_dev, sd->exposure->val);
drivers/media/usb/gspca/zc3xx.c
6398
setlightfreq(gspca_dev, ctrl->val);
drivers/media/usb/gspca/zc3xx.c
6401
setsharpness(gspca_dev, ctrl->val);
drivers/media/usb/gspca/zc3xx.c
6404
setquality(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6407
return gspca_dev->usb_err;
drivers/media/usb/gspca/zc3xx.c
6415
static int sd_init_controls(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6417
struct sd *sd = (struct sd *)gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6418
struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
drivers/media/usb/gspca/zc3xx.c
6441
gspca_dev->vdev.ctrl_handler = hdl;
drivers/media/usb/gspca/zc3xx.c
6480
static int sd_init(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6482
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6507
sensor = zcxx_probeSensor(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6509
gspca_dbg(gspca_dev, D_PROBE, "probe sensor -> %04x\n", sensor);
drivers/media/usb/gspca/zc3xx.c
6512
gspca_dbg(gspca_dev, D_PROBE, "sensor forced to %d\n",
drivers/media/usb/gspca/zc3xx.c
6519
gspca_dbg(gspca_dev, D_PROBE, "Sensor MC501CB\n");
drivers/media/usb/gspca/zc3xx.c
6522
gspca_dbg(gspca_dev, D_PROBE, "Sensor GC0303\n");
drivers/media/usb/gspca/zc3xx.c
6531
sensor = i2c_read(gspca_dev, 0x00);
drivers/media/usb/gspca/zc3xx.c
6532
gspca_dbg(gspca_dev, D_PROBE, "Sensor hv7131 type %d\n",
drivers/media/usb/gspca/zc3xx.c
6537
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor HV7131B\n");
drivers/media/usb/gspca/zc3xx.c
6542
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor HV7131R\n");
drivers/media/usb/gspca/zc3xx.c
6548
gspca_dbg(gspca_dev, D_PROBE, "Sensor TAS5130C\n");
drivers/media/usb/gspca/zc3xx.c
6552
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor CS2102\n");
drivers/media/usb/gspca/zc3xx.c
6556
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor HDCS2020\n");
drivers/media/usb/gspca/zc3xx.c
6560
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/zc3xx.c
6566
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor ICM105A\n");
drivers/media/usb/gspca/zc3xx.c
6570
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor PAS202B\n");
drivers/media/usb/gspca/zc3xx.c
6574
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor PAS106\n");
drivers/media/usb/gspca/zc3xx.c
6579
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor TAS5130C\n");
drivers/media/usb/gspca/zc3xx.c
6583
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor HV7131R\n");
drivers/media/usb/gspca/zc3xx.c
6588
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/zc3xx.c
6596
gspca_dbg(gspca_dev, D_PROBE,
drivers/media/usb/gspca/zc3xx.c
6602
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor ADCM2700\n");
drivers/media/usb/gspca/zc3xx.c
6606
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor GC0305\n");
drivers/media/usb/gspca/zc3xx.c
6610
gspca_dbg(gspca_dev, D_PROBE, "Sensor GC0303\n");
drivers/media/usb/gspca/zc3xx.c
6614
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor PO2030\n");
drivers/media/usb/gspca/zc3xx.c
6618
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor OV7620\n");
drivers/media/usb/gspca/zc3xx.c
6622
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor OV7630C\n");
drivers/media/usb/gspca/zc3xx.c
6626
gspca_dbg(gspca_dev, D_PROBE, "Find Sensor OV7648\n");
drivers/media/usb/gspca/zc3xx.c
6636
reg_w(gspca_dev, 0x02, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6637
reg_r(gspca_dev, 0x0010);
drivers/media/usb/gspca/zc3xx.c
6640
cam = &gspca_dev->cam;
drivers/media/usb/gspca/zc3xx.c
6658
reg_w(gspca_dev, 0x01, 0x0000);
drivers/media/usb/gspca/zc3xx.c
6659
return gspca_dev->usb_err;
drivers/media/usb/gspca/zc3xx.c
6662
static int sd_pre_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6664
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6665
gspca_dev->cam.needs_full_bandwidth = (sd->reg08 >= 4) ? 1 : 0;
drivers/media/usb/gspca/zc3xx.c
6669
static int sd_start(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6671
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6715
jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
drivers/media/usb/gspca/zc3xx.c
6716
gspca_dev->pixfmt.width,
drivers/media/usb/gspca/zc3xx.c
6719
mode = gspca_dev->cam.cam_mode[gspca_dev->curr_mode].priv;
drivers/media/usb/gspca/zc3xx.c
6722
zcxx_probeSensor(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6725
usb_exchange(gspca_dev, pas106b_Initial_com);
drivers/media/usb/gspca/zc3xx.c
6728
usb_exchange(gspca_dev, init_tb[sd->sensor][mode]);
drivers/media/usb/gspca/zc3xx.c
6738
reg_r(gspca_dev, 0x0002); /* --> 0x40 */
drivers/media/usb/gspca/zc3xx.c
6739
reg_w(gspca_dev, 0x09, 0x01ad); /* (from win traces) */
drivers/media/usb/gspca/zc3xx.c
6740
reg_w(gspca_dev, 0x15, 0x01ae);
drivers/media/usb/gspca/zc3xx.c
6743
reg_w(gspca_dev, 0x0d, 0x003a);
drivers/media/usb/gspca/zc3xx.c
6744
reg_w(gspca_dev, 0x02, 0x003b);
drivers/media/usb/gspca/zc3xx.c
6745
reg_w(gspca_dev, 0x00, 0x0038);
drivers/media/usb/gspca/zc3xx.c
6749
reg_w(gspca_dev, 0x03, 0x003b);
drivers/media/usb/gspca/zc3xx.c
6750
reg_w(gspca_dev, 0x0c, 0x003a);
drivers/media/usb/gspca/zc3xx.c
6751
reg_w(gspca_dev, 0x0b, 0x0039);
drivers/media/usb/gspca/zc3xx.c
6753
reg_w(gspca_dev, 0x50, ZC3XX_R11D_GLOBALGAIN);
drivers/media/usb/gspca/zc3xx.c
6757
setmatrix(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6761
reg_r(gspca_dev, 0x0008);
drivers/media/usb/gspca/zc3xx.c
6762
reg_w(gspca_dev, 0x00, 0x0008);
drivers/media/usb/gspca/zc3xx.c
6768
reg_r(gspca_dev, 0x0008);
drivers/media/usb/gspca/zc3xx.c
6771
reg_w(gspca_dev, 0x03, 0x0008);
drivers/media/usb/gspca/zc3xx.c
6774
setsharpness(gspca_dev, v4l2_ctrl_g_ctrl(sd->sharpness));
drivers/media/usb/gspca/zc3xx.c
6783
setcontrast(gspca_dev, v4l2_ctrl_g_ctrl(sd->gamma),
drivers/media/usb/gspca/zc3xx.c
6788
setmatrix(gspca_dev); /* one more time? */
drivers/media/usb/gspca/zc3xx.c
6792
reg_r(gspca_dev, 0x0180); /* from win */
drivers/media/usb/gspca/zc3xx.c
6793
reg_w(gspca_dev, 0x00, 0x0180);
drivers/media/usb/gspca/zc3xx.c
6796
setquality(gspca_dev);
drivers/media/usb/gspca/zc3xx.c
6798
reg_w(gspca_dev, 0x00, 0x0007);
drivers/media/usb/gspca/zc3xx.c
6800
setlightfreq(gspca_dev, v4l2_ctrl_g_ctrl(sd->plfreq));
drivers/media/usb/gspca/zc3xx.c
6804
reg_w(gspca_dev, 0x09, 0x01ad); /* (from win traces) */
drivers/media/usb/gspca/zc3xx.c
6805
reg_w(gspca_dev, 0x15, 0x01ae);
drivers/media/usb/gspca/zc3xx.c
6806
reg_w(gspca_dev, 0x02, 0x0180);
drivers/media/usb/gspca/zc3xx.c
6808
reg_w(gspca_dev, 0x40, 0x0117);
drivers/media/usb/gspca/zc3xx.c
6811
setexposure(gspca_dev, v4l2_ctrl_g_ctrl(sd->exposure));
drivers/media/usb/gspca/zc3xx.c
6812
reg_w(gspca_dev, 0x00, ZC3XX_R1A7_CALCGLOBALMEAN);
drivers/media/usb/gspca/zc3xx.c
6816
reg_w(gspca_dev, 0x09, 0x01ad); /* (from win traces) */
drivers/media/usb/gspca/zc3xx.c
6817
reg_w(gspca_dev, 0x15, 0x01ae);
drivers/media/usb/gspca/zc3xx.c
6822
reg_r(gspca_dev, 0x0180);
drivers/media/usb/gspca/zc3xx.c
6825
reg_w(gspca_dev, 0x09, 0x01ad);
drivers/media/usb/gspca/zc3xx.c
6826
reg_w(gspca_dev, 0x15, 0x01ae);
drivers/media/usb/gspca/zc3xx.c
6827
i2c_read(gspca_dev, 0x13); /*fixme: returns 0xa3 */
drivers/media/usb/gspca/zc3xx.c
6828
i2c_write(gspca_dev, 0x13, 0xa3, 0x00);
drivers/media/usb/gspca/zc3xx.c
6830
reg_w(gspca_dev, 0x40, 0x0117);
drivers/media/usb/gspca/zc3xx.c
6831
reg_r(gspca_dev, 0x0180);
drivers/media/usb/gspca/zc3xx.c
6835
setautogain(gspca_dev, v4l2_ctrl_g_ctrl(sd->autogain));
drivers/media/usb/gspca/zc3xx.c
6837
if (gspca_dev->usb_err < 0)
drivers/media/usb/gspca/zc3xx.c
6838
return gspca_dev->usb_err;
drivers/media/usb/gspca/zc3xx.c
6848
static void sd_stop0(struct gspca_dev *gspca_dev)
drivers/media/usb/gspca/zc3xx.c
6850
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6852
mutex_unlock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/zc3xx.c
6854
mutex_lock(&gspca_dev->usb_lock);
drivers/media/usb/gspca/zc3xx.c
6855
if (!gspca_dev->present)
drivers/media/usb/gspca/zc3xx.c
6857
send_unknown(gspca_dev, sd->sensor);
drivers/media/usb/gspca/zc3xx.c
6860
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
6864
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6870
gspca_frame_add(gspca_dev, LAST_PACKET,
drivers/media/usb/gspca/zc3xx.c
6878
gspca_frame_add(gspca_dev, FIRST_PACKET,
drivers/media/usb/gspca/zc3xx.c
6890
gspca_frame_add(gspca_dev, INTER_PACKET, data, len);
drivers/media/usb/gspca/zc3xx.c
6893
static int sd_set_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
6896
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6901
static int sd_get_jcomp(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
6904
struct sd *sd = (struct sd *) gspca_dev;
drivers/media/usb/gspca/zc3xx.c
6914
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
drivers/media/usb/gspca/zc3xx.c
6919
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 1);
drivers/media/usb/gspca/zc3xx.c
6920
input_sync(gspca_dev->input_dev);
drivers/media/usb/gspca/zc3xx.c
6921
input_report_key(gspca_dev->input_dev, KEY_CAMERA, 0);
drivers/media/usb/gspca/zc3xx.c
6922
input_sync(gspca_dev->input_dev);