diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2015-11-19 18:03:55 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-12-03 12:03:23 -0200 |
commit | a5293dbd7033b4d3bab63c21025f76d00a8a2585 (patch) | |
tree | 54da5fd322ac7199d140483f2f0287a71183d969 /drivers/media/dvb-frontends/si2165.c | |
parent | c1c49674ea5b714770f0f394f2da73facc1a997b (diff) | |
download | op-kernel-dev-a5293dbd7033b4d3bab63c21025f76d00a8a2585.zip op-kernel-dev-a5293dbd7033b4d3bab63c21025f76d00a8a2585.tar.gz |
[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/si2165.c')
-rw-r--r-- | drivers/media/dvb-frontends/si2165.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c index a0e4600..222d775 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) { |