Lines Matching refs:gspca_dev

24 	struct gspca_dev gspca_dev;	/* !! must be the first item */  member
38 static void setbrightness(struct gspca_dev *gspca_dev, s32 val);
39 static void setcolors(struct gspca_dev *gspca_dev, s32 val);
40 static void setgamma(struct gspca_dev *gspca_dev, s32 val);
41 static void setsharpness(struct gspca_dev *gspca_dev, s32 val);
68 static void reg_w(struct gspca_dev *gspca_dev, in reg_w() argument
73 if (gspca_dev->usb_err < 0) in reg_w()
76 ret = usb_bulk_msg(gspca_dev->dev, in reg_w()
77 usb_sndbulkpipe(gspca_dev->dev, 4), in reg_w()
78 gspca_dev->usb_buf, in reg_w()
84 gspca_dev->usb_buf[0], ret); in reg_w()
85 gspca_dev->usb_err = ret; in reg_w()
89 static void mi_w(struct gspca_dev *gspca_dev, in mi_w() argument
93 gspca_dev->usb_buf[0] = 0x1f; in mi_w()
94 gspca_dev->usb_buf[1] = 0; /* control byte */ in mi_w()
95 gspca_dev->usb_buf[2] = addr; in mi_w()
96 gspca_dev->usb_buf[3] = value; in mi_w()
98 reg_w(gspca_dev, 4); in mi_w()
101 static void setbrightness(struct gspca_dev *gspca_dev, s32 val) in setbrightness() argument
103 gspca_dev->usb_buf[0] = 0x61; in setbrightness()
104 gspca_dev->usb_buf[1] = val; in setbrightness()
105 reg_w(gspca_dev, 2); in setbrightness()
108 static void setcolors(struct gspca_dev *gspca_dev, s32 val) in setcolors() argument
110 gspca_dev->usb_buf[0] = 0x5f; in setcolors()
111 gspca_dev->usb_buf[1] = val << 3; in setcolors()
112 gspca_dev->usb_buf[2] = ((val >> 2) & 0xf8) | 0x04; in setcolors()
113 reg_w(gspca_dev, 3); in setcolors()
116 static void setgamma(struct gspca_dev *gspca_dev, s32 val) in setgamma() argument
118 gspca_dev->usb_buf[0] = 0x06; in setgamma()
119 gspca_dev->usb_buf[1] = val * 0x40; in setgamma()
120 reg_w(gspca_dev, 2); in setgamma()
123 static void setsharpness(struct gspca_dev *gspca_dev, s32 val) in setsharpness() argument
125 gspca_dev->usb_buf[0] = 0x67; in setsharpness()
126 gspca_dev->usb_buf[1] = val * 4 + 3; in setsharpness()
127 reg_w(gspca_dev, 2); in setsharpness()
130 static void setilluminators(struct gspca_dev *gspca_dev, bool top, bool bottom) in setilluminators() argument
133 gspca_dev->usb_buf[0] = 0x22; in setilluminators()
135 gspca_dev->usb_buf[1] = 0x76; in setilluminators()
137 gspca_dev->usb_buf[1] = 0x7a; in setilluminators()
139 gspca_dev->usb_buf[1] = 0x7e; in setilluminators()
140 reg_w(gspca_dev, 2); in setilluminators()
145 struct gspca_dev *gspca_dev = in mars_s_ctrl() local
146 container_of(ctrl->handler, struct gspca_dev, ctrl_handler); in mars_s_ctrl()
147 struct sd *sd = (struct sd *)gspca_dev; in mars_s_ctrl()
149 gspca_dev->usb_err = 0; in mars_s_ctrl()
159 if (!gspca_dev->streaming) in mars_s_ctrl()
164 setbrightness(gspca_dev, ctrl->val); in mars_s_ctrl()
167 setcolors(gspca_dev, ctrl->val); in mars_s_ctrl()
170 setgamma(gspca_dev, ctrl->val); in mars_s_ctrl()
173 setilluminators(gspca_dev, sd->illum_top->val, in mars_s_ctrl()
177 setsharpness(gspca_dev, ctrl->val); in mars_s_ctrl()
182 return gspca_dev->usb_err; in mars_s_ctrl()
190 static int sd_init_controls(struct gspca_dev *gspca_dev) in sd_init_controls() argument
192 struct sd *sd = (struct sd *) gspca_dev; in sd_init_controls()
193 struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler; in sd_init_controls()
195 gspca_dev->vdev.ctrl_handler = hdl; in sd_init_controls()
220 static int sd_config(struct gspca_dev *gspca_dev, in sd_config() argument
225 cam = &gspca_dev->cam; in sd_config()
232 static int sd_init(struct gspca_dev *gspca_dev) in sd_init() argument
237 static int sd_start(struct gspca_dev *gspca_dev) in sd_start() argument
239 struct sd *sd = (struct sd *) gspca_dev; in sd_start()
244 jpeg_define(sd->jpeg_hdr, gspca_dev->pixfmt.height, in sd_start()
245 gspca_dev->pixfmt.width, in sd_start()
249 data = gspca_dev->usb_buf; in sd_start()
253 reg_w(gspca_dev, 2); in sd_start()
261 data[3] = gspca_dev->pixfmt.width / 8; /* h_size , reg 2 */ in sd_start()
262 data[4] = gspca_dev->pixfmt.height / 8; /* v_size , reg 3 */ in sd_start()
275 reg_w(gspca_dev, 11); in sd_start()
280 reg_w(gspca_dev, 2); in sd_start()
289 reg_w(gspca_dev, 2); in sd_start()
303 reg_w(gspca_dev, 6); in sd_start()
309 reg_w(gspca_dev, 3); in sd_start()
315 reg_w(gspca_dev, 4); in sd_start()
319 reg_w(gspca_dev, 2); in sd_start()
324 mi_w(gspca_dev, i + 1, mi_data[i]); in sd_start()
328 reg_w(gspca_dev, 2); in sd_start()
330 setilluminators(gspca_dev, v4l2_ctrl_g_ctrl(sd->illum_top), in sd_start()
333 return gspca_dev->usb_err; in sd_start()
336 static void sd_stopN(struct gspca_dev *gspca_dev) in sd_stopN() argument
338 struct sd *sd = (struct sd *) gspca_dev; in sd_stopN()
342 setilluminators(gspca_dev, false, false); in sd_stopN()
346 gspca_dev->usb_buf[0] = 1; in sd_stopN()
347 gspca_dev->usb_buf[1] = 0; in sd_stopN()
348 reg_w(gspca_dev, 2); in sd_stopN()
351 static void sd_pkt_scan(struct gspca_dev *gspca_dev, in sd_pkt_scan() argument
355 struct sd *sd = (struct sd *) gspca_dev; in sd_pkt_scan()
372 gspca_dbg(gspca_dev, D_PACK, "sof offset: %d len: %d\n", in sd_pkt_scan()
374 gspca_frame_add(gspca_dev, LAST_PACKET, in sd_pkt_scan()
378 gspca_frame_add(gspca_dev, FIRST_PACKET, in sd_pkt_scan()
386 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in sd_pkt_scan()