Lines Matching refs:gspca_dev
34 struct gspca_dev gspca_dev; /* !! must be the first item */ member
547 static int reg_write(struct gspca_dev *gspca_dev, in reg_write() argument
551 struct usb_device *dev = gspca_dev->dev; in reg_write()
566 static int reg_read(struct gspca_dev *gspca_dev, in reg_read() argument
572 ret = usb_control_msg(gspca_dev->dev, in reg_read()
573 usb_rcvctrlpipe(gspca_dev->dev, 0), in reg_read()
578 gspca_dev->usb_buf, 2, in reg_read()
582 return (gspca_dev->usb_buf[1] << 8) + gspca_dev->usb_buf[0]; in reg_read()
585 static int write_vector(struct gspca_dev *gspca_dev, in write_vector() argument
591 ret = reg_write(gspca_dev, data[i][0], data[i][2], in write_vector()
601 static int sd_config(struct gspca_dev *gspca_dev, in sd_config() argument
604 struct sd *sd = (struct sd *) gspca_dev; in sd_config()
607 cam = &gspca_dev->cam; in sd_config()
619 static int sd_init(struct gspca_dev *gspca_dev) in sd_init() argument
621 struct sd *sd = (struct sd *) gspca_dev; in sd_init()
623 if (write_vector(gspca_dev, in sd_init()
631 static void setbrightness(struct gspca_dev *gspca_dev, s32 brightness) in setbrightness() argument
633 reg_write(gspca_dev, 0x05, 0x00, (255 - brightness) >> 6); in setbrightness()
634 reg_write(gspca_dev, 0x05, 0x01, (255 - brightness) << 2); in setbrightness()
637 static int sd_start(struct gspca_dev *gspca_dev) in sd_start() argument
639 struct sd *sd = (struct sd *) gspca_dev; in sd_start()
651 write_vector(gspca_dev, spca505b_open_data_ccd); in sd_start()
653 write_vector(gspca_dev, spca505_open_data_ccd); in sd_start()
654 ret = reg_read(gspca_dev, 0x06, 0x16); in sd_start()
665 ret = reg_write(gspca_dev, 0x06, 0x16, 0x0a); in sd_start()
668 reg_write(gspca_dev, 0x05, 0xc2, 0x12); in sd_start()
673 reg_write(gspca_dev, 0x02, 0x00, 0x00); in sd_start()
675 mode = gspca_dev->cam.cam_mode[(int) gspca_dev->curr_mode].priv; in sd_start()
676 reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x00, mode_tb[mode][0]); in sd_start()
677 reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x06, mode_tb[mode][1]); in sd_start()
678 reg_write(gspca_dev, SPCA50X_REG_COMPRESS, 0x07, mode_tb[mode][2]); in sd_start()
680 return reg_write(gspca_dev, SPCA50X_REG_USB, in sd_start()
685 static void sd_stopN(struct gspca_dev *gspca_dev) in sd_stopN() argument
688 reg_write(gspca_dev, 0x02, 0x00, 0x00); in sd_stopN()
692 static void sd_stop0(struct gspca_dev *gspca_dev) in sd_stop0() argument
694 if (!gspca_dev->present) in sd_stop0()
698 reg_write(gspca_dev, 0x03, 0x03, 0x20); in sd_stop0()
699 reg_write(gspca_dev, 0x03, 0x01, 0x00); in sd_stop0()
700 reg_write(gspca_dev, 0x03, 0x00, 0x01); in sd_stop0()
701 reg_write(gspca_dev, 0x05, 0x10, 0x01); in sd_stop0()
702 reg_write(gspca_dev, 0x05, 0x11, 0x0f); in sd_stop0()
705 static void sd_pkt_scan(struct gspca_dev *gspca_dev, in sd_pkt_scan() argument
711 gspca_frame_add(gspca_dev, LAST_PACKET, NULL, 0); in sd_pkt_scan()
714 gspca_frame_add(gspca_dev, FIRST_PACKET, data, len); in sd_pkt_scan()
721 gspca_frame_add(gspca_dev, INTER_PACKET, data, len); in sd_pkt_scan()
728 struct gspca_dev *gspca_dev = in sd_s_ctrl() local
729 container_of(ctrl->handler, struct gspca_dev, ctrl_handler); in sd_s_ctrl()
731 gspca_dev->usb_err = 0; in sd_s_ctrl()
733 if (!gspca_dev->streaming) in sd_s_ctrl()
738 setbrightness(gspca_dev, ctrl->val); in sd_s_ctrl()
741 return gspca_dev->usb_err; in sd_s_ctrl()
748 static int sd_init_controls(struct gspca_dev *gspca_dev) in sd_init_controls() argument
750 struct v4l2_ctrl_handler *hdl = &gspca_dev->ctrl_handler; in sd_init_controls()
752 gspca_dev->vdev.ctrl_handler = hdl; in sd_init_controls()