diff options
22 files changed, 60 insertions, 34 deletions
diff --git a/drivers/media/video/gspca/conex.c b/drivers/media/video/gspca/conex.c index 4d9f4cc255a9..a9d51ba7c57c 100644 --- a/drivers/media/video/gspca/conex.c +++ b/drivers/media/video/gspca/conex.c | |||
@@ -837,12 +837,13 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
837 | return 0; | 837 | return 0; |
838 | } | 838 | } |
839 | 839 | ||
840 | static void sd_start(struct gspca_dev *gspca_dev) | 840 | static int sd_start(struct gspca_dev *gspca_dev) |
841 | { | 841 | { |
842 | cx11646_initsize(gspca_dev); | 842 | cx11646_initsize(gspca_dev); |
843 | cx11646_fw(gspca_dev); | 843 | cx11646_fw(gspca_dev); |
844 | cx_sensor(gspca_dev); | 844 | cx_sensor(gspca_dev); |
845 | cx11646_jpeg(gspca_dev); | 845 | cx11646_jpeg(gspca_dev); |
846 | return 0; | ||
846 | } | 847 | } |
847 | 848 | ||
848 | static void sd_stop0(struct gspca_dev *gspca_dev) | 849 | static void sd_stop0(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/etoms.c b/drivers/media/video/gspca/etoms.c index 4ff0e386914b..3be30b420a26 100644 --- a/drivers/media/video/gspca/etoms.c +++ b/drivers/media/video/gspca/etoms.c | |||
@@ -691,7 +691,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
691 | } | 691 | } |
692 | 692 | ||
693 | /* -- start the camera -- */ | 693 | /* -- start the camera -- */ |
694 | static void sd_start(struct gspca_dev *gspca_dev) | 694 | static int sd_start(struct gspca_dev *gspca_dev) |
695 | { | 695 | { |
696 | struct sd *sd = (struct sd *) gspca_dev; | 696 | struct sd *sd = (struct sd *) gspca_dev; |
697 | 697 | ||
@@ -704,6 +704,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
704 | 704 | ||
705 | reg_w_val(gspca_dev, ET_RESET_ALL, 0x08); | 705 | reg_w_val(gspca_dev, ET_RESET_ALL, 0x08); |
706 | et_video(gspca_dev, 1); /* video on */ | 706 | et_video(gspca_dev, 1); /* video on */ |
707 | return 0; | ||
707 | } | 708 | } |
708 | 709 | ||
709 | static void sd_stopN(struct gspca_dev *gspca_dev) | 710 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index 4694dc14a249..a286b91965fa 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -584,7 +584,11 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) | |||
584 | goto out; | 584 | goto out; |
585 | 585 | ||
586 | /* start the cam */ | 586 | /* start the cam */ |
587 | gspca_dev->sd_desc->start(gspca_dev); | 587 | ret = gspca_dev->sd_desc->start(gspca_dev); |
588 | if (ret < 0) { | ||
589 | destroy_urbs(gspca_dev); | ||
590 | goto out; | ||
591 | } | ||
588 | gspca_dev->streaming = 1; | 592 | gspca_dev->streaming = 1; |
589 | atomic_set(&gspca_dev->nevent, 0); | 593 | atomic_set(&gspca_dev->nevent, 0); |
590 | 594 | ||
diff --git a/drivers/media/video/gspca/gspca.h b/drivers/media/video/gspca/gspca.h index 72a288573051..b0bdae194bb6 100644 --- a/drivers/media/video/gspca/gspca.h +++ b/drivers/media/video/gspca/gspca.h | |||
@@ -93,7 +93,7 @@ struct sd_desc { | |||
93 | /* mandatory operations */ | 93 | /* mandatory operations */ |
94 | cam_cf_op config; /* called on probe */ | 94 | cam_cf_op config; /* called on probe */ |
95 | cam_op init; /* called on probe and resume */ | 95 | cam_op init; /* called on probe and resume */ |
96 | cam_v_op start; /* called on stream on */ | 96 | cam_op start; /* called on stream on */ |
97 | cam_pkt_op pkt_scan; | 97 | cam_pkt_op pkt_scan; |
98 | /* optional operations */ | 98 | /* optional operations */ |
99 | cam_v_op stopN; /* called on stream off - main alt */ | 99 | cam_v_op stopN; /* called on stream off - main alt */ |
diff --git a/drivers/media/video/gspca/mars.c b/drivers/media/video/gspca/mars.c index 4d5db47ba8cb..277ca34a8817 100644 --- a/drivers/media/video/gspca/mars.c +++ b/drivers/media/video/gspca/mars.c | |||
@@ -134,7 +134,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
134 | return 0; | 134 | return 0; |
135 | } | 135 | } |
136 | 136 | ||
137 | static void sd_start(struct gspca_dev *gspca_dev) | 137 | static int sd_start(struct gspca_dev *gspca_dev) |
138 | { | 138 | { |
139 | int err_code; | 139 | int err_code; |
140 | __u8 *data; | 140 | __u8 *data; |
@@ -143,9 +143,10 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
143 | int intpipe; | 143 | int intpipe; |
144 | 144 | ||
145 | PDEBUG(D_STREAM, "camera start, iface %d, alt 8", gspca_dev->iface); | 145 | PDEBUG(D_STREAM, "camera start, iface %d, alt 8", gspca_dev->iface); |
146 | if (usb_set_interface(gspca_dev->dev, gspca_dev->iface, 8) < 0) { | 146 | err_code = usb_set_interface(gspca_dev->dev, gspca_dev->iface, 8); |
147 | if (err_code < 0) { | ||
147 | PDEBUG(D_ERR|D_STREAM, "Set packet size: set interface error"); | 148 | PDEBUG(D_ERR|D_STREAM, "Set packet size: set interface error"); |
148 | return; | 149 | return err_code; |
149 | } | 150 | } |
150 | 151 | ||
151 | data = gspca_dev->usb_buf; | 152 | data = gspca_dev->usb_buf; |
@@ -154,7 +155,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
154 | 155 | ||
155 | err_code = reg_w(gspca_dev, data[0], 2); | 156 | err_code = reg_w(gspca_dev, data[0], 2); |
156 | if (err_code < 0) | 157 | if (err_code < 0) |
157 | return; | 158 | return err_code; |
158 | 159 | ||
159 | /* | 160 | /* |
160 | Initialize the MR97113 chip register | 161 | Initialize the MR97113 chip register |
@@ -180,14 +181,14 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
180 | 181 | ||
181 | err_code = reg_w(gspca_dev, data[0], 11); | 182 | err_code = reg_w(gspca_dev, data[0], 11); |
182 | if (err_code < 0) | 183 | if (err_code < 0) |
183 | return; | 184 | return err_code; |
184 | 185 | ||
185 | data[0] = 0x23; /* address */ | 186 | data[0] = 0x23; /* address */ |
186 | data[1] = 0x09; /* reg 35, append frame header */ | 187 | data[1] = 0x09; /* reg 35, append frame header */ |
187 | 188 | ||
188 | err_code = reg_w(gspca_dev, data[0], 2); | 189 | err_code = reg_w(gspca_dev, data[0], 2); |
189 | if (err_code < 0) | 190 | if (err_code < 0) |
190 | return; | 191 | return err_code; |
191 | 192 | ||
192 | data[0] = 0x3c; /* address */ | 193 | data[0] = 0x3c; /* address */ |
193 | /* if (gspca_dev->width == 1280) */ | 194 | /* if (gspca_dev->width == 1280) */ |
@@ -198,7 +199,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
198 | * (unit: 4KB) 200KB */ | 199 | * (unit: 4KB) 200KB */ |
199 | err_code = reg_w(gspca_dev, data[0], 2); | 200 | err_code = reg_w(gspca_dev, data[0], 2); |
200 | if (err_code < 0) | 201 | if (err_code < 0) |
201 | return; | 202 | return err_code; |
202 | 203 | ||
203 | if (0) { /* fixed dark-gain */ | 204 | if (0) { /* fixed dark-gain */ |
204 | data[1] = 0; /* reg 94, Y Gain (1.75) */ | 205 | data[1] = 0; /* reg 94, Y Gain (1.75) */ |
@@ -240,13 +241,13 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
240 | 241 | ||
241 | err_code = reg_w(gspca_dev, data[0], 6); | 242 | err_code = reg_w(gspca_dev, data[0], 6); |
242 | if (err_code < 0) | 243 | if (err_code < 0) |
243 | return; | 244 | return err_code; |
244 | 245 | ||
245 | data[0] = 0x67; | 246 | data[0] = 0x67; |
246 | data[1] = 0x13; /* reg 103, first pixel B, disable sharpness */ | 247 | data[1] = 0x13; /* reg 103, first pixel B, disable sharpness */ |
247 | err_code = reg_w(gspca_dev, data[0], 2); | 248 | err_code = reg_w(gspca_dev, data[0], 2); |
248 | if (err_code < 0) | 249 | if (err_code < 0) |
249 | return; | 250 | return err_code; |
250 | 251 | ||
251 | /* | 252 | /* |
252 | * initialize the value of MI sensor... | 253 | * initialize the value of MI sensor... |
@@ -326,6 +327,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
326 | data[0] = 0x00; | 327 | data[0] = 0x00; |
327 | data[1] = 0x4d; /* ISOC transfering enable... */ | 328 | data[1] = 0x4d; /* ISOC transfering enable... */ |
328 | reg_w(gspca_dev, data[0], 2); | 329 | reg_w(gspca_dev, data[0], 2); |
330 | return err_code; | ||
329 | } | 331 | } |
330 | 332 | ||
331 | static void sd_stopN(struct gspca_dev *gspca_dev) | 333 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/ov519.c b/drivers/media/video/gspca/ov519.c index 4df4eec9f7e7..ca671194679e 100644 --- a/drivers/media/video/gspca/ov519.c +++ b/drivers/media/video/gspca/ov519.c | |||
@@ -1854,7 +1854,7 @@ static int set_ov_sensor_window(struct sd *sd) | |||
1854 | } | 1854 | } |
1855 | 1855 | ||
1856 | /* -- start the camera -- */ | 1856 | /* -- start the camera -- */ |
1857 | static void sd_start(struct gspca_dev *gspca_dev) | 1857 | static int sd_start(struct gspca_dev *gspca_dev) |
1858 | { | 1858 | { |
1859 | struct sd *sd = (struct sd *) gspca_dev; | 1859 | struct sd *sd = (struct sd *) gspca_dev; |
1860 | int ret; | 1860 | int ret; |
@@ -1871,9 +1871,10 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1871 | goto out; | 1871 | goto out; |
1872 | PDEBUG(D_STREAM, "camera started alt: 0x%02x", gspca_dev->alt); | 1872 | PDEBUG(D_STREAM, "camera started alt: 0x%02x", gspca_dev->alt); |
1873 | ov51x_led_control(sd, 1); | 1873 | ov51x_led_control(sd, 1); |
1874 | return; | 1874 | return 0; |
1875 | out: | 1875 | out: |
1876 | PDEBUG(D_ERR, "camera start error:%d", ret); | 1876 | PDEBUG(D_ERR, "camera start error:%d", ret); |
1877 | return ret; | ||
1877 | } | 1878 | } |
1878 | 1879 | ||
1879 | static void sd_stopN(struct gspca_dev *gspca_dev) | 1880 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/pac207.c b/drivers/media/video/gspca/pac207.c index 34e923d00b7e..0b0c573d06da 100644 --- a/drivers/media/video/gspca/pac207.c +++ b/drivers/media/video/gspca/pac207.c | |||
@@ -281,7 +281,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
281 | } | 281 | } |
282 | 282 | ||
283 | /* -- start the camera -- */ | 283 | /* -- start the camera -- */ |
284 | static void sd_start(struct gspca_dev *gspca_dev) | 284 | static int sd_start(struct gspca_dev *gspca_dev) |
285 | { | 285 | { |
286 | struct sd *sd = (struct sd *) gspca_dev; | 286 | struct sd *sd = (struct sd *) gspca_dev; |
287 | __u8 mode; | 287 | __u8 mode; |
@@ -323,6 +323,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
323 | sd->sof_read = 0; | 323 | sd->sof_read = 0; |
324 | sd->autogain_ignore_frames = 0; | 324 | sd->autogain_ignore_frames = 0; |
325 | atomic_set(&sd->avg_lum, -1); | 325 | atomic_set(&sd->avg_lum, -1); |
326 | return 0; | ||
326 | } | 327 | } |
327 | 328 | ||
328 | static void sd_stopN(struct gspca_dev *gspca_dev) | 329 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/pac7311.c b/drivers/media/video/gspca/pac7311.c index ba865b7f1ed8..e5ff9a6199ef 100644 --- a/drivers/media/video/gspca/pac7311.c +++ b/drivers/media/video/gspca/pac7311.c | |||
@@ -675,7 +675,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
675 | return 0; | 675 | return 0; |
676 | } | 676 | } |
677 | 677 | ||
678 | static void sd_start(struct gspca_dev *gspca_dev) | 678 | static int sd_start(struct gspca_dev *gspca_dev) |
679 | { | 679 | { |
680 | struct sd *sd = (struct sd *) gspca_dev; | 680 | struct sd *sd = (struct sd *) gspca_dev; |
681 | 681 | ||
@@ -724,6 +724,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
724 | reg_w(gspca_dev, 0x78, 0x01); | 724 | reg_w(gspca_dev, 0x78, 0x01); |
725 | else | 725 | else |
726 | reg_w(gspca_dev, 0x78, 0x05); | 726 | reg_w(gspca_dev, 0x78, 0x05); |
727 | return 0; | ||
727 | } | 728 | } |
728 | 729 | ||
729 | static void sd_stopN(struct gspca_dev *gspca_dev) | 730 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/sonixb.c b/drivers/media/video/gspca/sonixb.c index 4328ad44c40a..6c69bc7778fc 100644 --- a/drivers/media/video/gspca/sonixb.c +++ b/drivers/media/video/gspca/sonixb.c | |||
@@ -892,7 +892,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
892 | } | 892 | } |
893 | 893 | ||
894 | /* -- start the camera -- */ | 894 | /* -- start the camera -- */ |
895 | static void sd_start(struct gspca_dev *gspca_dev) | 895 | static int sd_start(struct gspca_dev *gspca_dev) |
896 | { | 896 | { |
897 | struct sd *sd = (struct sd *) gspca_dev; | 897 | struct sd *sd = (struct sd *) gspca_dev; |
898 | struct cam *cam = &gspca_dev->cam; | 898 | struct cam *cam = &gspca_dev->cam; |
@@ -976,6 +976,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
976 | sd->frames_to_drop = 0; | 976 | sd->frames_to_drop = 0; |
977 | sd->autogain_ignore_frames = 0; | 977 | sd->autogain_ignore_frames = 0; |
978 | atomic_set(&sd->avg_lum, -1); | 978 | atomic_set(&sd->avg_lum, -1); |
979 | return 0; | ||
979 | } | 980 | } |
980 | 981 | ||
981 | static void sd_stopN(struct gspca_dev *gspca_dev) | 982 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c index 2ca4d9f23fe4..9c6a874be990 100644 --- a/drivers/media/video/gspca/sonixj.c +++ b/drivers/media/video/gspca/sonixj.c | |||
@@ -1203,7 +1203,7 @@ static void setvflip(struct sd *sd) | |||
1203 | } | 1203 | } |
1204 | 1204 | ||
1205 | /* -- start the camera -- */ | 1205 | /* -- start the camera -- */ |
1206 | static void sd_start(struct gspca_dev *gspca_dev) | 1206 | static int sd_start(struct gspca_dev *gspca_dev) |
1207 | { | 1207 | { |
1208 | struct sd *sd = (struct sd *) gspca_dev; | 1208 | struct sd *sd = (struct sd *) gspca_dev; |
1209 | int i; | 1209 | int i; |
@@ -1357,6 +1357,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1357 | } | 1357 | } |
1358 | setautogain(gspca_dev); | 1358 | setautogain(gspca_dev); |
1359 | reg_w1(gspca_dev, 0x01, reg1); | 1359 | reg_w1(gspca_dev, 0x01, reg1); |
1360 | return 0; | ||
1360 | } | 1361 | } |
1361 | 1362 | ||
1362 | static void sd_stopN(struct gspca_dev *gspca_dev) | 1363 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca500.c b/drivers/media/video/gspca/spca500.c index 6e733901fcca..bca106c153fa 100644 --- a/drivers/media/video/gspca/spca500.c +++ b/drivers/media/video/gspca/spca500.c | |||
@@ -660,7 +660,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
660 | return 0; | 660 | return 0; |
661 | } | 661 | } |
662 | 662 | ||
663 | static void sd_start(struct gspca_dev *gspca_dev) | 663 | static int sd_start(struct gspca_dev *gspca_dev) |
664 | { | 664 | { |
665 | struct sd *sd = (struct sd *) gspca_dev; | 665 | struct sd *sd = (struct sd *) gspca_dev; |
666 | int err; | 666 | int err; |
@@ -867,6 +867,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
867 | write_vector(gspca_dev, Clicksmart510_defaults); | 867 | write_vector(gspca_dev, Clicksmart510_defaults); |
868 | break; | 868 | break; |
869 | } | 869 | } |
870 | return 0; | ||
870 | } | 871 | } |
871 | 872 | ||
872 | static void sd_stopN(struct gspca_dev *gspca_dev) | 873 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca501.c b/drivers/media/video/gspca/spca501.c index e9eb59bae4fb..b742f260c7ca 100644 --- a/drivers/media/video/gspca/spca501.c +++ b/drivers/media/video/gspca/spca501.c | |||
@@ -1980,7 +1980,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
1980 | return 0; | 1980 | return 0; |
1981 | } | 1981 | } |
1982 | 1982 | ||
1983 | static void sd_start(struct gspca_dev *gspca_dev) | 1983 | static int sd_start(struct gspca_dev *gspca_dev) |
1984 | { | 1984 | { |
1985 | struct usb_device *dev = gspca_dev->dev; | 1985 | struct usb_device *dev = gspca_dev->dev; |
1986 | int mode; | 1986 | int mode; |
@@ -2012,6 +2012,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
2012 | setbrightness(gspca_dev); | 2012 | setbrightness(gspca_dev); |
2013 | setcontrast(gspca_dev); | 2013 | setcontrast(gspca_dev); |
2014 | setcolors(gspca_dev); | 2014 | setcolors(gspca_dev); |
2015 | return 0; | ||
2015 | } | 2016 | } |
2016 | 2017 | ||
2017 | static void sd_stopN(struct gspca_dev *gspca_dev) | 2018 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca505.c b/drivers/media/video/gspca/spca505.c index f601daf19ebe..b345749213cf 100644 --- a/drivers/media/video/gspca/spca505.c +++ b/drivers/media/video/gspca/spca505.c | |||
@@ -688,7 +688,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
688 | return 0; | 688 | return 0; |
689 | } | 689 | } |
690 | 690 | ||
691 | static void sd_start(struct gspca_dev *gspca_dev) | 691 | static int sd_start(struct gspca_dev *gspca_dev) |
692 | { | 692 | { |
693 | struct usb_device *dev = gspca_dev->dev; | 693 | struct usb_device *dev = gspca_dev->dev; |
694 | int ret; | 694 | int ret; |
@@ -733,6 +733,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
733 | /* reg_write(dev, 0x5, 0x0, 0x0); */ | 733 | /* reg_write(dev, 0x5, 0x0, 0x0); */ |
734 | /* reg_write(dev, 0x5, 0x0, 0x1); */ | 734 | /* reg_write(dev, 0x5, 0x0, 0x1); */ |
735 | /* reg_write(dev, 0x5, 0x11, 0x2); */ | 735 | /* reg_write(dev, 0x5, 0x11, 0x2); */ |
736 | return ret; | ||
736 | } | 737 | } |
737 | 738 | ||
738 | static void sd_stopN(struct gspca_dev *gspca_dev) | 739 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca506.c b/drivers/media/video/gspca/spca506.c index 195dce96ef06..645ee9d44d02 100644 --- a/drivers/media/video/gspca/spca506.c +++ b/drivers/media/video/gspca/spca506.c | |||
@@ -422,7 +422,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
422 | return 0; | 422 | return 0; |
423 | } | 423 | } |
424 | 424 | ||
425 | static void sd_start(struct gspca_dev *gspca_dev) | 425 | static int sd_start(struct gspca_dev *gspca_dev) |
426 | { | 426 | { |
427 | struct usb_device *dev = gspca_dev->dev; | 427 | struct usb_device *dev = gspca_dev->dev; |
428 | __u16 norme; | 428 | __u16 norme; |
@@ -549,6 +549,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
549 | PDEBUG(D_STREAM, "webcam started"); | 549 | PDEBUG(D_STREAM, "webcam started"); |
550 | spca506_GetNormeInput(gspca_dev, &norme, &channel); | 550 | spca506_GetNormeInput(gspca_dev, &norme, &channel); |
551 | spca506_SetNormeInput(gspca_dev, norme, channel); | 551 | spca506_SetNormeInput(gspca_dev, norme, channel); |
552 | return 0; | ||
552 | } | 553 | } |
553 | 554 | ||
554 | static void sd_stopN(struct gspca_dev *gspca_dev) | 555 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca508.c b/drivers/media/video/gspca/spca508.c index 281ce02103a3..63ec902c895d 100644 --- a/drivers/media/video/gspca/spca508.c +++ b/drivers/media/video/gspca/spca508.c | |||
@@ -1528,7 +1528,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
1528 | return 0; | 1528 | return 0; |
1529 | } | 1529 | } |
1530 | 1530 | ||
1531 | static void sd_start(struct gspca_dev *gspca_dev) | 1531 | static int sd_start(struct gspca_dev *gspca_dev) |
1532 | { | 1532 | { |
1533 | int mode; | 1533 | int mode; |
1534 | 1534 | ||
@@ -1546,6 +1546,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1546 | break; | 1546 | break; |
1547 | } | 1547 | } |
1548 | reg_write(gspca_dev->dev, 0x8112, 0x10 | 0x20); | 1548 | reg_write(gspca_dev->dev, 0x8112, 0x10 | 0x20); |
1549 | return 0; | ||
1549 | } | 1550 | } |
1550 | 1551 | ||
1551 | static void sd_stopN(struct gspca_dev *gspca_dev) | 1552 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/spca561.c b/drivers/media/video/gspca/spca561.c index 4d8e2c0018b1..29089d9526b6 100644 --- a/drivers/media/video/gspca/spca561.c +++ b/drivers/media/video/gspca/spca561.c | |||
@@ -699,7 +699,7 @@ static void setautogain(struct gspca_dev *gspca_dev) | |||
699 | sd->ag_cnt = -1; | 699 | sd->ag_cnt = -1; |
700 | } | 700 | } |
701 | 701 | ||
702 | static void sd_start_12a(struct gspca_dev *gspca_dev) | 702 | static int sd_start_12a(struct gspca_dev *gspca_dev) |
703 | { | 703 | { |
704 | struct usb_device *dev = gspca_dev->dev; | 704 | struct usb_device *dev = gspca_dev->dev; |
705 | int Clck = 0x8a; /* lower 0x8X values lead to fps > 30 */ | 705 | int Clck = 0x8a; /* lower 0x8X values lead to fps > 30 */ |
@@ -725,8 +725,9 @@ static void sd_start_12a(struct gspca_dev *gspca_dev) | |||
725 | setwhite(gspca_dev); | 725 | setwhite(gspca_dev); |
726 | setautogain(gspca_dev); | 726 | setautogain(gspca_dev); |
727 | setexposure(gspca_dev); | 727 | setexposure(gspca_dev); |
728 | return 0; | ||
728 | } | 729 | } |
729 | static void sd_start_72a(struct gspca_dev *gspca_dev) | 730 | static int sd_start_72a(struct gspca_dev *gspca_dev) |
730 | { | 731 | { |
731 | struct usb_device *dev = gspca_dev->dev; | 732 | struct usb_device *dev = gspca_dev->dev; |
732 | int Clck; | 733 | int Clck; |
@@ -750,6 +751,7 @@ static void sd_start_72a(struct gspca_dev *gspca_dev) | |||
750 | reg_w_val(dev, 0x8700, Clck); /* 0x27 clock */ | 751 | reg_w_val(dev, 0x8700, Clck); /* 0x27 clock */ |
751 | reg_w_val(dev, 0x8112, 0x10 | 0x20); | 752 | reg_w_val(dev, 0x8112, 0x10 | 0x20); |
752 | setautogain(gspca_dev); | 753 | setautogain(gspca_dev); |
754 | return 0; | ||
753 | } | 755 | } |
754 | 756 | ||
755 | static void sd_stopN(struct gspca_dev *gspca_dev) | 757 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/stk014.c b/drivers/media/video/gspca/stk014.c index 2f2de429e273..d9d64911f22a 100644 --- a/drivers/media/video/gspca/stk014.c +++ b/drivers/media/video/gspca/stk014.c | |||
@@ -324,7 +324,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
324 | } | 324 | } |
325 | 325 | ||
326 | /* -- start the camera -- */ | 326 | /* -- start the camera -- */ |
327 | static void sd_start(struct gspca_dev *gspca_dev) | 327 | static int sd_start(struct gspca_dev *gspca_dev) |
328 | { | 328 | { |
329 | int ret, value; | 329 | int ret, value; |
330 | 330 | ||
@@ -374,9 +374,10 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
374 | set_par(gspca_dev, 0x01000000); | 374 | set_par(gspca_dev, 0x01000000); |
375 | set_par(gspca_dev, 0x01000000); | 375 | set_par(gspca_dev, 0x01000000); |
376 | PDEBUG(D_STREAM, "camera started alt: 0x%02x", gspca_dev->alt); | 376 | PDEBUG(D_STREAM, "camera started alt: 0x%02x", gspca_dev->alt); |
377 | return; | 377 | return 0; |
378 | out: | 378 | out: |
379 | PDEBUG(D_ERR|D_STREAM, "camera start err %d", ret); | 379 | PDEBUG(D_ERR|D_STREAM, "camera start err %d", ret); |
380 | return ret; | ||
380 | } | 381 | } |
381 | 382 | ||
382 | static void sd_stopN(struct gspca_dev *gspca_dev) | 383 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/sunplus.c b/drivers/media/video/gspca/sunplus.c index 1cfcc6c49558..bd9288665a80 100644 --- a/drivers/media/video/gspca/sunplus.c +++ b/drivers/media/video/gspca/sunplus.c | |||
@@ -961,7 +961,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
961 | return 0; | 961 | return 0; |
962 | } | 962 | } |
963 | 963 | ||
964 | static void sd_start(struct gspca_dev *gspca_dev) | 964 | static int sd_start(struct gspca_dev *gspca_dev) |
965 | { | 965 | { |
966 | struct sd *sd = (struct sd *) gspca_dev; | 966 | struct sd *sd = (struct sd *) gspca_dev; |
967 | struct usb_device *dev = gspca_dev->dev; | 967 | struct usb_device *dev = gspca_dev->dev; |
@@ -1042,6 +1042,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1042 | break; | 1042 | break; |
1043 | } | 1043 | } |
1044 | sp5xx_initContBrigHueRegisters(gspca_dev); | 1044 | sp5xx_initContBrigHueRegisters(gspca_dev); |
1045 | return 0; | ||
1045 | } | 1046 | } |
1046 | 1047 | ||
1047 | static void sd_stopN(struct gspca_dev *gspca_dev) | 1048 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/t613.c b/drivers/media/video/gspca/t613.c index f034c748fc7e..78c674297592 100644 --- a/drivers/media/video/gspca/t613.c +++ b/drivers/media/video/gspca/t613.c | |||
@@ -849,7 +849,7 @@ static int sd_getlowlight(struct gspca_dev *gspca_dev, __s32 *val) | |||
849 | return 0; | 849 | return 0; |
850 | } | 850 | } |
851 | 851 | ||
852 | static void sd_start(struct gspca_dev *gspca_dev) | 852 | static int sd_start(struct gspca_dev *gspca_dev) |
853 | { | 853 | { |
854 | int mode; | 854 | int mode; |
855 | 855 | ||
@@ -898,6 +898,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
898 | setbrightness(gspca_dev); | 898 | setbrightness(gspca_dev); |
899 | setcontrast(gspca_dev); | 899 | setcontrast(gspca_dev); |
900 | setcolors(gspca_dev); | 900 | setcolors(gspca_dev); |
901 | return 0; | ||
901 | } | 902 | } |
902 | 903 | ||
903 | static void sd_pkt_scan(struct gspca_dev *gspca_dev, | 904 | static void sd_pkt_scan(struct gspca_dev *gspca_dev, |
diff --git a/drivers/media/video/gspca/tv8532.c b/drivers/media/video/gspca/tv8532.c index 084af05302a0..968a5911704f 100644 --- a/drivers/media/video/gspca/tv8532.c +++ b/drivers/media/video/gspca/tv8532.c | |||
@@ -390,7 +390,7 @@ static void setbrightness(struct gspca_dev *gspca_dev) | |||
390 | } | 390 | } |
391 | 391 | ||
392 | /* -- start the camera -- */ | 392 | /* -- start the camera -- */ |
393 | static void sd_start(struct gspca_dev *gspca_dev) | 393 | static int sd_start(struct gspca_dev *gspca_dev) |
394 | { | 394 | { |
395 | reg_w_1(gspca_dev, TV8532_AD_SLOPE, 0x32); | 395 | reg_w_1(gspca_dev, TV8532_AD_SLOPE, 0x32); |
396 | reg_w_1(gspca_dev, TV8532_AD_BITCTRL, 0x00); | 396 | reg_w_1(gspca_dev, TV8532_AD_BITCTRL, 0x00); |
@@ -443,6 +443,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
443 | /************************************************/ | 443 | /************************************************/ |
444 | tv_8532_PollReg(gspca_dev); | 444 | tv_8532_PollReg(gspca_dev); |
445 | reg_w_1(gspca_dev, TV8532_UDP_UPDATE, 0x00); /* 0x31 */ | 445 | reg_w_1(gspca_dev, TV8532_UDP_UPDATE, 0x00); /* 0x31 */ |
446 | return 0; | ||
446 | } | 447 | } |
447 | 448 | ||
448 | static void sd_stopN(struct gspca_dev *gspca_dev) | 449 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/vc032x.c b/drivers/media/video/gspca/vc032x.c index 0c68f433bb9b..be46d9232540 100644 --- a/drivers/media/video/gspca/vc032x.c +++ b/drivers/media/video/gspca/vc032x.c | |||
@@ -1501,7 +1501,7 @@ static void setlightfreq(struct gspca_dev *gspca_dev) | |||
1501 | usb_exchange(gspca_dev, ov7660_freq_tb[sd->lightfreq]); | 1501 | usb_exchange(gspca_dev, ov7660_freq_tb[sd->lightfreq]); |
1502 | } | 1502 | } |
1503 | 1503 | ||
1504 | static void sd_start(struct gspca_dev *gspca_dev) | 1504 | static int sd_start(struct gspca_dev *gspca_dev) |
1505 | { | 1505 | { |
1506 | struct sd *sd = (struct sd *) gspca_dev; | 1506 | struct sd *sd = (struct sd *) gspca_dev; |
1507 | const __u8 *GammaT = NULL; | 1507 | const __u8 *GammaT = NULL; |
@@ -1585,7 +1585,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1585 | break; | 1585 | break; |
1586 | default: | 1586 | default: |
1587 | PDEBUG(D_PROBE, "Damned !! no sensor found Bye"); | 1587 | PDEBUG(D_PROBE, "Damned !! no sensor found Bye"); |
1588 | return; | 1588 | return -EMEDIUMTYPE; |
1589 | } | 1589 | } |
1590 | if (GammaT && MatrixT) { | 1590 | if (GammaT && MatrixT) { |
1591 | put_tab_to_reg(gspca_dev, GammaT, 17, 0xb84a); | 1591 | put_tab_to_reg(gspca_dev, GammaT, 17, 0xb84a); |
@@ -1621,6 +1621,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
1621 | setautogain(gspca_dev); | 1621 | setautogain(gspca_dev); |
1622 | setlightfreq(gspca_dev); | 1622 | setlightfreq(gspca_dev); |
1623 | } | 1623 | } |
1624 | return 0; | ||
1624 | } | 1625 | } |
1625 | 1626 | ||
1626 | static void sd_stopN(struct gspca_dev *gspca_dev) | 1627 | static void sd_stopN(struct gspca_dev *gspca_dev) |
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c index d61ef727e0c2..d0a4451dc46f 100644 --- a/drivers/media/video/gspca/zc3xx.c +++ b/drivers/media/video/gspca/zc3xx.c | |||
@@ -7178,7 +7178,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
7178 | return 0; | 7178 | return 0; |
7179 | } | 7179 | } |
7180 | 7180 | ||
7181 | static void sd_start(struct gspca_dev *gspca_dev) | 7181 | static int sd_start(struct gspca_dev *gspca_dev) |
7182 | { | 7182 | { |
7183 | struct sd *sd = (struct sd *) gspca_dev; | 7183 | struct sd *sd = (struct sd *) gspca_dev; |
7184 | struct usb_device *dev = gspca_dev->dev; | 7184 | struct usb_device *dev = gspca_dev->dev; |
@@ -7331,6 +7331,7 @@ static void sd_start(struct gspca_dev *gspca_dev) | |||
7331 | reg_w(dev, 0x02, 0x0008); | 7331 | reg_w(dev, 0x02, 0x0008); |
7332 | break; | 7332 | break; |
7333 | } | 7333 | } |
7334 | return 0; | ||
7334 | } | 7335 | } |
7335 | 7336 | ||
7336 | static void sd_stop0(struct gspca_dev *gspca_dev) | 7337 | static void sd_stop0(struct gspca_dev *gspca_dev) |