Commit 7ff67863 authored by Luca Ceresoli's avatar Luca Ceresoli Committed by Mauro Carvalho Chehab

media: imx274: simplify imx274_write_table()

imx274_write_table() is a mere wrapper (and the only user) to
imx274_regmap_util_write_table_8(). Remove this useless indirection by
merging the two functions into one.

Also get rid of the wait_ms_addr and end_addr parameters since it does
not make any sense to give them any values other than
IMX274_TABLE_WAIT_MS and IMX274_TABLE_END.
Signed-off-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 0b4c9553
...@@ -597,20 +597,18 @@ static inline struct stimx274 *to_imx274(struct v4l2_subdev *sd) ...@@ -597,20 +597,18 @@ static inline struct stimx274 *to_imx274(struct v4l2_subdev *sd)
} }
/* /*
* imx274_regmap_util_write_table_8 - Function for writing register table * Writing a register table
* @regmap: Pointer to device reg map structure *
* @table: Table containing register values * @priv: Pointer to device
* @wait_ms_addr: Flag for performing delay * @table: Table containing register values (with optional delays)
* @end_addr: Flag for incating end of table
* *
* This is used to write register table into sensor's reg map. * This is used to write register table into sensor's reg map.
* *
* Return: 0 on success, errors otherwise * Return: 0 on success, errors otherwise
*/ */
static int imx274_regmap_util_write_table_8(struct regmap *regmap, static int imx274_write_table(struct stimx274 *priv, const struct reg_8 table[])
const struct reg_8 table[],
u16 wait_ms_addr, u16 end_addr)
{ {
struct regmap *regmap = priv->regmap;
int err = 0; int err = 0;
const struct reg_8 *next; const struct reg_8 *next;
u8 val; u8 val;
...@@ -622,8 +620,8 @@ static int imx274_regmap_util_write_table_8(struct regmap *regmap, ...@@ -622,8 +620,8 @@ static int imx274_regmap_util_write_table_8(struct regmap *regmap,
for (next = table;; next++) { for (next = table;; next++) {
if ((next->addr != range_start + range_count) || if ((next->addr != range_start + range_count) ||
(next->addr == end_addr) || (next->addr == IMX274_TABLE_END) ||
(next->addr == wait_ms_addr) || (next->addr == IMX274_TABLE_WAIT_MS) ||
(range_count == max_range_vals)) { (range_count == max_range_vals)) {
if (range_count == 1) if (range_count == 1)
err = regmap_write(regmap, err = regmap_write(regmap,
...@@ -642,10 +640,10 @@ static int imx274_regmap_util_write_table_8(struct regmap *regmap, ...@@ -642,10 +640,10 @@ static int imx274_regmap_util_write_table_8(struct regmap *regmap,
range_count = 0; range_count = 0;
/* Handle special address values */ /* Handle special address values */
if (next->addr == end_addr) if (next->addr == IMX274_TABLE_END)
break; break;
if (next->addr == wait_ms_addr) { if (next->addr == IMX274_TABLE_WAIT_MS) {
msleep_range(next->val); msleep_range(next->val);
continue; continue;
} }
...@@ -692,12 +690,6 @@ static inline int imx274_write_reg(struct stimx274 *priv, u16 addr, u8 val) ...@@ -692,12 +690,6 @@ static inline int imx274_write_reg(struct stimx274 *priv, u16 addr, u8 val)
return err; return err;
} }
static int imx274_write_table(struct stimx274 *priv, const struct reg_8 table[])
{
return imx274_regmap_util_write_table_8(priv->regmap,
table, IMX274_TABLE_WAIT_MS, IMX274_TABLE_END);
}
/* /*
* Set mode registers to start stream. * Set mode registers to start stream.
* @priv: Pointer to device structure * @priv: Pointer to device structure
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment