aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2015-11-19 18:03:55 -0200
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-12-03 12:03:23 -0200
commita5293dbd7033b4d3bab63c21025f76d00a8a2585 (patch)
tree54da5fd322ac7199d140483f2f0287a71183d969 /drivers/media/dvb-frontends
parent[media] si2165: rename si2165_set_parameters to si2165_set_frontend (diff)
downloadlinux-dev-a5293dbd7033b4d3bab63c21025f76d00a8a2585.tar.xz
linux-dev-a5293dbd7033b4d3bab63c21025f76d00a8a2585.zip
[media] si2165: create function si2165_write_reg_list for writing register lists
It is common the need of writing a table of values. Add a function to provide a helper to address such case. This will allow further code cleanups. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/dvb-frontends')
-rw-r--r--drivers/media/dvb-frontends/si2165.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c
index a0e4600bf36f..222d7750f98d 100644
--- a/drivers/media/dvb-frontends/si2165.c
+++ b/drivers/media/dvb-frontends/si2165.c
@@ -243,6 +243,27 @@ err:
return ret;
}
+#define REG16(reg, val) { (reg), (val) & 0xff }, { (reg)+1, (val)>>8 & 0xff }
+struct si2165_reg_value_pair {
+ u16 reg;
+ u8 val;
+};
+
+static int si2165_write_reg_list(struct si2165_state *state,
+ const struct si2165_reg_value_pair *regs,
+ int count)
+{
+ int i;
+ int ret;
+
+ for (i = 0; i < count; i++) {
+ ret = si2165_writereg8(state, regs[i].reg, regs[i].val);
+ if (ret < 0)
+ return ret;
+ }
+ return 0;
+}
+
static int si2165_get_tune_settings(struct dvb_frontend *fe,
struct dvb_frontend_tune_settings *s)
{