gspca pac7302/pac7311: separate sd_desc
PATCH 2/21 gspca pac7302/pac7311: separate sd_desc
From: Márton Németh <[email protected]>
Move the sensor specific decision temporary to sd_probe. Create an sd_desc for PAC7302 and one for PAC7311.
Signed-off-by Márton Németh <[email protected]>
Cc Thomas Kaiser <[email protected]>
Cc Theodore Kilgore <[email protected]>
Cc Kyle Guinn <[email protected]>
---
drivers/media/video/gspca/pac7311.c +22 -4
@@ -1078,8 +1078,22 @@ static int sd_getvflip(struct gspca_devreturn 0 ; } -/* sub-driver description */ -static struct sd_desc sd_desc = { +/* sub-driver description for pac7302 */ +static struct sd_desc pac7302_sd_desc = { + .name =MODULE_NAME , + .ctrls = sd_ctrls, + .nctrls =ARRAY_SIZE (sd_ctrls), + .config = sd_config, + .init = sd_init, + .start = sd_start, + .stopN = sd_stopN, + .stop0 = sd_stop0, + .pkt_scan = sd_pkt_scan, + .dq_callback = do_autogain, +}; + +/* sub-driver description for pac7311 */ +static struct sd_desc pac7311_sd_desc = { .name =MODULE_NAME , .ctrls = sd_ctrls, .nctrls =ARRAY_SIZE (sd_ctrls),
@@ -1117,8 +1131,12 @@ MODULE_DEVICE_TABLE(usb, device_table);static int sd_probe (struct usb_interface *intf,const struct usb_device_id *id) { -return gspca_dev_probe (intf, id, &sd_desc,sizeof (struct sd ), -THIS_MODULE ); +if (id->driver_info ==SENSOR_PAC7302 ) +return gspca_dev_probe (intf, id, &pac7302_sd_desc, +sizeof (struct sd ),THIS_MODULE ); +else +return gspca_dev_probe (intf, id, &pac7311_sd_desc, +sizeof (struct sd ),THIS_MODULE ); }static struct usb_driver sd_driver = {