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: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
0b4c9553b1
commit
7ff67863c6
|
@ -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,
|
||||||
|
|
||||||
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,
|
||||||
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)
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue