media: ccs: Only do software reset if we have no hardware reset

The driver always used software reset after the sensor's power sequence
that includes a hardware reset if we have a reset GPIO. Do not use
software reset if we just brought the sensor up from hardware reset state.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Sakari Ailus 2020-10-08 10:59:26 +02:00 committed by Mauro Carvalho Chehab
parent 105676ce59
commit e1988e7ad0

View File

@ -1552,10 +1552,12 @@ static int ccs_power_on(struct device *dev)
* is found.
*/
rval = ccs_write(sensor, SOFTWARE_RESET, CCS_SOFTWARE_RESET_ON);
if (rval < 0) {
dev_err(dev, "software reset failed\n");
goto out_cci_addr_fail;
if (!sensor->reset && !sensor->xshutdown) {
rval = ccs_write(sensor, SOFTWARE_RESET, CCS_SOFTWARE_RESET_ON);
if (rval < 0) {
dev_err(dev, "software reset failed\n");
goto out_cci_addr_fail;
}
}
if (sensor->hwcfg.i2c_addr_alt) {