1
0
Fork 0

[media] smiapp: Unify enforced and need-based 8-bit read

Unify enforced 8-bit read access with that based on actual need.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
hifive-unleashed-5.1
Sakari Ailus 2014-12-13 18:53:37 -02:00 committed by Mauro Carvalho Chehab
parent 3c59bb4750
commit 073fe63513
1 changed files with 11 additions and 11 deletions

View File

@ -188,7 +188,8 @@ int smiapp_read_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 *val)
SMIAPP_QUIRK_FLAG_8BIT_READ_ONLY));
}
int smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val)
static int smiapp_read_quirk(struct smiapp_sensor *sensor, u32 reg, u32 *val,
bool force8)
{
int rval;
@ -199,21 +200,20 @@ int smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val)
if (rval < 0)
return rval;
if (force8)
return __smiapp_read(sensor, reg, val, true);
return smiapp_read_no_quirk(sensor, reg, val);
}
int smiapp_read(struct smiapp_sensor *sensor, u32 reg, u32 *val)
{
return smiapp_read_quirk(sensor, reg, val, false);
}
int smiapp_read_8only(struct smiapp_sensor *sensor, u32 reg, u32 *val)
{
int rval;
*val = 0;
rval = smiapp_call_quirk(sensor, reg_access, false, &reg, val);
if (rval == -ENOIOCTLCMD)
return 0;
if (rval < 0)
return rval;
return __smiapp_read(sensor, reg, val, true);
return smiapp_read_quirk(sensor, reg, val, true);
}
int smiapp_write_no_quirk(struct smiapp_sensor *sensor, u32 reg, u32 val)