summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-11-21 12:07:47 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:04:19 +0200
commit38dd80f75abd11e1feb82415e371e46ed519cd63 (patch)
tree913908299b1f714d4a023d8380f120c707792a0e
parente1b1e5bb51dd27c8043d0336d2396796023f9260 (diff)
drivers: video: av8100: Stop printing chip version at every resume
Move chip version detection from power-up to probe. ST-Ericsson Linux next: - ST-Ericsson ID: 370799 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ic0870b2565ca71318c06cd0a24a33ccca3f863cb Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39186 Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
-rw-r--r--drivers/video/av8100/av8100.c57
1 files changed, 29 insertions, 28 deletions
diff --git a/drivers/video/av8100/av8100.c b/drivers/video/av8100/av8100.c
index 356e0061335..d5d159079c3 100644
--- a/drivers/video/av8100/av8100.c
+++ b/drivers/video/av8100/av8100.c
@@ -2028,28 +2028,6 @@ static int av8100_powerup1(struct av8100_device *adev)
mdelay(AV8100_WAITTIME_1MS);
}
- /* Get chip version */
- retval = av8100_reg_stby_pend_int_r(NULL, NULL, NULL,
- &adev->chip_version);
- if (retval) {
- dev_err(adev->dev, "Failed to read chip version\n");
- goto av8100_powerup1_err;
- }
-
- dev_info(adev->dev, "chip version:%d\n", adev->chip_version);
-
- switch (adev->chip_version) {
- case AV8100_CHIPVER_1:
- case AV8100_CHIPVER_2:
- break;
-
- default:
- dev_err(adev->dev, "Unsupported chip version:%d\n",
- adev->chip_version);
- goto av8100_powerup1_err;
- break;
- }
-
retval = request_irq(pdata->irq, av8100_intr_handler,
IRQF_TRIGGER_RISING, "av8100", adev);
if (retval == 0)
@@ -4062,7 +4040,7 @@ static int __devinit av8100_probe(struct i2c_client *i2c_client,
I2C_FUNC_SMBUS_READ_WORD_DATA)) {
ret = -ENODEV;
dev_info(dev, "av8100 i2c_check_functionality failed\n");
- goto err;
+ goto err1;
}
init_waitqueue_head(&adev->event);
@@ -4083,7 +4061,7 @@ static int __devinit av8100_probe(struct i2c_client *i2c_client,
"%s: Failed to get regulator '%s'\n",
__func__, pdata->regulator_pwr_id);
adev->params.regulator_pwr = NULL;
- return ret;
+ goto err1;
}
}
@@ -4099,15 +4077,38 @@ static int __devinit av8100_probe(struct i2c_client *i2c_client,
av8100_set_state(adev, AV8100_OPMODE_SHUTDOWN);
- /* Obtain the chip version */
+
if (av8100_powerup1(adev)) {
dev_err(adev->dev, "av8100_powerup1 fail\n");
- return -EFAULT;
+ ret = -EFAULT;
+ goto err1;
}
- ret = av8100_powerdown();
+ /* Obtain the chip version */
+ ret = av8100_reg_stby_pend_int_r(NULL, NULL, NULL,
+ &adev->chip_version);
+ if (ret) {
+ dev_err(adev->dev, "Failed to read chip version\n");
+ goto err2;
+ }
+
+ dev_info(adev->dev, "chip version:%d\n", adev->chip_version);
+
+ switch (adev->chip_version) {
+ case AV8100_CHIPVER_1:
+ case AV8100_CHIPVER_2:
+ break;
-err:
+ default:
+ dev_err(adev->dev, "Unsupported chip version:%d\n",
+ adev->chip_version);
+ ret = -EINVAL;
+ goto err2;
+ break;
+ }
+err2:
+ (void) av8100_powerdown();
+err1:
return ret;
}