diff options
author | Erik Andr?n <erik.andren@gmail.com> | 2008-12-27 10:28:00 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-06 20:44:35 -0400 |
commit | 051781b3a8ea31f1834fddb916607a3088a28f71 (patch) | |
tree | a8f7f4732467b73508257ef5090dec2292468986 /drivers/media/video/gspca/m5602/m5602_s5k83a.c | |
parent | ad567ec23501dfdf00dcc8915709a1fda556b6f4 (diff) |
V4L/DVB (11405): gspca - m5602: Simplify error handling
Simplfy error handling by replacing goto statements with return equivalents.
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/m5602/m5602_s5k83a.c')
-rw-r--r-- | drivers/media/video/gspca/m5602/m5602_s5k83a.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k83a.c b/drivers/media/video/gspca/m5602/m5602_s5k83a.c index ccea4a75846..9bea347b9ef 100644 --- a/drivers/media/video/gspca/m5602/m5602_s5k83a.c +++ b/drivers/media/video/gspca/m5602/m5602_s5k83a.c | |||
@@ -163,12 +163,11 @@ int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val) | |||
163 | 163 | ||
164 | err = m5602_read_sensor(sd, S5K83A_BRIGHTNESS, data, 2); | 164 | err = m5602_read_sensor(sd, S5K83A_BRIGHTNESS, data, 2); |
165 | if (err < 0) | 165 | if (err < 0) |
166 | goto out; | 166 | return err; |
167 | 167 | ||
168 | data[1] = data[1] << 1; | 168 | data[1] = data[1] << 1; |
169 | *val = data[1]; | 169 | *val = data[1]; |
170 | 170 | ||
171 | out: | ||
172 | return err; | 171 | return err; |
173 | } | 172 | } |
174 | 173 | ||
@@ -182,13 +181,13 @@ int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val) | |||
182 | data[1] = 0x20; | 181 | data[1] = 0x20; |
183 | err = m5602_write_sensor(sd, 0x14, data, 2); | 182 | err = m5602_write_sensor(sd, 0x14, data, 2); |
184 | if (err < 0) | 183 | if (err < 0) |
185 | goto out; | 184 | return err; |
186 | 185 | ||
187 | data[0] = 0x01; | 186 | data[0] = 0x01; |
188 | data[1] = 0x00; | 187 | data[1] = 0x00; |
189 | err = m5602_write_sensor(sd, 0x0d, data, 2); | 188 | err = m5602_write_sensor(sd, 0x0d, data, 2); |
190 | if (err < 0) | 189 | if (err < 0) |
191 | goto out; | 190 | return err; |
192 | 191 | ||
193 | /* FIXME: This is not sane, we need to figure out the composition | 192 | /* FIXME: This is not sane, we need to figure out the composition |
194 | of these registers */ | 193 | of these registers */ |
@@ -196,7 +195,6 @@ int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val) | |||
196 | data[1] = val >> 1; /* brightness, high 7 bits */ | 195 | data[1] = val >> 1; /* brightness, high 7 bits */ |
197 | err = m5602_write_sensor(sd, S5K83A_BRIGHTNESS, data, 2); | 196 | err = m5602_write_sensor(sd, S5K83A_BRIGHTNESS, data, 2); |
198 | 197 | ||
199 | out: | ||
200 | return err; | 198 | return err; |
201 | } | 199 | } |
202 | 200 | ||
@@ -208,11 +206,10 @@ int s5k83a_get_whiteness(struct gspca_dev *gspca_dev, __s32 *val) | |||
208 | 206 | ||
209 | err = m5602_read_sensor(sd, S5K83A_WHITENESS, &data, 1); | 207 | err = m5602_read_sensor(sd, S5K83A_WHITENESS, &data, 1); |
210 | if (err < 0) | 208 | if (err < 0) |
211 | goto out; | 209 | return err; |
212 | 210 | ||
213 | *val = data; | 211 | *val = data; |
214 | 212 | ||
215 | out: | ||
216 | return err; | 213 | return err; |
217 | } | 214 | } |
218 | 215 | ||
@@ -236,7 +233,7 @@ int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val) | |||
236 | 233 | ||
237 | err = m5602_read_sensor(sd, S5K83A_GAIN, data, 2); | 234 | err = m5602_read_sensor(sd, S5K83A_GAIN, data, 2); |
238 | if (err < 0) | 235 | if (err < 0) |
239 | goto out; | 236 | return err; |
240 | 237 | ||
241 | data[1] = data[1] & 0x3f; | 238 | data[1] = data[1] & 0x3f; |
242 | if (data[1] > S5K83A_MAXIMUM_GAIN) | 239 | if (data[1] > S5K83A_MAXIMUM_GAIN) |
@@ -244,7 +241,6 @@ int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val) | |||
244 | 241 | ||
245 | *val = data[1]; | 242 | *val = data[1]; |
246 | 243 | ||
247 | out: | ||
248 | return err; | 244 | return err; |
249 | } | 245 | } |
250 | 246 | ||
@@ -269,12 +265,11 @@ int s5k83a_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) | |||
269 | data[0] = 0x05; | 265 | data[0] = 0x05; |
270 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); | 266 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); |
271 | if (err < 0) | 267 | if (err < 0) |
272 | goto out; | 268 | return err; |
273 | 269 | ||
274 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); | 270 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); |
275 | *val = (data[0] | 0x40) ? 1 : 0; | 271 | *val = (data[0] | 0x40) ? 1 : 0; |
276 | 272 | ||
277 | out: | ||
278 | return err; | 273 | return err; |
279 | } | 274 | } |
280 | 275 | ||
@@ -287,23 +282,22 @@ int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val) | |||
287 | data[0] = 0x05; | 282 | data[0] = 0x05; |
288 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); | 283 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); |
289 | if (err < 0) | 284 | if (err < 0) |
290 | goto out; | 285 | return err; |
291 | 286 | ||
292 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); | 287 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); |
293 | if (err < 0) | 288 | if (err < 0) |
294 | goto out; | 289 | return err; |
295 | 290 | ||
296 | /* set or zero six bit, seven is hflip */ | 291 | /* set or zero six bit, seven is hflip */ |
297 | data[0] = (val) ? (data[0] & 0x80) | 0x40 | S5K83A_FLIP_MASK | 292 | data[0] = (val) ? (data[0] & 0x80) | 0x40 | S5K83A_FLIP_MASK |
298 | : (data[0] & 0x80) | S5K83A_FLIP_MASK; | 293 | : (data[0] & 0x80) | S5K83A_FLIP_MASK; |
299 | err = m5602_write_sensor(sd, S5K83A_FLIP, data, 1); | 294 | err = m5602_write_sensor(sd, S5K83A_FLIP, data, 1); |
300 | if (err < 0) | 295 | if (err < 0) |
301 | goto out; | 296 | return err; |
302 | 297 | ||
303 | data[0] = (val) ? 0x0b : 0x0a; | 298 | data[0] = (val) ? 0x0b : 0x0a; |
304 | err = m5602_write_sensor(sd, S5K83A_VFLIP_TUNE, data, 1); | 299 | err = m5602_write_sensor(sd, S5K83A_VFLIP_TUNE, data, 1); |
305 | 300 | ||
306 | out: | ||
307 | return err; | 301 | return err; |
308 | } | 302 | } |
309 | 303 | ||
@@ -316,12 +310,11 @@ int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) | |||
316 | data[0] = 0x05; | 310 | data[0] = 0x05; |
317 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); | 311 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); |
318 | if (err < 0) | 312 | if (err < 0) |
319 | goto out; | 313 | return err; |
320 | 314 | ||
321 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); | 315 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); |
322 | *val = (data[0] | 0x80) ? 1 : 0; | 316 | *val = (data[0] | 0x80) ? 1 : 0; |
323 | 317 | ||
324 | out: | ||
325 | return err; | 318 | return err; |
326 | } | 319 | } |
327 | 320 | ||
@@ -334,21 +327,21 @@ int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val) | |||
334 | data[0] = 0x05; | 327 | data[0] = 0x05; |
335 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); | 328 | err = m5602_write_sensor(sd, S5K83A_PAGE_MAP, data, 1); |
336 | if (err < 0) | 329 | if (err < 0) |
337 | goto out; | 330 | return err; |
338 | 331 | ||
339 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); | 332 | err = m5602_read_sensor(sd, S5K83A_FLIP, data, 1); |
340 | if (err < 0) | 333 | if (err < 0) |
341 | goto out; | 334 | return err; |
342 | 335 | ||
343 | /* set or zero seven bit, six is vflip */ | 336 | /* set or zero seven bit, six is vflip */ |
344 | data[0] = (val) ? (data[0] & 0x40) | 0x80 | S5K83A_FLIP_MASK | 337 | data[0] = (val) ? (data[0] & 0x40) | 0x80 | S5K83A_FLIP_MASK |
345 | : (data[0] & 0x40) | S5K83A_FLIP_MASK; | 338 | : (data[0] & 0x40) | S5K83A_FLIP_MASK; |
346 | err = m5602_write_sensor(sd, S5K83A_FLIP, data, 1); | 339 | err = m5602_write_sensor(sd, S5K83A_FLIP, data, 1); |
347 | if (err < 0) | 340 | if (err < 0) |
348 | goto out; | 341 | return err; |
349 | 342 | ||
350 | data[0] = (val) ? 0x0a : 0x0b; | 343 | data[0] = (val) ? 0x0a : 0x0b; |
351 | err = m5602_write_sensor(sd, S5K83A_HFLIP_TUNE, data, 1); | 344 | err = m5602_write_sensor(sd, S5K83A_HFLIP_TUNE, data, 1); |
352 | out: | 345 | |
353 | return err; | 346 | return err; |
354 | } | 347 | } |