summaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c/smiapp
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2020-02-06 19:11:46 -0300
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2020-02-27 17:48:34 -0300
commit354d5aba6683c41962b591c9b6832a49b160bb46 (patch)
treed8eeaf75f325a312bb72a1f73abc3d060ba6c43c /drivers/media/i2c/smiapp
parent1cbe6ddb9faa9f401ff9f986309a03ba4a4dd59f (diff)
downloadlinux-354d5aba6683c41962b591c9b6832a49b160bb46.tar.gz
linux-354d5aba6683c41962b591c9b6832a49b160bb46.tar.bz2
linux-354d5aba6683c41962b591c9b6832a49b160bb46.zip
media: smiapp: Refactor reading SMIA limits
Combine the two trivial functions reading limits into one. Also rename smiapp_get_all_limits() as smiapp_read_all_smia_limits(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/i2c/smiapp')
-rw-r--r--drivers/media/i2c/smiapp/smiapp-core.c32
1 files changed, 10 insertions, 22 deletions
diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index a6800e5c495d..5e4f6a2ef78e 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -69,37 +69,25 @@ static u32 smiapp_get_limit(struct smiapp_sensor *sensor,
#define SMIA_LIM(sensor, limit) \
smiapp_get_limit(sensor, SMIAPP_LIMIT_##limit)
-static int smiapp_get_limits(struct smiapp_sensor *sensor, int const *limit,
- unsigned int n)
+static int smiapp_read_all_smia_limits(struct smiapp_sensor *sensor)
{
struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd);
unsigned int i;
- u32 val;
int rval;
- for (i = 0; i < n; i++) {
+ for (i = 0; i < SMIAPP_LIMIT_LAST; i++) {
+ u32 val;
+
rval = smiapp_read(
- sensor, smiapp_reg_limits[limit[i]].addr, &val);
+ sensor, smiapp_reg_limits[i].addr, &val);
if (rval)
return rval;
- sensor->limits[limit[i]] = val;
- dev_dbg(&client->dev, "0x%8.8x \"%s\" = %u, 0x%x\n",
- smiapp_reg_limits[limit[i]].addr,
- smiapp_reg_limits[limit[i]].what, val, val);
- }
- return 0;
-}
+ sensor->limits[i] = val;
-static int smiapp_get_all_limits(struct smiapp_sensor *sensor)
-{
- unsigned int i;
- int rval;
-
- for (i = 0; i < SMIAPP_LIMIT_LAST; i++) {
- rval = smiapp_get_limits(sensor, &i, 1);
- if (rval < 0)
- return rval;
+ dev_dbg(&client->dev, "0x%8.8x \"%s\" = %u, 0x%x\n",
+ smiapp_reg_limits[i].addr,
+ smiapp_reg_limits[i].what, val, val);
}
if (SMIA_LIM(sensor, SCALER_N_MIN) == 0)
@@ -2938,7 +2926,7 @@ static int smiapp_probe(struct i2c_client *client)
goto out_power_off;
}
- rval = smiapp_get_all_limits(sensor);
+ rval = smiapp_read_all_smia_limits(sensor);
if (rval) {
rval = -ENODEV;
goto out_power_off;