Lines Matching refs:gspca_dev
33 struct gspca_dev gspca_dev; /* !! must be the first item */ member
47 static void setbrightness(struct gspca_dev *gspca_dev, s32 val);
48 static void setcolors(struct gspca_dev *gspca_dev, s32 val);
49 static void setgamma(struct gspca_dev *gspca_dev, s32 val);
50 static void setsharpness(struct gspca_dev *gspca_dev, s32 val);
77 static void reg_w(struct gspca_dev *gspca_dev, in reg_w() argument
82 if (gspca_dev->usb_err < 0) in reg_w()
85 ret = usb_bulk_msg(gspca_dev->dev, in reg_w()
86 usb_sndbulkpipe(gspca_dev->dev, 4), in reg_w()
87 gspca_dev->usb_buf, in reg_w()
93 gspca_dev->usb_buf[0], ret); in reg_w()
94 gspca_dev->usb_err = ret; in reg_w()
98 static void mi_w(struct gspca_dev *gspca_dev, in mi_w() argument
102 gspca_dev->usb_buf[0] = 0x1f; in mi_w()
103 gspca_dev->usb_buf[1] = 0; /* control byte */ in mi_w()
104 gspca_dev->usb_buf[2] = addr; in mi_w()
105 gspca_dev->usb_buf[3] = value; in mi_w()
107 reg_w(gspca_dev, 4); in mi_w()
110 static void setbrightness(struct gspca_dev *gspca_dev, s32 val) in setbrightness() argument
112 gspca_dev->usb_buf[0] = 0x61; in setbrightness()
113 gspca_dev->usb_buf[1] = val; in setbrightness()
114 reg_w(gspca_dev, 2); in setbrightness()
117 static void setcolors(struct gspca_dev *gspca_dev, s32 val) in setcolors() argument
119 gspca_dev->usb_buf[0] = 0x5f; in setcolors()
120 gspca_dev->usb_buf[1] = val << 3; in setcolors()
121 gspca_dev->usb_buf[2] = ((val >> 2) & 0xf8) | 0x04; in setcolors()
122 reg_w(gspca_dev, 3); in setcolors()
125 static void setgamma(struct gspca_dev *gspca_dev, s32 val) in setgamma() argument
127 gspca_dev->usb_buf[0] = 0x06; in setgamma()
128 gspca_dev->usb_buf[1] = val * 0x40; in setgamma()
129 reg_w(gspca_dev, 2); in setgamma()
132 static void setsharpness(struct gspca_dev *gspca_dev, s32 val) in setsharpness() argument
134 gspca_dev->usb_buf[0] = 0x67; in setsharpness()
135 gspca_dev->usb_buf[1] = val * 4 + 3; in setsharpness()
136 reg_w(gspca_dev, 2); in setsharpness()
139 static void setilluminators(struct gspca_dev *gspca_dev, bool top, bool bottom) in setilluminators() argument
142 gspca_dev->usb_buf[0] = 0x22; in setilluminators()
144 gspca_dev->usb_buf[1] = 0x76; in setilluminators()
146 gspca_dev->usb_buf[1] = 0x7a; in setilluminators()
148 gspca_dev->usb_buf[1] = 0x7e; in setilluminators()
149 reg_w(gspca_dev, 2); in setilluminators()
154 struct gspca_dev *gspca_dev = in mars_s_ctrl() local
155 container_of(ctrl->handler, struct gspca_dev, ctrl_handler); in mars_s_ctrl()
156 struct sd *sd = (struct sd *)gspca_dev; in mars_s_ctrl()
158 gspca_dev->usb_err = 0; in mars_s_ctrl()
168 if (!gspca_dev->streaming) in mars_s_ctrl()
173 setbrightness(gspca_dev, ctrl->val); in mars_s_ctrl()
176 setcolors(gspca_dev, ctrl->val); in mars_s_ctrl()
179 setgamma(gspca_dev, ctrl->val); in mars_s_ctrl()
182 setilluminators(gspca_dev, sd->illum_top->val, in mars_s_ctrl()
186 setsharpness(gspca_dev, ctrl->val); in mars_s_ctrl()
191 return gspca_dev->usb_err; in mars_s_ctrl()
199 static int sd_init_controls(struct gspca_dev *gspca_dev) in sd_init_controls() argument
201 struct sd *sd = (struct sd *) gspca_dev; in sd_init_controls()
202 struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler; in sd_init_controls()
204 gspca_dev->vdev.ctrl_handler = hdl; in sd_init_controls()
229 static int sd_config(struct gspca_dev *gspca_dev, in sd_config() argument
234 cam = &gspca_dev->cam; in sd_config()
241 static int sd_init(struct gspca_dev *gspca_dev) in sd_init() argument
246 static int sd_start(struct gspca_dev *gspca_dev) in sd_start() argument
248 struct sd *sd = (struct sd *) gspca_dev; in sd_start()
253 jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height, in sd_start()
254 gspca_dev->pixfmt.width, in sd_start()
258 data = gspca_dev->usb_buf; in sd_start()
262 reg_w(gspca_dev, 2); in sd_start()
270 data[3] = gspca_dev->pixfmt.width / 8; /* h_size , reg 2 */ in sd_start()
271 data[4] = gspca_dev->pixfmt.height / 8; /* v_size , reg 3 */ in sd_start()
284 reg_w(gspca_dev, 11); in sd_start()
289 reg_w(gspca_dev, 2); in sd_start()
298 reg_w(gspca_dev, 2); in sd_start()
312 reg_w(gspca_dev, 6); in sd_start()
318 reg_w(gspca_dev, 3); in sd_start()
324 reg_w(gspca_dev, 4); in sd_start()
328 reg_w(gspca_dev, 2); in sd_start()
333 mi_w(gspca_dev, i + 1, mi_data[i]); in sd_start()
337 reg_w(gspca_dev, 2); in sd_start()
339 setilluminators(gspca_dev, v4l2_ctrl_g_ctrl(sd->illum_top), in sd_start()
342 return gspca_dev->usb_err; in sd_start()
345 static void sd_stopN(struct gspca_dev *gspca_dev) in sd_stopN() argument
347 struct sd *sd = (struct sd *) gspca_dev; in sd_stopN()
351 setilluminators(gspca_dev, false, false); in sd_stopN()
355 gspca_dev->usb_buf[0] = 1; in sd_stopN()
356 gspca_dev->usb_buf[1] = 0; in sd_stopN()
357 reg_w(gspca_dev, 2); in sd_stopN()
360 static void sd_pkt_scan(struct gspca_dev *gspca_dev, in sd_pkt_scan() argument
364 struct sd *sd = (struct sd *) gspca_dev; in sd_pkt_scan()
381 gspca_dbg(gspca_dev, D_PACK, "sof offset: %d len: %d\n", in sd_pkt_scan()
383 gspca_frame_add(gspca_dev, LAST_PACKET, in sd_pkt_scan()
387 gspca_frame_add(gspca_dev, FIRST_PACKET, in sd_pkt_scan()
395 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in sd_pkt_scan()