Lines Matching refs:gspca_dev

37 	struct gspca_dev gspca_dev;	/* !! must be the first item */
51 static void setbrightness(struct gspca_dev *gspca_dev, s32 val);
52 static void setcolors(struct gspca_dev *gspca_dev, s32 val);
53 static void setgamma(struct gspca_dev *gspca_dev, s32 val);
54 static void setsharpness(struct gspca_dev *gspca_dev, s32 val);
80 /* write <len> bytes from gspca_dev->usb_buf */
81 static void reg_w(struct gspca_dev *gspca_dev,
86 if (gspca_dev->usb_err < 0)
89 ret = usb_bulk_msg(gspca_dev->dev,
90 usb_sndbulkpipe(gspca_dev->dev, 4),
91 gspca_dev->usb_buf,
97 gspca_dev->usb_buf[0], ret);
98 gspca_dev->usb_err = ret;
102 static void mi_w(struct gspca_dev *gspca_dev,
106 gspca_dev->usb_buf[0] = 0x1f;
107 gspca_dev->usb_buf[1] = 0; /* control byte */
108 gspca_dev->usb_buf[2] = addr;
109 gspca_dev->usb_buf[3] = value;
111 reg_w(gspca_dev, 4);
114 static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
116 gspca_dev->usb_buf[0] = 0x61;
117 gspca_dev->usb_buf[1] = val;
118 reg_w(gspca_dev, 2);
121 static void setcolors(struct gspca_dev *gspca_dev, s32 val)
123 gspca_dev->usb_buf[0] = 0x5f;
124 gspca_dev->usb_buf[1] = val << 3;
125 gspca_dev->usb_buf[2] = ((val >> 2) & 0xf8) | 0x04;
126 reg_w(gspca_dev, 3);
129 static void setgamma(struct gspca_dev *gspca_dev, s32 val)
131 gspca_dev->usb_buf[0] = 0x06;
132 gspca_dev->usb_buf[1] = val * 0x40;
133 reg_w(gspca_dev, 2);
136 static void setsharpness(struct gspca_dev *gspca_dev, s32 val)
138 gspca_dev->usb_buf[0] = 0x67;
139 gspca_dev->usb_buf[1] = val * 4 + 3;
140 reg_w(gspca_dev, 2);
143 static void setilluminators(struct gspca_dev *gspca_dev, bool top, bool bottom)
146 gspca_dev->usb_buf[0] = 0x22;
148 gspca_dev->usb_buf[1] = 0x76;
150 gspca_dev->usb_buf[1] = 0x7a;
152 gspca_dev->usb_buf[1] = 0x7e;
153 reg_w(gspca_dev, 2);
158 struct gspca_dev *gspca_dev =
159 container_of(ctrl->handler, struct gspca_dev, ctrl_handler);
160 struct sd *sd = (struct sd *)gspca_dev;
162 gspca_dev->usb_err = 0;
172 if (!gspca_dev->streaming)
177 setbrightness(gspca_dev, ctrl->val);
180 setcolors(gspca_dev, ctrl->val);
183 setgamma(gspca_dev, ctrl->val);
186 setilluminators(gspca_dev, sd->illum_top->val,
190 setsharpness(gspca_dev, ctrl->val);
195 return gspca_dev->usb_err;
203 static int sd_init_controls(struct gspca_dev *gspca_dev)
205 struct sd *sd = (struct sd *) gspca_dev;
206 struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler;
208 gspca_dev->vdev.ctrl_handler = hdl;
233 static int sd_config(struct gspca_dev *gspca_dev,
238 cam = &gspca_dev->cam;
245 static int sd_init(struct gspca_dev *gspca_dev)
250 static int sd_start(struct gspca_dev *gspca_dev)
252 struct sd *sd = (struct sd *) gspca_dev;
257 jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height,
258 gspca_dev->pixfmt.width,
262 data = gspca_dev->usb_buf;
266 reg_w(gspca_dev, 2);
274 data[3] = gspca_dev->pixfmt.width / 8; /* h_size , reg 2 */
275 data[4] = gspca_dev->pixfmt.height / 8; /* v_size , reg 3 */
288 reg_w(gspca_dev, 11);
293 reg_w(gspca_dev, 2);
296 /* if (gspca_dev->width == 1280) */
302 reg_w(gspca_dev, 2);
316 reg_w(gspca_dev, 6);
322 reg_w(gspca_dev, 3);
328 reg_w(gspca_dev, 4);
332 reg_w(gspca_dev, 2);
337 mi_w(gspca_dev, i + 1, mi_data[i]);
341 reg_w(gspca_dev, 2);
343 setilluminators(gspca_dev, v4l2_ctrl_g_ctrl(sd->illum_top),
346 return gspca_dev->usb_err;
349 static void sd_stopN(struct gspca_dev *gspca_dev)
351 struct sd *sd = (struct sd *) gspca_dev;
355 setilluminators(gspca_dev, false, false);
359 gspca_dev->usb_buf[0] = 1;
360 gspca_dev->usb_buf[1] = 0;
361 reg_w(gspca_dev, 2);
364 static void sd_pkt_scan(struct gspca_dev *gspca_dev,
368 struct sd *sd = (struct sd *) gspca_dev;
372 /* gspca_dev->last_packet_type = DISCARD_PACKET; */
387 gspca_frame_add(gspca_dev, LAST_PACKET,
391 gspca_frame_add(gspca_dev, FIRST_PACKET,
399 gspca_frame_add(gspca_dev, INTER_PACKET, data, len);