diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-30 18:30:21 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-31 16:28:23 +0400 |
commit | 7c61d80a9bcfc3fdec8ffd75756cad6a64678229 (patch) | |
tree | cd62cf4852ba56a7a5f12cc630cae44000393f34 /drivers/media/dvb/frontends/dib7000p.c | |
parent | ac3852c41b36cb408bea1400892dd6c61c3b225a (diff) | |
download | linux-7c61d80a9bcfc3fdec8ffd75756cad6a64678229.tar.xz |
[media] dvb: don't require a parameter for get_frontend
Just like set_frontend, use the dvb cache properties for get_frontend.
This is more consistent, as both functions are now symetric. Also,
at the places get_frontend is called, it makes sense to update the
cache.
Most of this patch were generated by this small perl script:
while (<>) { $file .= $_; }
if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) {
my $get = $1;
$file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g;
}
print $file;
Of course, the changes at dvb_frontend.[ch] were made by hand,
as well as the changes on a few other places, where get_frontend()
is called internally inside the driver.
On some places, get_frontend() were just a void function. Those
occurrences were removed, as the DVB core handles such cases.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/dib7000p.c')
-rw-r--r-- | drivers/media/dvb/frontends/dib7000p.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/media/dvb/frontends/dib7000p.c b/drivers/media/dvb/frontends/dib7000p.c index c92c1a0d7472..361bdb18e3b2 100644 --- a/drivers/media/dvb/frontends/dib7000p.c +++ b/drivers/media/dvb/frontends/dib7000p.c @@ -1384,9 +1384,9 @@ static int dib7000p_identify(struct dib7000p_state *st) return 0; } -static int dib7000p_get_frontend(struct dvb_frontend *fe, - struct dtv_frontend_properties *fep) +static int dib7000p_get_frontend(struct dvb_frontend *fe) { + struct dtv_frontend_properties *fep = &fe->dtv_property_cache; struct dib7000p_state *state = fe->demodulator_priv; u16 tps = dib7000p_read_word(state, 463); @@ -1482,7 +1482,7 @@ static int dib7000p_get_frontend(struct dvb_frontend *fe, static int dib7000p_set_frontend(struct dvb_frontend *fe) { - struct dtv_frontend_properties *fep = &fe->dtv_property_cache, tmp; + struct dtv_frontend_properties *fep = &fe->dtv_property_cache; struct dib7000p_state *state = fe->demodulator_priv; int time, ret; @@ -1509,7 +1509,6 @@ static int dib7000p_set_frontend(struct dvb_frontend *fe) fep->guard_interval == GUARD_INTERVAL_AUTO || fep->modulation == QAM_AUTO || fep->code_rate_HP == FEC_AUTO) { int i = 800, found; - tmp = *fep; dib7000p_autosearch_start(fe); do { msleep(1); @@ -1520,7 +1519,7 @@ static int dib7000p_set_frontend(struct dvb_frontend *fe) if (found == 0 || found == 1) return 0; - dib7000p_get_frontend(fe, &tmp); + dib7000p_get_frontend(fe); } ret = dib7000p_tune(fe); |