diff options
Diffstat (limited to 'linux/drivers/media/dvb/frontends/lgdt3305.c')
-rw-r--r-- | linux/drivers/media/dvb/frontends/lgdt3305.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/linux/drivers/media/dvb/frontends/lgdt3305.c b/linux/drivers/media/dvb/frontends/lgdt3305.c index aeb34e924..b16410c64 100644 --- a/linux/drivers/media/dvb/frontends/lgdt3305.c +++ b/linux/drivers/media/dvb/frontends/lgdt3305.c @@ -19,6 +19,7 @@ * */ +#include <asm/div64.h> #include "compat.h" #include <linux/dvb/frontend.h> #include "dvb_math.h" @@ -497,27 +498,15 @@ static int lgdt3305_set_if(struct lgdt3305_state *state, nco = if_freq_khz / 10; -#define LGDT3305_64BIT_DIVISION_ENABLED 0 - /* FIXME: 64bit division disabled to avoid linking error: - * WARNING: "__udivdi3" [lgdt3305.ko] undefined! - */ switch (param->u.vsb.modulation) { case VSB_8: -#if LGDT3305_64BIT_DIVISION_ENABLED nco <<= 24; - nco /= 625; -#else - nco *= ((1 << 24) / 625); -#endif + do_div(nco, 625); break; case QAM_64: case QAM_256: -#if LGDT3305_64BIT_DIVISION_ENABLED nco <<= 28; - nco /= 625; -#else - nco *= ((1 << 28) / 625); -#endif + do_div(nco, 625); break; default: return -EINVAL; @@ -936,7 +925,7 @@ static int lgdt3305_read_snr(struct dvb_frontend *fe, u16 *snr) /* convert from 8.24 fixed-point to 8.8 */ *snr = (state->snr) >> 16; #else - /*report SNR in dB * 10 */ + /* report SNR in dB * 10 */ *snr = (state->snr / ((1 << 24) / 10)); #endif lg_dbg("noise = 0x%08x, snr = %d.%02d dB\n", noise, @@ -1075,7 +1064,6 @@ struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config, return &state->frontend; fail: lg_warn("unable to detect LGDT3305 hardware\n"); - state->frontend.demodulator_priv = NULL; kfree(state); return NULL; } @@ -1105,8 +1093,9 @@ static struct dvb_frontend_ops lgdt3305_ops = { }; MODULE_DESCRIPTION("LG Electronics LGDT3305 ATSC/QAM-B Demodulator Driver"); -MODULE_AUTHOR("Michael Krufky"); +MODULE_AUTHOR("Michael Krufky <mkrufky@linuxtv.org>"); MODULE_LICENSE("GPL"); +MODULE_VERSION("0.1"); /* * Local variables: |