forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/media/usb/gspca/m5602/m5602_mt9m111.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Driver for the mt9m111 sensor
34 *
....@@ -9,11 +10,6 @@
910 * Copyright (c) 2006 Willem Duinker
1011 * v4l2 interface modeled after the V4L2 driver
1112 * for SN9C10x PC Camera Controllers
12
- *
13
- * This program is free software; you can redistribute it and/or
14
- * modify it under the terms of the GNU General Public License as
15
- * published by the Free Software Foundation, version 2.
16
- *
1713 */
1814
1915 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
....@@ -199,7 +195,7 @@
199195 int mt9m111_probe(struct sd *sd)
200196 {
201197 u8 data[2] = {0x00, 0x00};
202
- int i;
198
+ int i, err;
203199 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd;
204200
205201 if (force_sensor) {
....@@ -217,15 +213,17 @@
217213 /* Do the preinit */
218214 for (i = 0; i < ARRAY_SIZE(preinit_mt9m111); i++) {
219215 if (preinit_mt9m111[i][0] == BRIDGE) {
220
- m5602_write_bridge(sd,
221
- preinit_mt9m111[i][1],
222
- preinit_mt9m111[i][2]);
216
+ err = m5602_write_bridge(sd,
217
+ preinit_mt9m111[i][1],
218
+ preinit_mt9m111[i][2]);
223219 } else {
224220 data[0] = preinit_mt9m111[i][2];
225221 data[1] = preinit_mt9m111[i][3];
226
- m5602_write_sensor(sd,
227
- preinit_mt9m111[i][1], data, 2);
222
+ err = m5602_write_sensor(sd,
223
+ preinit_mt9m111[i][1], data, 2);
228224 }
225
+ if (err < 0)
226
+ return err;
229227 }
230228
231229 if (m5602_read_sensor(sd, MT9M111_SC_CHIPVER, data, 2))