media: dvb: convert tuner_info frequencies to Hz
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 5 Jul 2018 22:59:35 +0000 (18:59 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 2 Aug 2018 20:14:50 +0000 (16:14 -0400)
Right now, satellite tuner drivers specify frequencies in kHz,
while terrestrial/cable ones specify in Hz. That's confusing
for developers.

However, the main problem is that universal tuners capable
of handling both satellite and non-satelite delivery systems
are appearing. We end by needing to hack the drivers in
order to support such hybrid tuners.

So, convert everything to specify tuner frequencies in Hz.

Plese notice that a similar patch is also needed for frontends.

Tested-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Acked-by: Michael Büsch <m@bues.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
54 files changed:
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-frontends/ascot2e.c
drivers/media/dvb-frontends/cx24113.c
drivers/media/dvb-frontends/dib0070.c
drivers/media/dvb-frontends/dib0090.c
drivers/media/dvb-frontends/dvb-pll.c
drivers/media/dvb-frontends/helene.c
drivers/media/dvb-frontends/horus3a.c
drivers/media/dvb-frontends/itd1000.c
drivers/media/dvb-frontends/ix2505v.c
drivers/media/dvb-frontends/stb6000.c
drivers/media/dvb-frontends/stb6100.c
drivers/media/dvb-frontends/stv6110.c
drivers/media/dvb-frontends/stv6110x.c
drivers/media/dvb-frontends/stv6111.c
drivers/media/dvb-frontends/tda18271c2dd.c
drivers/media/dvb-frontends/tda665x.c
drivers/media/dvb-frontends/tda8261.c
drivers/media/dvb-frontends/tda826x.c
drivers/media/dvb-frontends/ts2020.c
drivers/media/dvb-frontends/tua6100.c
drivers/media/dvb-frontends/zl10036.c
drivers/media/tuners/e4000.c
drivers/media/tuners/fc0011.c
drivers/media/tuners/fc0012.c
drivers/media/tuners/fc0013.c
drivers/media/tuners/fc2580.c
drivers/media/tuners/it913x.c
drivers/media/tuners/m88rs6000t.c
drivers/media/tuners/max2165.c
drivers/media/tuners/mc44s803.c
drivers/media/tuners/mt2060.c
drivers/media/tuners/mt2063.c
drivers/media/tuners/mt2131.c
drivers/media/tuners/mt2266.c
drivers/media/tuners/mxl301rf.c
drivers/media/tuners/mxl5005s.c
drivers/media/tuners/qm1d1b0004.c
drivers/media/tuners/qm1d1c0042.c
drivers/media/tuners/qt1010.c
drivers/media/tuners/qt1010_priv.h
drivers/media/tuners/r820t.c
drivers/media/tuners/si2157.c
drivers/media/tuners/tda18212.c
drivers/media/tuners/tda18218.c
drivers/media/tuners/tda18250.c
drivers/media/tuners/tda18271-fe.c
drivers/media/tuners/tda827x.c
drivers/media/tuners/tua9001.c
drivers/media/tuners/tuner-xc2028.c
drivers/media/tuners/xc4000.c
drivers/media/tuners/xc5000.c
drivers/media/usb/dvb-usb-v2/mxl111sf-tuner.c
include/media/dvb_frontend.h

index ce25aef390088c76efca2b83f5cc51d1ed788e1d..75e95b56f8b38aaa3a7e5df5b98e51e5861a55a5 100644 (file)
@@ -896,14 +896,31 @@ static int dvb_frontend_start(struct dvb_frontend *fe)
 static void dvb_frontend_get_frequency_limits(struct dvb_frontend *fe,
                                              u32 *freq_min, u32 *freq_max)
 {
-       *freq_min = max(fe->ops.info.frequency_min, fe->ops.tuner_ops.info.frequency_min);
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+       __u32 tuner_min = fe->ops.tuner_ops.info.frequency_min_hz;
+       __u32 tuner_max = fe->ops.tuner_ops.info.frequency_max_hz;
+
+       /* If the standard is for satellite, convert frequencies to kHz */
+       switch (c->delivery_system) {
+       case SYS_DVBS:
+       case SYS_DVBS2:
+       case SYS_TURBO:
+       case SYS_ISDBS:
+               tuner_max /= kHz;
+               tuner_min /= kHz;
+               break;
+       default:
+               break;
+       }
+
+       *freq_min = max(fe->ops.info.frequency_min, tuner_min);
 
        if (fe->ops.info.frequency_max == 0)
-               *freq_max = fe->ops.tuner_ops.info.frequency_max;
-       else if (fe->ops.tuner_ops.info.frequency_max == 0)
+               *freq_max = tuner_max;
+       else if (tuner_max == 0)
                *freq_max = fe->ops.info.frequency_max;
        else
-               *freq_max = min(fe->ops.info.frequency_max, fe->ops.tuner_ops.info.frequency_max);
+               *freq_max = min(fe->ops.info.frequency_max, tuner_max);
 
        if (*freq_min == 0 || *freq_max == 0)
                dev_warn(fe->dvb->device,
index 9746c6dd7fb8df12741863fb02e0838cdfdc8fb4..52ce0e6e2a150ce1cc13018aa271342bc21dc83e 100644 (file)
@@ -468,9 +468,9 @@ static int ascot2e_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops ascot2e_tuner_ops = {
        .info = {
                .name = "Sony ASCOT2E",
-               .frequency_min = 1000000,
-               .frequency_max = 1200000000,
-               .frequency_step = 25000,
+               .frequency_min_hz  =    1 * MHz,
+               .frequency_max_hz  = 1200 * MHz,
+               .frequency_step_hz =   25 * kHz,
        },
        .init = ascot2e_init,
        .release = ascot2e_release,
index 037db3e9d2ddbb2877dd06673c11041fddf4f18e..91a5033b6bd75b42bbfd47e4254489f2bae28a9e 100644 (file)
@@ -533,10 +533,10 @@ static void cx24113_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops cx24113_tuner_ops = {
        .info = {
-               .name           = "Conexant CX24113",
-               .frequency_min  = 950000,
-               .frequency_max  = 2150000,
-               .frequency_step = 125,
+               .name              = "Conexant CX24113",
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
+               .frequency_step_hz =  125 * kHz,
        },
 
        .release       = cx24113_release,
index 932d235118e2c575010017a151a8235694c5a3c3..37ebd5af8fd46898e58398ce97447523f48b0228 100644 (file)
@@ -726,10 +726,10 @@ static void dib0070_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops dib0070_ops = {
        .info = {
-               .name           = "DiBcom DiB0070",
-               .frequency_min  =  45000000,
-               .frequency_max  = 860000000,
-               .frequency_step =      1000,
+               .name              = "DiBcom DiB0070",
+               .frequency_min_hz  =  45 * MHz,
+               .frequency_max_hz  = 860 * MHz,
+               .frequency_step_hz =   1 * kHz,
        },
        .release       = dib0070_release,
 
index ee7af34979edcf5d862779f81b33778d9d55b584..44a074261e698571149faa67e07fb5deae63d7f1 100644 (file)
@@ -2578,9 +2578,9 @@ static int dib0090_set_params(struct dvb_frontend *fe)
 static const struct dvb_tuner_ops dib0090_ops = {
        .info = {
                 .name = "DiBcom DiB0090",
-                .frequency_min = 45000000,
-                .frequency_max = 860000000,
-                .frequency_step = 1000,
+                .frequency_min_hz  =  45 * MHz,
+                .frequency_max_hz  = 860 * MHz,
+                .frequency_step_hz =   1 * kHz,
                 },
        .release = dib0090_release,
 
@@ -2593,9 +2593,9 @@ static const struct dvb_tuner_ops dib0090_ops = {
 static const struct dvb_tuner_ops dib0090_fw_ops = {
        .info = {
                 .name = "DiBcom DiB0090",
-                .frequency_min = 45000000,
-                .frequency_max = 860000000,
-                .frequency_step = 1000,
+                .frequency_min_hz  =  45 * MHz,
+                .frequency_max_hz  = 860 * MHz,
+                .frequency_step_hz =   1 * kHz,
                 },
        .release = dib0090_release,
 
index 4a663420190e4e1d7fe24ad22144427218ac3fa3..6d4b2eec67b4fdde3fb78f7c8da0d2bb9531b22b 100644 (file)
@@ -799,6 +799,7 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr,
        struct dvb_pll_priv *priv = NULL;
        int ret;
        const struct dvb_pll_desc *desc;
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
 
        b1 = kmalloc(1, GFP_KERNEL);
        if (!b1)
@@ -844,8 +845,19 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr,
 
        strncpy(fe->ops.tuner_ops.info.name, desc->name,
                sizeof(fe->ops.tuner_ops.info.name));
-       fe->ops.tuner_ops.info.frequency_min = desc->min;
-       fe->ops.tuner_ops.info.frequency_max = desc->max;
+       switch (c->delivery_system) {
+       case SYS_DVBS:
+       case SYS_DVBS2:
+       case SYS_TURBO:
+       case SYS_ISDBS:
+               fe->ops.tuner_ops.info.frequency_min_hz = desc->min * kHz;
+               fe->ops.tuner_ops.info.frequency_max_hz = desc->max * kHz;
+               break;
+       default:
+               fe->ops.tuner_ops.info.frequency_min_hz = desc->min;
+               fe->ops.tuner_ops.info.frequency_max_hz = desc->max;
+       }
+
        if (!desc->initdata)
                fe->ops.tuner_ops.init = NULL;
        if (!desc->sleepdata)
index a5de65dcf784781e1521fb2168f7633dda12bc8e..dc70fb684681f96dc95c407ecfc845d6cdf4735f 100644 (file)
@@ -846,9 +846,9 @@ static int helene_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops helene_tuner_ops = {
        .info = {
                .name = "Sony HELENE Ter tuner",
-               .frequency_min = 1000000,
-               .frequency_max = 1200000000,
-               .frequency_step = 25000,
+               .frequency_min_hz  =    1 * MHz,
+               .frequency_max_hz  = 1200 * MHz,
+               .frequency_step_hz =   25 * kHz,
        },
        .init = helene_init,
        .release = helene_release,
@@ -860,9 +860,9 @@ static const struct dvb_tuner_ops helene_tuner_ops = {
 static const struct dvb_tuner_ops helene_tuner_ops_s = {
        .info = {
                .name = "Sony HELENE Sat tuner",
-               .frequency_min = 500000,
-               .frequency_max = 2500000,
-               .frequency_step = 1000,
+               .frequency_min_hz  =  500 * MHz,
+               .frequency_max_hz  = 2500 * MHz,
+               .frequency_step_hz =    1 * MHz,
        },
        .init = helene_init,
        .release = helene_release,
index 5e7e265a52e616c94fcb1ca2ff5f6029ea019541..02bc0808197177438b009383efb8a5d6ce676e34 100644 (file)
@@ -330,9 +330,9 @@ static int horus3a_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops horus3a_tuner_ops = {
        .info = {
                .name = "Sony Horus3a",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_step = 1000,
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
+               .frequency_step_hz =    1 * MHz,
        },
        .init = horus3a_init,
        .release = horus3a_release,
index 04f7f6854f73c6e702bd58262f8adced703b46ce..c3a6e81ae87f86682abf169d305474e5d800d9bc 100644 (file)
@@ -353,10 +353,10 @@ static void itd1000_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops itd1000_tuner_ops = {
        .info = {
-               .name           = "Integrant ITD1000",
-               .frequency_min  = 950000,
-               .frequency_max  = 2150000,
-               .frequency_step = 125,     /* kHz for QPSK frontends */
+               .name              = "Integrant ITD1000",
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
+               .frequency_step_hz =  125 * kHz,
        },
 
        .release       = itd1000_release,
index 965012ad5c596b4335abfaefcfde9f28aa2826a0..9c055f72c416fdeeccabe1f4f26aa8ddb4f56bf1 100644 (file)
@@ -256,8 +256,8 @@ static int ix2505v_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops ix2505v_tuner_ops = {
        .info = {
                .name = "Sharp IX2505V (B0017)",
-               .frequency_min = 950000,
-               .frequency_max = 2175000
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2175 * MHz
        },
        .release = ix2505v_release,
        .set_params = ix2505v_set_params,
index 69c03892f2da69ccf37a5180bf35b251d8456763..786b9eccde0097dea36016f9da607a69912600ef 100644 (file)
@@ -188,8 +188,8 @@ static int stb6000_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops stb6000_tuner_ops = {
        .info = {
                .name = "ST STB6000",
-               .frequency_min = 950000,
-               .frequency_max = 2150000
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz
        },
        .release = stb6000_release,
        .sleep = stb6000_sleep,
index 3a851f524b16ba35b70c109922614846349d8d7f..30ac584dfab33bf13d2b138e33bab58aac5f68bd 100644 (file)
@@ -527,9 +527,8 @@ static int stb6100_set_params(struct dvb_frontend *fe)
 static const struct dvb_tuner_ops stb6100_ops = {
        .info = {
                .name                   = "STB6100 Silicon Tuner",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_step         = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
        },
 
        .init           = stb6100_init,
index 6aad0efa3174d21bbad18c7779651f3b8aca3149..7db9a5bceccc5e1f0e405e436c9533f856a1d50c 100644 (file)
@@ -371,9 +371,9 @@ static int stv6110_get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth)
 static const struct dvb_tuner_ops stv6110_tuner_ops = {
        .info = {
                .name = "ST STV6110",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_step = 1000,
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
+               .frequency_step_hz =    1 * MHz,
        },
        .init = stv6110_init,
        .release = stv6110_release,
index d8950028d0211b94b47958657e96d3a7959fd531..82c002d3833a919b066eab75dc8269ba12bba4f1 100644 (file)
@@ -347,10 +347,9 @@ static void stv6110x_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops stv6110x_ops = {
        .info = {
-               .name           = "STV6110(A) Silicon Tuner",
-               .frequency_min  =  950000,
-               .frequency_max  = 2150000,
-               .frequency_step = 0,
+               .name             = "STV6110(A) Silicon Tuner",
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
        },
        .release                = stv6110x_release
 };
index 9b715b6fe1520019beda3408a8e0efd9ca88e01a..0cf460111acbebe5b4f3b2999101dd62d573166d 100644 (file)
@@ -646,9 +646,8 @@ static int get_rf_strength(struct dvb_frontend *fe, u16 *st)
 static const struct dvb_tuner_ops tuner_ops = {
        .info = {
                .name           = "ST STV6111",
-               .frequency_min  = 950000,
-               .frequency_max  = 2150000,
-               .frequency_step = 0
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
        },
        .set_params             = set_params,
        .release                = release,
index fcffc7b4acf7fb05749e21ec671c2c7a9126d262..5ce58612315da67f298f9f80979fb80a6faae588 100644 (file)
@@ -1215,9 +1215,9 @@ static int get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth)
 static const struct dvb_tuner_ops tuner_ops = {
        .info = {
                .name = "NXP TDA18271C2D",
-               .frequency_min  =  47125000,
-               .frequency_max  = 865000000,
-               .frequency_step =     62500
+               .frequency_min_hz  =  47125 * kHz,
+               .frequency_max_hz  =    865 * MHz,
+               .frequency_step_hz =  62500
        },
        .init              = init,
        .sleep             = sleep,
index 3ef7140ed7f3d9a35e845b3f127465a915a1e1ea..8766c9ff6680a22c152c328ab7d6d976cde233c1 100644 (file)
@@ -231,9 +231,9 @@ struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe,
        info                     = &fe->ops.tuner_ops.info;
 
        memcpy(info->name, config->name, sizeof(config->name));
-       info->frequency_min     = config->frequency_min;
-       info->frequency_max     = config->frequency_max;
-       info->frequency_step    = config->frequency_offst;
+       info->frequency_min_hz  = config->frequency_min;
+       info->frequency_max_hz  = config->frequency_max;
+       info->frequency_step_hz = config->frequency_offst;
 
        printk(KERN_DEBUG "%s: Attaching TDA665x (%s) tuner\n", __func__, info->name);
 
index f72a54e7eb23c4d89f04c3c81c498c591deb6076..500f50b81b668e00a07cd65c2794c8d86293e18a 100644 (file)
@@ -163,10 +163,9 @@ static void tda8261_release(struct dvb_frontend *fe)
 static const struct dvb_tuner_ops tda8261_ops = {
 
        .info = {
-               .name           = "TDA8261",
-               .frequency_min  =  950000,
-               .frequency_max  = 2150000,
-               .frequency_step = 0
+               .name              = "TDA8261",
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
        },
 
        .set_params     = tda8261_set_params,
@@ -190,7 +189,7 @@ struct dvb_frontend *tda8261_attach(struct dvb_frontend *fe,
        fe->tuner_priv          = state;
        fe->ops.tuner_ops       = tda8261_ops;
 
-       fe->ops.tuner_ops.info.frequency_step = div_tab[config->step_size];
+       fe->ops.tuner_ops.info.frequency_step_hz = div_tab[config->step_size] * kHz;
 
        pr_info("%s: Attaching TDA8261 8PSK/QPSK tuner\n", __func__);
 
index da427b4c2aaaa334a56b9fb73cb13ef8311a1fb7..100da5d5fdc5c1c62386e9b57eda4aed11025795 100644 (file)
@@ -131,8 +131,8 @@ static int tda826x_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops tda826x_tuner_ops = {
        .info = {
                .name = "Philips TDA826X",
-               .frequency_min = 950000,
-               .frequency_max = 2175000
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2175 * MHz
        },
        .release = tda826x_release,
        .sleep = tda826x_sleep,
index c55882a8da06c941ec7432c18b2f706334441a5d..3e3e408786332f7554cfddaed447d5a61268210b 100644 (file)
@@ -498,8 +498,8 @@ static int ts2020_read_signal_strength(struct dvb_frontend *fe,
 static const struct dvb_tuner_ops ts2020_tuner_ops = {
        .info = {
                .name = "TS2020",
-               .frequency_min = 950000,
-               .frequency_max = 2150000
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz
        },
        .init = ts2020_init,
        .release = ts2020_release,
index 1d41abd47f043432c01c6e937347f67699fc39cc..b233b7be0b84aaee1eb621660c02a22614e988fa 100644 (file)
@@ -155,9 +155,9 @@ static int tua6100_get_frequency(struct dvb_frontend *fe, u32 *frequency)
 static const struct dvb_tuner_ops tua6100_tuner_ops = {
        .info = {
                .name = "Infineon TUA6100",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_step = 1000,
+               .frequency_min_hz  =  950 * MHz,
+               .frequency_max_hz  = 2150 * MHz,
+               .frequency_step_hz =    1 * MHz,
        },
        .release = tua6100_release,
        .sleep = tua6100_sleep,
index 89dd65ae88ad479f4c50474437e7dd4a6314221a..e5a432fd84c322314df9655465d99c70edb357c4 100644 (file)
@@ -443,8 +443,8 @@ static int zl10036_init(struct dvb_frontend *fe)
 static const struct dvb_tuner_ops zl10036_tuner_ops = {
        .info = {
                .name = "Zarlink ZL10036",
-               .frequency_min = 950000,
-               .frequency_max = 2175000
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2175 * MHz
        },
        .init = zl10036_init,
        .release = zl10036_release,
index b5b9d87ba75c6d6d7284cb889d48b69fcb8ee969..fbec1a13dc6a542ab4d495a8ad469bf2d585540c 100644 (file)
@@ -610,9 +610,9 @@ static int e4000_dvb_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops e4000_dvb_tuner_ops = {
        .info = {
-               .name           = "Elonics E4000",
-               .frequency_min  = 174000000,
-               .frequency_max  = 862000000,
+               .name              = "Elonics E4000",
+               .frequency_min_hz  = 174 * MHz,
+               .frequency_max_hz  = 862 * MHz,
        },
 
        .init = e4000_dvb_init,
index 145407dee3dbb8b2f0f73804d7a251d300e3abb7..a983899c6b0bee325164a5fbbec6cc259d06f1ea 100644 (file)
@@ -472,10 +472,10 @@ static int fc0011_get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth)
 
 static const struct dvb_tuner_ops fc0011_tuner_ops = {
        .info = {
-               .name           = "Fitipower FC0011",
+               .name             = "Fitipower FC0011",
 
-               .frequency_min  = 45000000,
-               .frequency_max  = 1000000000,
+               .frequency_min_hz =   45 * MHz,
+               .frequency_max_hz = 1000 * MHz,
        },
 
        .release                = fc0011_release,
index 625ac6f51c39c04c1b4a51a8e46d71e5340164b4..e992b98ae5bcc010ccc560ebc64fd18dbbd2ad0c 100644 (file)
@@ -415,11 +415,10 @@ exit:
 
 static const struct dvb_tuner_ops fc0012_tuner_ops = {
        .info = {
-               .name           = "Fitipower FC0012",
+               .name              = "Fitipower FC0012",
 
-               .frequency_min  = 37000000,     /* estimate */
-               .frequency_max  = 862000000,    /* estimate */
-               .frequency_step = 0,
+               .frequency_min_hz  =  37 * MHz, /* estimate */
+               .frequency_max_hz  = 862 * MHz, /* estimate */
        },
 
        .release        = fc0012_release,
index e606118d1a9be1e9bb778622febb146d5674a32a..fc62afb1450d0c8556b41b49d282cbd35c0f4c1e 100644 (file)
@@ -574,11 +574,10 @@ exit:
 
 static const struct dvb_tuner_ops fc0013_tuner_ops = {
        .info = {
-               .name           = "Fitipower FC0013",
+               .name             = "Fitipower FC0013",
 
-               .frequency_min  = 37000000,     /* estimate */
-               .frequency_max  = 1680000000,   /* CHECK */
-               .frequency_step = 0,
+               .frequency_min_hz =   37 * MHz, /* estimate */
+               .frequency_max_hz = 1680 * MHz, /* CHECK */
        },
 
        .release        = fc0013_release,
index 743184ae0d2617227998cebd70dee77c0d1cec80..db26892aac844be91a33c54c5a9c2f74e8d4be1e 100644 (file)
@@ -355,9 +355,9 @@ static int fc2580_dvb_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops fc2580_dvb_tuner_ops = {
        .info = {
-               .name           = "FCI FC2580",
-               .frequency_min  = 174000000,
-               .frequency_max  = 862000000,
+               .name             = "FCI FC2580",
+               .frequency_min_hz = 174 * MHz,
+               .frequency_max_hz = 862 * MHz,
        },
 
        .init = fc2580_dvb_init,
index 27e5bc1c3cb5d8b84f5f7cdab041c3cb2b1f5fff..b5eb39921e955bbe86ac1b6a3184ee2c3293a6e1 100644 (file)
@@ -375,9 +375,9 @@ err:
 
 static const struct dvb_tuner_ops it913x_tuner_ops = {
        .info = {
-               .name           = "ITE IT913X",
-               .frequency_min  = 174000000,
-               .frequency_max  = 862000000,
+               .name             = "ITE IT913X",
+               .frequency_min_hz = 174 * MHz,
+               .frequency_max_hz = 862 * MHz,
        },
 
        .init = it913x_init,
index 9f3e0fd4cad9f6c63faf32ed914bba50af29ab6a..3df2f23a40beb6161a692c48de4a9d35770ad874 100644 (file)
@@ -569,9 +569,9 @@ err:
 
 static const struct dvb_tuner_ops m88rs6000t_tuner_ops = {
        .info = {
-               .name          = "Montage M88RS6000 Internal Tuner",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
+               .name             = "Montage M88RS6000 Internal Tuner",
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
        },
 
        .init = m88rs6000t_init,
index 20ceb72e530bb56ff00e84f7e0ecf31f169bedd8..721d8f722efb44b9b0813f4d91c48f57ebe8f911 100644 (file)
@@ -377,10 +377,10 @@ static void max2165_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops max2165_tuner_ops = {
        .info = {
-               .name           = "Maxim MAX2165",
-               .frequency_min  = 470000000,
-               .frequency_max  = 862000000,
-               .frequency_step =     50000,
+               .name              = "Maxim MAX2165",
+               .frequency_min_hz  = 470 * MHz,
+               .frequency_max_hz  = 862 * MHz,
+               .frequency_step_hz =  50 * kHz,
        },
 
        .release           = max2165_release,
index 403c6b2aa53b60940ceee19142f25bf0beeee1c3..2023e081d9adc78d7c7dabe7ee4845fd9f9b80de 100644 (file)
@@ -300,10 +300,10 @@ static int mc44s803_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops mc44s803_tuner_ops = {
        .info = {
-               .name           = "Freescale MC44S803",
-               .frequency_min  =   48000000,
-               .frequency_max  = 1000000000,
-               .frequency_step =     100000,
+               .name              = "Freescale MC44S803",
+               .frequency_min_hz  =   48 * MHz,
+               .frequency_max_hz  = 1000 * MHz,
+               .frequency_step_hz =  100 * kHz,
        },
 
        .release       = mc44s803_release,
index 3d3c6815b6a7f565ea1baba3343923750ddcbd88..4ace77cfe2857bfce97dc6054155a63b0d4f1f6e 100644 (file)
@@ -395,10 +395,10 @@ static void mt2060_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops mt2060_tuner_ops = {
        .info = {
-               .name           = "Microtune MT2060",
-               .frequency_min  =  48000000,
-               .frequency_max  = 860000000,
-               .frequency_step =     50000,
+               .name              = "Microtune MT2060",
+               .frequency_min_hz  =  48 * MHz,
+               .frequency_max_hz  = 860 * MHz,
+               .frequency_step_hz =  50 * kHz,
        },
 
        .release       = mt2060_release,
index 80dc3e241b4a5c3141ab1a605b14c086863b650f..f4c8a7293ebbb06bb81356e8b068655d716ecb90 100644 (file)
@@ -2200,10 +2200,9 @@ static int mt2063_get_bandwidth(struct dvb_frontend *fe, u32 *bw)
 static const struct dvb_tuner_ops mt2063_ops = {
        .info = {
                 .name = "MT2063 Silicon Tuner",
-                .frequency_min = 45000000,
-                .frequency_max = 865000000,
-                .frequency_step = 0,
-                },
+                .frequency_min_hz  =  45 * MHz,
+                .frequency_max_hz  = 865 * MHz,
+        },
 
        .init = mt2063_init,
        .sleep = MT2063_Sleep,
index 659bf19dc4340cfbb3b55221ecc458fee6b065e8..086a7b7cf6348fe45a44a18b41a0894df62f045d 100644 (file)
@@ -235,10 +235,10 @@ static void mt2131_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops mt2131_tuner_ops = {
        .info = {
-               .name           = "Microtune MT2131",
-               .frequency_min  =  48000000,
-               .frequency_max  = 860000000,
-               .frequency_step =     50000,
+               .name              = "Microtune MT2131",
+               .frequency_min_hz  =  48 * MHz,
+               .frequency_max_hz  = 860 * MHz,
+               .frequency_step_hz =  50 * kHz,
        },
 
        .release       = mt2131_release,
index f4545b7f5da24c009eeddecadd5c0eaa91133777..e6cc78720de4d7d7f849588d51a9d0f898fc7a91 100644 (file)
@@ -304,10 +304,10 @@ static void mt2266_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops mt2266_tuner_ops = {
        .info = {
-               .name           = "Microtune MT2266",
-               .frequency_min  = 174000000,
-               .frequency_max  = 862000000,
-               .frequency_step =     50000,
+               .name              = "Microtune MT2266",
+               .frequency_min_hz  = 174 * MHz,
+               .frequency_max_hz  = 862 * MHz,
+               .frequency_step_hz =  50 * kHz,
        },
        .release       = mt2266_release,
        .init          = mt2266_init,
index 57b0e4862aaf64655164eab8088c3319f0815dfa..c628435a1b067ee035b294d7f110cd58b77a8c9f 100644 (file)
@@ -271,8 +271,8 @@ static const struct dvb_tuner_ops mxl301rf_ops = {
        .info = {
                .name = "MaxLinear MxL301RF",
 
-               .frequency_min =  93000000,
-               .frequency_max = 803142857,
+               .frequency_min_hz =  93 * MHz,
+               .frequency_max_hz = 803 * MHz + 142857,
        },
 
        .init = mxl301rf_init,
index 355ef2959b7d4a303ca8481a9469ea5c0a0c45ab..ec584316c812d30a982c8aef5da0081a6e6a14f0 100644 (file)
@@ -4075,10 +4075,10 @@ static void mxl5005s_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops mxl5005s_tuner_ops = {
        .info = {
-               .name           = "MaxLinear MXL5005S",
-               .frequency_min  =  48000000,
-               .frequency_max  = 860000000,
-               .frequency_step =     50000,
+               .name              = "MaxLinear MXL5005S",
+               .frequency_min_hz  =  48 * MHz,
+               .frequency_max_hz  = 860 * MHz,
+               .frequency_step_hz =  50 * kHz,
        },
 
        .release       = mxl5005s_release,
index b4495cc1626b15538b0a5d96803f67a8ec3667e2..008ad870c00f4bcf8331e03f12aaf3c1c7d7938c 100644 (file)
@@ -186,8 +186,8 @@ static const struct dvb_tuner_ops qm1d1b0004_ops = {
        .info = {
                .name = "Sharp qm1d1b0004",
 
-               .frequency_min =  950000,
-               .frequency_max = 2150000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
        },
 
        .init = qm1d1b0004_init,
index 642a065b9a0756dbcbc085ef0933bab617c04bca..83ca5dc047ea2ad3aefc8be19a4ce3a840684ff9 100644 (file)
@@ -388,8 +388,8 @@ static const struct dvb_tuner_ops qm1d1c0042_ops = {
        .info = {
                .name = "Sharp QM1D1C0042",
 
-               .frequency_min =  950000,
-               .frequency_max = 2150000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
        },
 
        .init = qm1d1c0042_init,
index b92be882ab3c15ec5ca18c2f17653260ea7e73b7..4565c06b161763711c12dffa5492224d7f7da58b 100644 (file)
@@ -394,10 +394,10 @@ static int qt1010_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops qt1010_tuner_ops = {
        .info = {
-               .name           = "Quantek QT1010",
-               .frequency_min  = QT1010_MIN_FREQ,
-               .frequency_max  = QT1010_MAX_FREQ,
-               .frequency_step = QT1010_STEP,
+               .name              = "Quantek QT1010",
+               .frequency_min_hz  = QT1010_MIN_FREQ,
+               .frequency_max_hz  = QT1010_MAX_FREQ,
+               .frequency_step_hz = QT1010_STEP,
        },
 
        .release       = qt1010_release,
index 4cb78ecc89857c064632d75eab98822933639f3a..f25324c6306740d01753e4d782d3e385ca26439b 100644 (file)
@@ -71,12 +71,14 @@ reg def meaning
 2f  00  ? not used?
 */
 
-#define QT1010_STEP         125000 /*  125 kHz used by Windows drivers,
-                                     hw could be more precise but we don't
-                                     know how to use */
-#define QT1010_MIN_FREQ   48000000 /*   48 MHz */
-#define QT1010_MAX_FREQ  860000000 /*  860 MHz */
-#define QT1010_OFFSET   1246000000 /* 1246 MHz */
+#define QT1010_STEP         (125 * kHz) /*
+                                        * used by Windows drivers,
+                                        * hw could be more precise but we don't
+                                        * know how to use
+                                        */
+#define QT1010_MIN_FREQ   (48 * MHz)
+#define QT1010_MAX_FREQ  (860 * MHz)
+#define QT1010_OFFSET   (1246 * MHz)
 
 #define QT1010_WR 0
 #define QT1010_RD 1
index 3e14b9e2e763df20882c363ded7dfdfe19253b15..ba4be08a855108ef22c9b9093ba9926b0bf1105c 100644 (file)
@@ -2297,9 +2297,9 @@ static void r820t_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops r820t_tuner_ops = {
        .info = {
-               .name           = "Rafael Micro R820T",
-               .frequency_min  =   42000000,
-               .frequency_max  = 1002000000,
+               .name             = "Rafael Micro R820T",
+               .frequency_min_hz =   42 * MHz,
+               .frequency_max_hz = 1002 * MHz,
        },
        .init = r820t_init,
        .release = r820t_release,
index 9e34d31d724d78b30950609e32e4b66231d6fd7d..a08d8fe2bb1b035e40e8004602d4b4dbe42db037 100644 (file)
@@ -387,9 +387,9 @@ static int si2157_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops si2157_ops = {
        .info = {
-               .name           = "Silicon Labs Si2141/Si2146/2147/2148/2157/2158",
-               .frequency_min  = 42000000,
-               .frequency_max  = 870000000,
+               .name             = "Silicon Labs Si2141/Si2146/2147/2148/2157/2158",
+               .frequency_min_hz =  42 * MHz,
+               .frequency_max_hz = 870 * MHz,
        },
 
        .init = si2157_init,
index 7b8068354fea7dffef6583ac26945d2564bed3fe..8326106ec2e3fc326b59c64bcf82c13f90e7f6b7 100644 (file)
@@ -175,11 +175,11 @@ static int tda18212_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops tda18212_tuner_ops = {
        .info = {
-               .name           = "NXP TDA18212",
+               .name              = "NXP TDA18212",
 
-               .frequency_min  =  48000000,
-               .frequency_max  = 864000000,
-               .frequency_step =      1000,
+               .frequency_min_hz  =  48 * MHz,
+               .frequency_max_hz  = 864 * MHz,
+               .frequency_step_hz =   1 * kHz,
        },
 
        .set_params    = tda18212_set_params,
index c56fcf5d48e335834ea3fe957dfea34c8c6edde1..cbbd4d5e15da7c060eb5084977c60913310b8100 100644 (file)
@@ -269,11 +269,11 @@ static void tda18218_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops tda18218_tuner_ops = {
        .info = {
-               .name           = "NXP TDA18218",
+               .name              = "NXP TDA18218",
 
-               .frequency_min  = 174000000,
-               .frequency_max  = 864000000,
-               .frequency_step =      1000,
+               .frequency_min_hz  = 174 * MHz,
+               .frequency_max_hz  = 864 * MHz,
+               .frequency_step_hz =   1 * kHz,
        },
 
        .release       = tda18218_release,
index 20d12b0633807c68b8e6c7b1f678136626c8dbbb..20d10ef45ab6bb212c9d5d5c3cb8566611157468 100644 (file)
@@ -740,9 +740,9 @@ static int tda18250_sleep(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops tda18250_ops = {
        .info = {
-               .name           = "NXP TDA18250",
-               .frequency_min  = 42000000,
-               .frequency_max  = 870000000,
+               .name              = "NXP TDA18250",
+               .frequency_min_hz  =  42 * MHz,
+               .frequency_max_hz  = 870 * MHz,
        },
 
        .init = tda18250_init,
index 1471555536481fffd878cc5d3a477cfe48b4de87..4d69029229e49add49c4ead5b1624d2cf1d65cae 100644 (file)
@@ -1240,9 +1240,9 @@ static int tda18271_set_config(struct dvb_frontend *fe, void *priv_cfg)
 static const struct dvb_tuner_ops tda18271_tuner_ops = {
        .info = {
                .name = "NXP TDA18271HD",
-               .frequency_min  =  45000000,
-               .frequency_max  = 864000000,
-               .frequency_step =     62500
+               .frequency_min_hz  =  45 * MHz,
+               .frequency_max_hz  = 864 * MHz,
+               .frequency_step_hz = 62500
        },
        .init              = tda18271_init,
        .sleep             = tda18271_sleep,
index 8400808f8f7fe1c77822941f0890757131ba219b..4391dabba5103c9792156d5d02bef1c3754ed26b 100644 (file)
@@ -816,9 +816,9 @@ static int tda827x_initial_sleep(struct dvb_frontend *fe)
 static const struct dvb_tuner_ops tda827xo_tuner_ops = {
        .info = {
                .name = "Philips TDA827X",
-               .frequency_min  =  55000000,
-               .frequency_max  = 860000000,
-               .frequency_step =    250000
+               .frequency_min_hz  =  55 * MHz,
+               .frequency_max_hz  = 860 * MHz,
+               .frequency_step_hz = 250 * kHz
        },
        .release = tda827x_release,
        .init = tda827x_initial_init,
@@ -832,9 +832,9 @@ static const struct dvb_tuner_ops tda827xo_tuner_ops = {
 static const struct dvb_tuner_ops tda827xa_tuner_ops = {
        .info = {
                .name = "Philips TDA827XA",
-               .frequency_min  =  44000000,
-               .frequency_max  = 906000000,
-               .frequency_step =     62500
+               .frequency_min_hz  =  44 * MHz,
+               .frequency_max_hz  = 906 * MHz,
+               .frequency_step_hz = 62500
        },
        .release = tda827x_release,
        .init = tda827x_init,
index 9d70378fe2d31ebc373f75a30851cb74ab02ef4c..5c89a130b47d058864391f90466c3113db1f0d64 100644 (file)
@@ -164,9 +164,9 @@ static int tua9001_get_if_frequency(struct dvb_frontend *fe, u32 *frequency)
 
 static const struct dvb_tuner_ops tua9001_tuner_ops = {
        .info = {
-               .name           = "Infineon TUA9001",
-               .frequency_min  = 170000000,
-               .frequency_max  = 862000000,
+               .name             = "Infineon TUA9001",
+               .frequency_min_hz = 170 * MHz,
+               .frequency_max_hz = 862 * MHz,
        },
 
        .init = tua9001_init,
index 84744e1389829971e9597e8b9b39c55ea2523c9e..222b93ef31c0f7f503d2c525a3ffea57f455cc3c 100644 (file)
@@ -1440,9 +1440,9 @@ unlock:
 static const struct dvb_tuner_ops xc2028_dvb_tuner_ops = {
        .info = {
                 .name = "Xceive XC3028",
-                .frequency_min = 42000000,
-                .frequency_max = 864000000,
-                .frequency_step = 50000,
+                .frequency_min_hz  =  42 * MHz,
+                .frequency_max_hz  = 864 * MHz,
+                .frequency_step_hz =  50 * kHz,
                 },
 
        .set_config        = xc2028_set_config,
index f0fa8da08afa781939502f0d4575ca31b081776e..76b3f37f24a84cc759eb41c05f3b29ace90b78ef 100644 (file)
@@ -398,8 +398,8 @@ static int xc_set_rf_frequency(struct xc4000_priv *priv, u32 freq_hz)
 
        dprintk(1, "%s(%u)\n", __func__, freq_hz);
 
-       if ((freq_hz > xc4000_tuner_ops.info.frequency_max) ||
-           (freq_hz < xc4000_tuner_ops.info.frequency_min))
+       if ((freq_hz > xc4000_tuner_ops.info.frequency_max_hz) ||
+           (freq_hz < xc4000_tuner_ops.info.frequency_min_hz))
                return -EINVAL;
 
        freq_code = (u16)(freq_hz / 15625);
@@ -1635,10 +1635,10 @@ static void xc4000_release(struct dvb_frontend *fe)
 
 static const struct dvb_tuner_ops xc4000_tuner_ops = {
        .info = {
-               .name           = "Xceive XC4000",
-               .frequency_min  =    1000000,
-               .frequency_max  = 1023000000,
-               .frequency_step =      50000,
+               .name              = "Xceive XC4000",
+               .frequency_min_hz  =    1 * MHz,
+               .frequency_max_hz  = 1023 * MHz,
+               .frequency_step_hz =   50 * kHz,
        },
 
        .release           = xc4000_release,
index f7a8d05d1758cc7063fb1fd87cd102fcacb96a98..f6b65278e5029d25b0bc0a678170b43f21f150c6 100644 (file)
@@ -460,8 +460,8 @@ static int xc_set_rf_frequency(struct xc5000_priv *priv, u32 freq_hz)
 
        dprintk(1, "%s(%u)\n", __func__, freq_hz);
 
-       if ((freq_hz > xc5000_tuner_ops.info.frequency_max) ||
-               (freq_hz < xc5000_tuner_ops.info.frequency_min))
+       if ((freq_hz > xc5000_tuner_ops.info.frequency_max_hz) ||
+               (freq_hz < xc5000_tuner_ops.info.frequency_min_hz))
                return -EINVAL;
 
        freq_code = (u16)(freq_hz / 15625);
@@ -1350,10 +1350,10 @@ static int xc5000_set_config(struct dvb_frontend *fe, void *priv_cfg)
 
 static const struct dvb_tuner_ops xc5000_tuner_ops = {
        .info = {
-               .name           = "Xceive XC5000",
-               .frequency_min  =    1000000,
-               .frequency_max  = 1023000000,
-               .frequency_step =      50000,
+               .name              = "Xceive XC5000",
+               .frequency_min_hz  =    1 * MHz,
+               .frequency_max_hz  = 1023 * MHz,
+               .frequency_step_hz =   50 * kHz,
        },
 
        .release           = xc5000_release,
index 240d736bf1bb39e2e1f8430aab35c2aa2bd04a8a..92b3b9221a218cbddbbbca3b34f6b44f542d3292 100644 (file)
@@ -465,9 +465,9 @@ static const struct dvb_tuner_ops mxl111sf_tuner_tuner_ops = {
        .info = {
                .name = "MaxLinear MxL111SF",
 #if 0
-               .frequency_min  = ,
-               .frequency_max  = ,
-               .frequency_step = ,
+               .frequency_min_hz  = ,
+               .frequency_max_hz  = ,
+               .frequency_step_hz = ,
 #endif
        },
 #if 0
index 331c8269c00efe48d27d786bc4d6056f4a8955bc..aebaec2dc725cc0820940e7510ab76aee6f92b21 100644 (file)
  */
 #define MAX_DELSYS     8
 
+/* Helper definitions to be used at frontend drivers */
+#define kHz 1000UL
+#define MHz 1000000UL
+
 /**
  * struct dvb_frontend_tune_settings - parameters to adjust frontend tuning
  *
@@ -73,22 +77,19 @@ struct dvb_frontend;
  * struct dvb_tuner_info - Frontend name and min/max ranges/bandwidths
  *
  * @name:              name of the Frontend
- * @frequency_min:     minimal frequency supported
- * @frequency_max:     maximum frequency supported
- * @frequency_step:    frequency step
+ * @frequency_min_hz:  minimal frequency supported in Hz
+ * @frequency_max_hz:  maximum frequency supported in Hz
+ * @frequency_step_hz: frequency step in Hz
  * @bandwidth_min:     minimal frontend bandwidth supported
  * @bandwidth_max:     maximum frontend bandwidth supported
  * @bandwidth_step:    frontend bandwidth step
- *
- * NOTE: frequency parameters are in Hz, for terrestrial/cable or kHz for
- * satellite.
  */
 struct dvb_tuner_info {
        char name[128];
 
-       u32 frequency_min;
-       u32 frequency_max;
-       u32 frequency_step;
+       u32 frequency_min_hz;
+       u32 frequency_max_hz;
+       u32 frequency_step_hz;
 
        u32 bandwidth_min;
        u32 bandwidth_max;