Commit e2997a72 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

V4L/DVB (8153): Subdriver pac207 added and minor changes.

pac207 added.
Check status on mutex lock.
Call back on frame dequeue.
Free the resources on last close only.
Avoid URB and ISOC errors on close.
Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 63eb9546
obj-$(CONFIG_GSPCA) += gspca_main.o gspca_stk014.o obj-$(CONFIG_GSPCA) += gspca_main.o gspca_pac207.o gspca_stk014.o
gspca_main-objs := gspca.o gspca_main-objs := gspca.o
gspca_pac207-objs := pac207.o
gspca_stk014-objs := stk014.o gspca_stk014-objs := stk014.o
This diff is collapsed.
...@@ -90,17 +90,18 @@ struct ctrl { ...@@ -90,17 +90,18 @@ struct ctrl {
/* subdriver description */ /* subdriver description */
struct sd_desc { struct sd_desc {
/* information */ /* information */
char *name; /* sub-driver name */ char *name; /* sub-driver name */
/* controls */ /* controls */
struct ctrl *ctrls; struct ctrl *ctrls;
int nctrls; int nctrls;
/* operations */ /* operations */
cam_cf_op config; /* called on probe */ cam_cf_op config; /* called on probe */
cam_op open; /* called on open */ cam_op open; /* called on open */
cam_v_op start; /* called on stream on */ cam_v_op start; /* called on stream on */
cam_v_op stopN; /* called on stream off - main alt */ cam_v_op stopN; /* called on stream off - main alt */
cam_v_op stop0; /* called on stream off - alt 0 */ cam_v_op stop0; /* called on stream off - alt 0 */
cam_v_op close; /* called on close */ cam_v_op close; /* called on close */
cam_v_op dq_callback; /* called when a frame has been dequeued */
cam_pkt_op pkt_scan; cam_pkt_op pkt_scan;
cam_jpg_op get_jcomp; cam_jpg_op get_jcomp;
cam_jpg_op set_jcomp; cam_jpg_op set_jcomp;
...@@ -167,8 +168,6 @@ int gspca_dev_probe(struct usb_interface *intf, ...@@ -167,8 +168,6 @@ int gspca_dev_probe(struct usb_interface *intf,
const struct usb_device_id *id, const struct usb_device_id *id,
const struct sd_desc *sd_desc, const struct sd_desc *sd_desc,
int dev_size); int dev_size);
int gspca_dev_init(struct gspca_dev *gspca_dev,
struct usb_interface *intf);
void gspca_disconnect(struct usb_interface *intf); void gspca_disconnect(struct usb_interface *intf);
struct gspca_frame *gspca_frame_add(struct gspca_dev *gspca_dev, struct gspca_frame *gspca_frame_add(struct gspca_dev *gspca_dev,
int packet_type, int packet_type,
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment