|
@@ -119,16 +119,16 @@ static int mt9m001_init(struct soc_camera_device *icd)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
- /* Disable chip, synchronous option update */
|
|
|
dev_dbg(icd->vdev->parent, "%s\n", __func__);
|
|
|
|
|
|
ret = reg_write(icd, MT9M001_RESET, 1);
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_RESET, 0);
|
|
|
- if (ret >= 0)
|
|
|
+ /* Disable chip, synchronous option update */
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_OUTPUT_CONTROL, 0);
|
|
|
|
|
|
- return ret >= 0 ? 0 : -EIO;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int mt9m001_release(struct soc_camera_device *icd)
|
|
@@ -267,24 +267,24 @@ static int mt9m001_set_fmt_cap(struct soc_camera_device *icd,
|
|
|
|
|
|
/* Blanking and start values - default... */
|
|
|
ret = reg_write(icd, MT9M001_HORIZONTAL_BLANKING, hblank);
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_VERTICAL_BLANKING, vblank);
|
|
|
|
|
|
/* The caller provides a supported format, as verified per
|
|
|
* call to icd->try_fmt_cap() */
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_COLUMN_START, rect->left);
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_ROW_START, rect->top);
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_WINDOW_WIDTH, rect->width - 1);
|
|
|
- if (ret >= 0)
|
|
|
+ if (!ret)
|
|
|
ret = reg_write(icd, MT9M001_WINDOW_HEIGHT,
|
|
|
rect->height + icd->y_skip_top - 1);
|
|
|
- if (ret >= 0 && mt9m001->autoexposure) {
|
|
|
+ if (!ret && mt9m001->autoexposure) {
|
|
|
ret = reg_write(icd, MT9M001_SHUTTER_WIDTH,
|
|
|
rect->height + icd->y_skip_top + vblank);
|
|
|
- if (ret >= 0) {
|
|
|
+ if (!ret) {
|
|
|
const struct v4l2_queryctrl *qctrl =
|
|
|
soc_camera_find_qctrl(icd->ops,
|
|
|
V4L2_CID_EXPOSURE);
|
|
@@ -295,7 +295,7 @@ static int mt9m001_set_fmt_cap(struct soc_camera_device *icd,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return ret < 0 ? ret : 0;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int mt9m001_try_fmt_cap(struct soc_camera_device *icd,
|