media: dvb: represent min/max/step/tolerance freqs in Hz
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 5 Jul 2018 22:59:36 +0000 (18:59 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 2 Aug 2018 22:10:48 +0000 (18:10 -0400)
Right now, satellite frontend drivers specify frequencies in kHz,
while terrestrial/cable ones specify in Hz. That's confusing
for developers.

However, the main problem is that universal frontends 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 frontends.

So, convert everything to specify frontend frequencies in Hz.

Tested-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
96 files changed:
drivers/media/common/siano/smsdvb-main.c
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-frontends/af9013.c
drivers/media/dvb-frontends/af9033.c
drivers/media/dvb-frontends/as102_fe.c
drivers/media/dvb-frontends/atbm8830.c
drivers/media/dvb-frontends/au8522_dig.c
drivers/media/dvb-frontends/bcm3510.c
drivers/media/dvb-frontends/cx22700.c
drivers/media/dvb-frontends/cx22702.c
drivers/media/dvb-frontends/cx24110.c
drivers/media/dvb-frontends/cx24116.c
drivers/media/dvb-frontends/cx24117.c
drivers/media/dvb-frontends/cx24120.c
drivers/media/dvb-frontends/cx24123.c
drivers/media/dvb-frontends/cxd2820r_t.c
drivers/media/dvb-frontends/cxd2820r_t2.c
drivers/media/dvb-frontends/cxd2841er.c
drivers/media/dvb-frontends/cxd2880/cxd2880_top.c
drivers/media/dvb-frontends/dib3000mb.c
drivers/media/dvb-frontends/dib3000mc.c
drivers/media/dvb-frontends/dib7000m.c
drivers/media/dvb-frontends/dib7000p.c
drivers/media/dvb-frontends/dib8000.c
drivers/media/dvb-frontends/dib9000.c
drivers/media/dvb-frontends/drx39xyj/drxj.c
drivers/media/dvb-frontends/drxd_hard.c
drivers/media/dvb-frontends/drxk_hard.c
drivers/media/dvb-frontends/ds3000.c
drivers/media/dvb-frontends/dvb_dummy_fe.c
drivers/media/dvb-frontends/gp8psk-fe.c
drivers/media/dvb-frontends/ix2505v.c
drivers/media/dvb-frontends/l64781.c
drivers/media/dvb-frontends/lg2160.c
drivers/media/dvb-frontends/lgdt3305.c
drivers/media/dvb-frontends/lgdt3306a.c
drivers/media/dvb-frontends/lgdt330x.c
drivers/media/dvb-frontends/lgs8gl5.c
drivers/media/dvb-frontends/lgs8gxx.c
drivers/media/dvb-frontends/m88ds3103.c
drivers/media/dvb-frontends/m88rs2000.c
drivers/media/dvb-frontends/mb86a16.c
drivers/media/dvb-frontends/mb86a20s.c
drivers/media/dvb-frontends/mt312.c
drivers/media/dvb-frontends/mt352.c
drivers/media/dvb-frontends/mxl5xx.c
drivers/media/dvb-frontends/nxt200x.c
drivers/media/dvb-frontends/nxt6000.c
drivers/media/dvb-frontends/or51132.c
drivers/media/dvb-frontends/or51211.c
drivers/media/dvb-frontends/rtl2830.c
drivers/media/dvb-frontends/rtl2832.c
drivers/media/dvb-frontends/s5h1409.c
drivers/media/dvb-frontends/s5h1411.c
drivers/media/dvb-frontends/s5h1420.c
drivers/media/dvb-frontends/s5h1432.c
drivers/media/dvb-frontends/s921.c
drivers/media/dvb-frontends/si2165.c
drivers/media/dvb-frontends/si21xx.c
drivers/media/dvb-frontends/sp8870.c
drivers/media/dvb-frontends/sp887x.c
drivers/media/dvb-frontends/stb0899_drv.c
drivers/media/dvb-frontends/stv0288.c
drivers/media/dvb-frontends/stv0297.c
drivers/media/dvb-frontends/stv0299.c
drivers/media/dvb-frontends/stv0367.c
drivers/media/dvb-frontends/stv0900_core.c
drivers/media/dvb-frontends/stv090x.c
drivers/media/dvb-frontends/stv0910.c
drivers/media/dvb-frontends/tc90522.c
drivers/media/dvb-frontends/tda10021.c
drivers/media/dvb-frontends/tda10023.c
drivers/media/dvb-frontends/tda10048.c
drivers/media/dvb-frontends/tda1004x.c
drivers/media/dvb-frontends/tda10071.c
drivers/media/dvb-frontends/tda10086.c
drivers/media/dvb-frontends/tda8083.c
drivers/media/dvb-frontends/ves1820.c
drivers/media/dvb-frontends/ves1x93.c
drivers/media/dvb-frontends/zl10036.c
drivers/media/dvb-frontends/zl10353.c
drivers/media/firewire/firedtv-fe.c
drivers/media/pci/bt8xx/dst.c
drivers/media/pci/bt8xx/dvb-bt8xx.c
drivers/media/pci/ddbridge/ddbridge-sx8.c
drivers/media/pci/mantis/mantis_vp3030.c
drivers/media/tuners/mxl5007t.c
drivers/media/usb/dvb-usb-v2/mxl111sf-demod.c
drivers/media/usb/dvb-usb/af9005-fe.c
drivers/media/usb/dvb-usb/cinergyT2-fe.c
drivers/media/usb/dvb-usb/dtt200u-fe.c
drivers/media/usb/dvb-usb/friio-fe.c
drivers/media/usb/dvb-usb/vp702x-fe.c
drivers/media/usb/dvb-usb/vp7045-fe.c
drivers/media/usb/ttusb-dec/ttusbdecfe.c
include/media/dvb_frontend.h

index c0faad1ba4283f933b706515d4dbe521575c5332..43cfd1dbda014bf8d4378838a3eda5cd3b7097f9 100644 (file)
@@ -1047,9 +1047,9 @@ static void smsdvb_release(struct dvb_frontend *fe)
 static const struct dvb_frontend_ops smsdvb_fe_ops = {
        .info = {
                .name                   = "Siano Mobile Digital MDTV Receiver",
-               .frequency_min          = 44250000,
-               .frequency_max          = 867250000,
-               .frequency_stepsize     = 250000,
+               .frequency_min_hz       =  44250 * kHz,
+               .frequency_max_hz       = 867250 * kHz,
+               .frequency_stepsize_hz  =    250 * kHz,
                .caps = FE_CAN_INVERSION_AUTO |
                        FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 75e95b56f8b38aaa3a7e5df5b98e51e5861a55a5..fe0fae482ba46297852da0dd24f6cc0b1f968379 100644 (file)
@@ -894,11 +894,28 @@ 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)
+                                             u32 *freq_min, u32 *freq_max,
+                                             u32 *tolerance)
 {
        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;
+       u32 tuner_min = fe->ops.tuner_ops.info.frequency_min_hz;
+       u32 tuner_max = fe->ops.tuner_ops.info.frequency_max_hz;
+       u32 frontend_min = fe->ops.info.frequency_min_hz;
+       u32 frontend_max = fe->ops.info.frequency_max_hz;
+
+       *freq_min = max(frontend_min, tuner_min);
+
+       if (frontend_max == 0)
+               *freq_max = tuner_max;
+       else if (tuner_max == 0)
+               *freq_max = frontend_max;
+       else
+               *freq_max = min(frontend_max, tuner_max);
+
+       if (*freq_min == 0 || *freq_max == 0)
+               dev_warn(fe->dvb->device,
+                        "DVB: adapter %i frontend %u frequency limits undefined - fix the driver\n",
+                        fe->dvb->num, fe->id);
 
        /* If the standard is for satellite, convert frequencies to kHz */
        switch (c->delivery_system) {
@@ -906,26 +923,35 @@ static void dvb_frontend_get_frequency_limits(struct dvb_frontend *fe,
        case SYS_DVBS2:
        case SYS_TURBO:
        case SYS_ISDBS:
-               tuner_max /= kHz;
-               tuner_min /= kHz;
+               *freq_min /= kHz;
+               *freq_max /= kHz;
+               if (tolerance)
+                       *tolerance = fe->ops.info.frequency_tolerance_hz / kHz;
+
                break;
        default:
+               if (tolerance)
+                       *tolerance = fe->ops.info.frequency_tolerance_hz;
                break;
        }
+}
 
-       *freq_min = max(fe->ops.info.frequency_min, tuner_min);
-
-       if (fe->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, tuner_max);
+static u32 dvb_frontend_get_stepsize(struct dvb_frontend *fe)
+{
+       struct dtv_frontend_properties *c = &fe->dtv_property_cache;
+       u32 step = fe->ops.info.frequency_stepsize_hz;
+       switch (c->delivery_system) {
+       case SYS_DVBS:
+       case SYS_DVBS2:
+       case SYS_TURBO:
+       case SYS_ISDBS:
+               step /= kHz;
+               break;
+       default:
+               break;
+       }
 
-       if (*freq_min == 0 || *freq_max == 0)
-               dev_warn(fe->dvb->device,
-                        "DVB: adapter %i frontend %u frequency limits undefined - fix the driver\n",
-                        fe->dvb->num, fe->id);
+       return step;
 }
 
 static int dvb_frontend_check_parameters(struct dvb_frontend *fe)
@@ -935,7 +961,7 @@ static int dvb_frontend_check_parameters(struct dvb_frontend *fe)
        u32 freq_max;
 
        /* range check: frequency */
-       dvb_frontend_get_frequency_limits(fe, &freq_min, &freq_max);
+       dvb_frontend_get_frequency_limits(fe, &freq_min, &freq_max, NULL);
        if ((freq_min && c->frequency < freq_min) ||
            (freq_max && c->frequency > freq_max)) {
                dev_warn(fe->dvb->device, "DVB: adapter %i frontend %i frequency %u out of range (%u..%u)\n",
@@ -2261,8 +2287,8 @@ static int dtv_set_frontend(struct dvb_frontend *fe)
                case SYS_ISDBT:
                case SYS_DTMB:
                        fepriv->min_delay = HZ / 20;
-                       fepriv->step_size = fe->ops.info.frequency_stepsize * 2;
-                       fepriv->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
+                       fepriv->step_size = dvb_frontend_get_stepsize(fe) * 2;
+                       fepriv->max_drift = (dvb_frontend_get_stepsize(fe) * 2) + 1;
                        break;
                default:
                        /*
@@ -2391,9 +2417,17 @@ static int dvb_frontend_handle_ioctl(struct file *file,
 
        case FE_GET_INFO: {
                struct dvb_frontend_info *info = parg;
-
-               memcpy(info, &fe->ops.info, sizeof(struct dvb_frontend_info));
-               dvb_frontend_get_frequency_limits(fe, &info->frequency_min, &info->frequency_max);
+               memset(info, 0, sizeof(*info));
+
+               strcpy(info->name, fe->ops.info.name);
+               info->symbol_rate_min = fe->ops.info.symbol_rate_min;
+               info->symbol_rate_max = fe->ops.info.symbol_rate_max;
+               info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance;
+               info->caps = fe->ops.info.caps;
+               info->frequency_stepsize = dvb_frontend_get_stepsize(fe);
+               dvb_frontend_get_frequency_limits(fe, &info->frequency_min,
+                                                 &info->frequency_max,
+                                                 &info->frequency_tolerance);
 
                /*
                 * Associate the 4 delivery systems supported by DVBv3
@@ -2423,10 +2457,10 @@ static int dvb_frontend_handle_ioctl(struct file *file,
                        dev_err(fe->dvb->device,
                                "%s: doesn't know how to handle a DVBv3 call to delivery system %i\n",
                                __func__, c->delivery_system);
-                       fe->ops.info.type = FE_OFDM;
+                       info->type = FE_OFDM;
                }
                dev_dbg(fe->dvb->device, "%s: current delivery system on cache: %d, V3 type: %d\n",
-                       __func__, c->delivery_system, fe->ops.info.type);
+                       __func__, c->delivery_system, info->type);
 
                /* Set CAN_INVERSION_AUTO bit on in other than oneshot mode */
                if (!(fepriv->tune_mode_flags & FE_TUNE_MODE_ONESHOT))
index 482bce49819a35997c9a1b923442c2784f8ce524..f3acbb57d48cebb4f59ea93562e79a7aea50b867 100644 (file)
@@ -1136,10 +1136,9 @@ static const struct dvb_frontend_ops af9013_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Afatech AF9013",
-               .frequency_min = 174000000,
-               .frequency_max = 862000000,
-               .frequency_stepsize = 250000,
-               .frequency_tolerance = 0,
+               .frequency_min_hz = 174 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 250 * kHz,
                .caps = FE_CAN_FEC_1_2 |
                        FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 |
index aaed7cfe5f6660d608084607c8d5d2afa5f1848e..0cd57013ea25f8b5759508d069f65a8520ad4402 100644 (file)
@@ -1020,10 +1020,9 @@ static const struct dvb_frontend_ops af9033_ops = {
        .delsys = {SYS_DVBT},
        .info = {
                .name = "Afatech AF9033 (DVB-T)",
-               .frequency_min = 174000000,
-               .frequency_max = 862000000,
-               .frequency_stepsize = 250000,
-               .frequency_tolerance = 0,
+               .frequency_min_hz = 174 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 250 * kHz,
                .caps = FE_CAN_FEC_1_2 |
                        FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 |
index 9b2f2da1d9895ff9a406281aff647f75f1602abe..f59a102b0a648b9cf746a345834ed17a4bac9a32 100644 (file)
@@ -419,9 +419,9 @@ static const struct dvb_frontend_ops as102_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Abilis AS102 DVB-T",
-               .frequency_min          = 174000000,
-               .frequency_max          = 862000000,
-               .frequency_stepsize     = 166667,
+               .frequency_min_hz       = 174 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_INVERSION_AUTO
                        | FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4
                        | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO
index 7b0f3239dbba5ab70d387003f484ce0211411aa1..cbcc65dc9d540f2b7cd75c36483c900fde54b0b7 100644 (file)
@@ -428,9 +428,9 @@ static const struct dvb_frontend_ops atbm8830_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name = "AltoBeam ATBM8830/8831 DMB-TH",
-               .frequency_min = 474000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 10000,
+               .frequency_min_hz = 474 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 10 * kHz,
                .caps =
                        FE_CAN_FEC_AUTO |
                        FE_CAN_QAM_AUTO |
index 8f659bd1c79e788c8544ffb5042715ed9956038e..076f737aa8c067063cfe8a9b39bdabb3ab76ca14 100644 (file)
@@ -897,9 +897,9 @@ static const struct dvb_frontend_ops au8522_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Auvitek AU8522 QAM/8VSB Frontend",
-               .frequency_min          = 54000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       =  54 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
 
index 05df133dc5be7a8692c56eea8e59c1ca9ff7b8aa..e92542b92d3492430d56fdb9c71837a529d25f4f 100644 (file)
@@ -840,10 +840,8 @@ static const struct dvb_frontend_ops bcm3510_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "Broadcom BCM3510 VSB/QAM frontend",
-               .frequency_min =  54000000,
-               .frequency_max = 803000000,
-               /* stepsize is just a guess */
-               .frequency_stepsize = 0,
+               .frequency_min_hz =  54 * MHz,
+               .frequency_max_hz = 803 * MHz,
                .caps =
                        FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 9ffd2c7ac74a94129d4a7319b5cc5c069ec6fbac..961380162cddaabb1a2e8de0410b7029eba896df 100644 (file)
@@ -412,9 +412,9 @@ static const struct dvb_frontend_ops cx22700_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Conexant CX22700 DVB-T",
-               .frequency_min          = 470000000,
-               .frequency_max          = 860000000,
-               .frequency_stepsize     = 166667,
+               .frequency_min_hz       = 470 * MHz,
+               .frequency_max_hz       = 860 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                      FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                      FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 |
index e8b1e6b7e7e563a60e776b96f0fdcc27d10e5bf9..ab9b2924bcca321ceab1cf91a351495112b55ad1 100644 (file)
@@ -622,9 +622,9 @@ static const struct dvb_frontend_ops cx22702_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Conexant CX22702 DVB-T",
-               .frequency_min          = 177000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 166666,
+               .frequency_min_hz       = 177 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO |
index 2f3a1c2374894d8d6041e7809cc3eda6325bbfd2..9441bdc73097cb090b41660a8f25042e6a91a997 100644 (file)
@@ -629,10 +629,10 @@ static const struct dvb_frontend_ops cx24110_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Conexant CX24110 DVB-S",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011,  /* kHz for QPSK frontends */
-               .frequency_tolerance = 29500,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 29500 * kHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index 2dbc7349d870c1e1e42f3411120f182b4648d93c..220f2666364726428650417b2800de9cce853d1d 100644 (file)
@@ -1465,10 +1465,10 @@ static const struct dvb_frontend_ops cx24116_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24116/CX24118",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011, /* kHz for QPSK frontends */
-               .frequency_tolerance = 5000,
+               .frequency_min_hz = 950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index ba55d75d916c4422b6e49c82c0ac0af1c935ba9d..667bc8be848d65a88f2f7b377a967e30682fc57d 100644 (file)
@@ -1622,10 +1622,10 @@ static const struct dvb_frontend_ops cx24117_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24117/CX24132",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011, /* kHz for QPSK frontends */
-               .frequency_tolerance = 5000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index ccbabdae6a6939839744557469647e3f6871aad4..dd3ec316e7c2a99d87430fa17f64a8176c8f274e 100644 (file)
@@ -1555,10 +1555,10 @@ static const struct dvb_frontend_ops cx24120_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24120/CX24118",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011, /* kHz for QPSK frontends */
-               .frequency_tolerance = 5000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index bf33e7390aaf99a28980e34c1954d436588543f2..e49215020a9372bb092e7acd6eb8b895c7dbee61 100644 (file)
@@ -1111,10 +1111,10 @@ static const struct dvb_frontend_ops cx24123_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Conexant CX24123/CX24109",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011, /* kHz for QPSK frontends */
-               .frequency_tolerance = 5000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index c2e7caf9b010daef4a26f661cdeeae00fe61f04a..eb1d7478fa8ded00eb7e3e1eb4fdebf7973320cd 100644 (file)
@@ -431,8 +431,8 @@ int cxd2820r_get_tune_settings_t(struct dvb_frontend *fe,
        struct dvb_frontend_tune_settings *s)
 {
        s->min_delay_ms = 500;
-       s->step_size = fe->ops.info.frequency_stepsize * 2;
-       s->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
+       s->step_size = fe->ops.info.frequency_stepsize_hz * 2;
+       s->max_drift = (fe->ops.info.frequency_stepsize_hz * 2) + 1;
 
        return 0;
 }
index e641fde753790e61dc41f6036e591c1ad27f60d2..f330ec1710b47fec14dcc13de889defd5d397bbb 100644 (file)
@@ -426,8 +426,8 @@ int cxd2820r_get_tune_settings_t2(struct dvb_frontend *fe,
        struct dvb_frontend_tune_settings *s)
 {
        s->min_delay_ms = 1500;
-       s->step_size = fe->ops.info.frequency_stepsize * 2;
-       s->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
+       s->step_size = fe->ops.info.frequency_stepsize_hz * 2;
+       s->max_drift = (fe->ops.info.frequency_stepsize_hz * 2) + 1;
 
        return 0;
 }
index 85905d3503ffcc2c9940e9ba883c90f354b7c4a9..c98093ed3dd76653fcc0f247ae534157c0e0109e 100644 (file)
@@ -3942,9 +3942,8 @@ static const struct dvb_frontend_ops cxd2841er_dvbs_s2_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name           = "Sony CXD2841ER DVB-S/S2 demodulator",
-               .frequency_min  = 500000,
-               .frequency_max  = 2500000,
-               .frequency_stepsize     = 0,
+               .frequency_min_hz       =  500 * MHz,
+               .frequency_max_hz       = 2500 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .symbol_rate_tolerance = 500,
@@ -3988,8 +3987,8 @@ static struct dvb_frontend_ops cxd2841er_t_c_ops = {
                        FE_CAN_HIERARCHY_AUTO |
                        FE_CAN_MUTE_TS |
                        FE_CAN_2G_MODULATION,
-               .frequency_min = 42000000,
-               .frequency_max = 1002000000,
+               .frequency_min_hz =   42 * MHz,
+               .frequency_max_hz = 1002 * MHz,
                .symbol_rate_min = 870000,
                .symbol_rate_max = 11700000
        },
index bd9101e246d5fe157de399c194f6c55365b797c5..f87e27481ea7b9dd7737c764dd91583c34801c8a 100644 (file)
@@ -1833,9 +1833,9 @@ static enum dvbfe_algo cxd2880_get_frontend_algo(struct dvb_frontend *fe)
 static struct dvb_frontend_ops cxd2880_dvbt_t2_ops = {
        .info = {
                .name = "Sony CXD2880",
-               .frequency_min =  174000000,
-               .frequency_max = 862000000,
-               .frequency_stepsize = 1000,
+               .frequency_min_hz = 174 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 1 * kHz,
                .caps = FE_CAN_INVERSION_AUTO |
                                FE_CAN_FEC_1_2 |
                                FE_CAN_FEC_2_3 |
index 5861f346db49b7833601fb725e266e572bb0ad6f..bbbd5328047742919c4aa0ef034f00fd814fc217 100644 (file)
@@ -786,9 +786,9 @@ static const struct dvb_frontend_ops dib3000mb_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "DiBcom 3000M-B DVB-T",
-               .frequency_min          = 44250000,
-               .frequency_max          = 867250000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       =  44250 * kHz,
+               .frequency_max_hz       = 867250 * kHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_INVERSION_AUTO |
                                FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                                FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 7e5d474806a53326fc4f0006cc08b770b1cd6c37..c9e1db2517232e31d487162326331029de478794 100644 (file)
@@ -944,9 +944,9 @@ static const struct dvb_frontend_ops dib3000mc_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DiBcom 3000MC/P",
-               .frequency_min      = 44250000,
-               .frequency_max      = 867250000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  44250 * kHz,
+               .frequency_max_hz      = 867250 * kHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_INVERSION_AUTO |
                        FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 6a1d357d0c7c8497acfb4f4fbcc57d4a4da9852e..b79358d09de68aa4ec1d606fc77c750daf44f405 100644 (file)
@@ -1443,9 +1443,9 @@ static const struct dvb_frontend_ops dib7000m_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DiBcom 7000MA/MB/PA/PB/MC",
-               .frequency_min      = 44250000,
-               .frequency_max      = 867250000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  44250 * kHz,
+               .frequency_max_hz      = 867250 * kHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_INVERSION_AUTO |
                        FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 5a8dbc0b25fb23cba73491565aa7bcb28aa54a09..58387860b62dcd90f203cffc62b1f0ea7877e9d6 100644 (file)
@@ -2824,9 +2824,9 @@ static const struct dvb_frontend_ops dib7000p_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "DiBcom 7000PC",
-                .frequency_min = 44250000,
-                .frequency_max = 867250000,
-                .frequency_stepsize = 62500,
+                .frequency_min_hz =  44250 * kHz,
+                .frequency_max_hz = 867250 * kHz,
+                .frequency_stepsize_hz = 62500,
                 .caps = FE_CAN_INVERSION_AUTO |
                 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 22eec8f654858e3da776c40cbcafff15a09bae8b..3c3f8cb148451ed4b7e2a2649757a7894bfb60bd 100644 (file)
@@ -4390,9 +4390,9 @@ static const struct dvb_frontend_ops dib8000_ops = {
        .delsys = { SYS_ISDBT },
        .info = {
                 .name = "DiBcom 8000 ISDB-T",
-                .frequency_min = 44250000,
-                .frequency_max = 867250000,
-                .frequency_stepsize = 62500,
+                .frequency_min_hz =  44250 * kHz,
+                .frequency_max_hz = 867250 * kHz,
+                .frequency_stepsize_hz = 62500,
                 .caps = FE_CAN_INVERSION_AUTO |
                 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index b8edb55696bb8c4caa9a718adae392673e59fe5d..0183fb1346efc5384a5054640cc7ee50904ffb58 100644 (file)
@@ -2553,9 +2553,9 @@ static const struct dvb_frontend_ops dib9000_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "DiBcom 9000",
-                .frequency_min = 44250000,
-                .frequency_max = 867250000,
-                .frequency_stepsize = 62500,
+                .frequency_min_hz =  44250 * kHz,
+                .frequency_max_hz = 867250 * kHz,
+                .frequency_stepsize_hz = 62500,
                 .caps = FE_CAN_INVERSION_AUTO |
                 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 5706898e84cc8d0966128ead9136886e409c5cc2..2ddb7d218ace04893835d56a780a785dda9fd73c 100644 (file)
@@ -12374,9 +12374,9 @@ static const struct dvb_frontend_ops drx39xxj_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                 .name = "Micronas DRX39xxj family Frontend",
-                .frequency_stepsize = 62500,
-                .frequency_min = 51000000,
-                .frequency_max = 858000000,
+                .frequency_min_hz =  51 * MHz,
+                .frequency_max_hz = 858 * MHz,
+                .frequency_stepsize_hz = 62500,
                 .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
 
index 3b7d31a22d8250607d863d498cd84818cca55408..11fc259e43832c6224364bb3b1414bea255d0be7 100644 (file)
@@ -2912,10 +2912,9 @@ static const struct dvb_frontend_ops drxd_ops = {
        .delsys = { SYS_DVBT},
        .info = {
                 .name = "Micronas DRXD DVB-T",
-                .frequency_min = 47125000,
-                .frequency_max = 855250000,
-                .frequency_stepsize = 166667,
-                .frequency_tolerance = 0,
+                .frequency_min_hz =  47125 * kHz,
+                .frequency_max_hz = 855250 * kHz,
+                .frequency_stepsize_hz = 166667,
                 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 |
                 FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 |
                 FE_CAN_FEC_AUTO |
index 5a26ad93be10c9df27a406855a17910a939346b0..ac10781d355069135c098943b24ab753f20017e1 100644 (file)
@@ -6744,13 +6744,13 @@ static const struct dvb_frontend_ops drxk_ops = {
        /* .delsys will be filled dynamically */
        .info = {
                .name = "DRXK",
-               .frequency_min = 47000000,
-               .frequency_max = 865000000,
+               .frequency_min_hz =  47 * MHz,
+               .frequency_max_hz = 865 * MHz,
                 /* For DVB-C */
-               .symbol_rate_min = 870000,
+               .symbol_rate_min =   870000,
                .symbol_rate_max = 11700000,
                /* For DVB-T */
-               .frequency_stepsize = 166667,
+               .frequency_stepsize_hz = 166667,
 
                .caps = FE_CAN_QAM_16 | FE_CAN_QAM_32 | FE_CAN_QAM_64 |
                        FE_CAN_QAM_128 | FE_CAN_QAM_256 | FE_CAN_FEC_AUTO |
index 2ff90e5eabce14ed046d5334e030d7c5fa7dc6fd..46a55146cb0756b340ae384c9a6bba2b075bb9ce 100644 (file)
@@ -1100,10 +1100,10 @@ static const struct dvb_frontend_ops ds3000_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Montage Technology DS3000",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1011, /* kHz for QPSK frontends */
-               .frequency_tolerance = 5000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_stepsize_hz = 1011 * kHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index 6650d4f61ef2e76e6154901c01899faae65c4402..a4cbcae7967d6a12963b1102e34297ea373cbc78 100644 (file)
@@ -170,9 +170,9 @@ static const struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Dummy DVB-T",
-               .frequency_min          = 0,
-               .frequency_max          = 863250000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       = 0,
+               .frequency_max_hz       = 863250 * kHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                                FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 |
                                FE_CAN_FEC_7_8 | FE_CAN_FEC_8_9 | FE_CAN_FEC_AUTO |
@@ -201,11 +201,11 @@ static const struct dvb_frontend_ops dvb_dummy_fe_qam_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name                   = "Dummy DVB-C",
-               .frequency_stepsize     = 62500,
-               .frequency_min          = 51000000,
-               .frequency_max          = 858000000,
-               .symbol_rate_min        = (57840000/2)/64,     /* SACLK/64 == (XIN/2)/64 */
-               .symbol_rate_max        = (57840000/2)/4,      /* SACLK/4 */
+               .frequency_min_hz       =  51 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 62500,
+               .symbol_rate_min        = (57840000 / 2) / 64,  /* SACLK/64 == (XIN/2)/64 */
+               .symbol_rate_max        = (57840000 / 2) / 4,   /* SACLK/4 */
                .caps = FE_CAN_QAM_16 | FE_CAN_QAM_32 | FE_CAN_QAM_64 |
                        FE_CAN_QAM_128 | FE_CAN_QAM_256 |
                        FE_CAN_FEC_AUTO | FE_CAN_INVERSION_AUTO
@@ -230,10 +230,10 @@ static const struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Dummy DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 250,           /* kHz for QPSK frontends */
-               .frequency_tolerance    = 29500,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  = 250 * kHz,
+               .frequency_tolerance_hz = 29500 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index a772ef8bfe1cd432d0efbfc2f4763f79bf8aa190..238f09aa72f257ea3f4e9d33df28026bdc3a3f22 100644 (file)
@@ -355,9 +355,9 @@ static const struct dvb_frontend_ops gp8psk_fe_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Genpix DVB-S",
-               .frequency_min          = 800000,
-               .frequency_max          = 2250000,
-               .frequency_stepsize     = 100,
+               .frequency_min_hz       =  800 * MHz,
+               .frequency_max_hz       = 2250 * MHz,
+               .frequency_stepsize_hz  =  100 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,  /* ppm */
index 9c055f72c416fdeeccabe1f4f26aa8ddb4f56bf1..a30707b61b1fbfff0c6dba3451285224f0cbf7c2 100644 (file)
@@ -135,8 +135,8 @@ static int ix2505v_set_params(struct dvb_frontend *fe)
        u8 gain, cc, ref, psc, local_osc, lpf;
        u8 data[4] = {0};
 
-       if ((frequency < fe->ops.info.frequency_min)
-       ||  (frequency > fe->ops.info.frequency_max))
+       if ((frequency < fe->ops.info.frequency_min_hz / kHz)
+       ||  (frequency > fe->ops.info.frequency_max_hz / kHz))
                return -EINVAL;
 
        if (state->config->tuner_gain)
index 249c18761e6ef199ee316c988e1ab48ebbe3b542..9afb5bf6424bfe5aafb2a62a17f1175eeb81e11d 100644 (file)
@@ -575,10 +575,9 @@ static const struct dvb_frontend_ops l64781_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "LSI L64781 DVB-T",
-       /*      .frequency_min = ???,*/
-       /*      .frequency_max = ???,*/
-               .frequency_stepsize = 166666,
-       /*      .frequency_tolerance = ???,*/
+       /*      .frequency_min_hz = ???,*/
+       /*      .frequency_max_hz = ???,*/
+               .frequency_stepsize_hz = 166666,
        /*      .symbol_rate_tolerance = ???,*/
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                      FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 |
index 9854096839ae6a0448d30317a1e8ec9f9263b271..408151e33fa7f45c604cbd7affe951f1828e1e94 100644 (file)
@@ -1349,9 +1349,9 @@ static const struct dvb_frontend_ops lg2160_ops = {
        .delsys = { SYS_ATSCMH },
        .info = {
                .name = "LG Electronics LG2160 ATSC/MH Frontend",
-               .frequency_min      = 54000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  54 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
        },
        .i2c_gate_ctrl        = lg216x_i2c_gate_ctrl,
 #if 0
@@ -1375,9 +1375,9 @@ static const struct dvb_frontend_ops lg2161_ops = {
        .delsys = { SYS_ATSCMH },
        .info = {
                .name = "LG Electronics LG2161 ATSC/MH Frontend",
-               .frequency_min      = 54000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  54 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
        },
        .i2c_gate_ctrl        = lg216x_i2c_gate_ctrl,
 #if 0
index 735d73060265ad3fa2911907b9a8aa1b371ca64d..857e9b4d69b443de0ff0292d387694feba14dc42 100644 (file)
@@ -1164,9 +1164,9 @@ static const struct dvb_frontend_ops lgdt3304_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3304 VSB/QAM Frontend",
-               .frequency_min      = 54000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  54 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
        .i2c_gate_ctrl        = lgdt3305_i2c_gate_ctrl,
@@ -1187,9 +1187,9 @@ static const struct dvb_frontend_ops lgdt3305_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3305 VSB/QAM Frontend",
-               .frequency_min      = 54000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  54 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
        .i2c_gate_ctrl        = lgdt3305_i2c_gate_ctrl,
index 32de824476db3684b50dcf71c15d0ec94b0ec55a..0e1f5daaf20cdfc39e4203ae3661718790655827 100644 (file)
@@ -2157,9 +2157,9 @@ static const struct dvb_frontend_ops lgdt3306a_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3306A VSB/QAM Frontend",
-               .frequency_min      = 54000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz      =  54 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_QAM_AUTO | FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
        .i2c_gate_ctrl        = lgdt3306a_i2c_gate_ctrl,
index f6731738b07313c317e0badf7be94c9ab49ddae1..10d584ce538d71bf84729a3b2527edc27418de12 100644 (file)
@@ -944,9 +944,9 @@ static const struct dvb_frontend_ops lgdt3302_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3302 VSB/QAM Frontend",
-               .frequency_min = 54000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz =  54 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min    = 5056941,  /* QAM 64 */
                .symbol_rate_max    = 10762000, /* VSB 8  */
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
@@ -966,9 +966,9 @@ static const struct dvb_frontend_ops lgdt3303_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3303 VSB/QAM Frontend",
-               .frequency_min = 54000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz =  54 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min    = 5056941,  /* QAM 64 */
                .symbol_rate_max    = 10762000, /* VSB 8  */
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
index f47e5a1af16d53c516fb524033915edb2bf14b6e..07e5bcee9c1efc9f4dc629508b732b5a83bcc0b8 100644 (file)
@@ -416,10 +416,9 @@ static const struct dvb_frontend_ops lgs8gl5_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name                   = "Legend Silicon LGS-8GL5 DMB-TH",
-               .frequency_min          = 474000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 10000,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       = 474 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  =  10 * kHz,
                .caps = FE_CAN_FEC_AUTO |
                        FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_32 |
                        FE_CAN_QAM_64 | FE_CAN_QAM_AUTO |
index 84af8a12f26ae5ef5a1fdf9f0cfe72c39954726e..a6bcf1571d10f1d43be8e7361213eb4e49def5c1 100644 (file)
@@ -985,9 +985,9 @@ static const struct dvb_frontend_ops lgs8gxx_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name = "Legend Silicon LGS8913/LGS8GXX DMB-TH",
-               .frequency_min = 474000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 10000,
+               .frequency_min_hz = 474 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 10 * kHz,
                .caps =
                        FE_CAN_FEC_AUTO |
                        FE_CAN_QAM_AUTO |
index 65d157fe76d19dad45ac94fa9eb21cbdad5dd575..dffd2d4bf1c8b96b0735707d449f46a6bb125033 100644 (file)
@@ -1300,9 +1300,9 @@ static const struct dvb_frontend_ops m88ds3103_ops = {
        .delsys = {SYS_DVBS, SYS_DVBS2},
        .info = {
                .name = "Montage Technology M88DS3103",
-               .frequency_min =  950000,
-               .frequency_max = 2150000,
-               .frequency_tolerance = 5000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min =  1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index 496ce27fa63a1caa81e531f64053c1ffb156ab9a..d5bc85501f9ec196c7ded85a5dfc32abe532bbd6 100644 (file)
@@ -759,10 +759,10 @@ static const struct dvb_frontend_ops m88rs2000_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "M88RS2000 DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 1000,  /* kHz for QPSK frontends */
-               .frequency_tolerance    = 5000,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  = 1 * MHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,  /* ppm */
index 377cd984b06992239626d11b81b3b715d5e07368..da505a5d035f3abd5e0808b1b4a48eea610db9ac 100644 (file)
@@ -1808,10 +1808,9 @@ static const struct dvb_frontend_ops mb86a16_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Fujitsu MB86A16 DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 3000,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =    3 * MHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,
index c3b1b88e2e7a501b8f61392562ee038b00635669..66fc77db0e75940f5efa82e935dfb4ee31b2414b 100644 (file)
@@ -2111,9 +2111,9 @@ static const struct dvb_frontend_ops mb86a20s_ops = {
                        FE_CAN_TRANSMISSION_MODE_AUTO | FE_CAN_QAM_AUTO |
                        FE_CAN_GUARD_INTERVAL_AUTO    | FE_CAN_HIERARCHY_AUTO,
                /* Actually, those values depend on the used tuner */
-               .frequency_min = 45000000,
-               .frequency_max = 864000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz =  45 * MHz,
+               .frequency_max_hz = 864 * MHz,
+               .frequency_stepsize_hz = 62500,
        },
 
        .release = mb86a20s_release,
index e2a3fc521620e1e05e2481f4e13d5d326a143048..aad07adda37dff25c605e3f1aeb1011c83b17843 100644 (file)
@@ -559,8 +559,8 @@ static int mt312_set_frontend(struct dvb_frontend *fe)
 
        dprintk("%s: Freq %d\n", __func__, p->frequency);
 
-       if ((p->frequency < fe->ops.info.frequency_min)
-           || (p->frequency > fe->ops.info.frequency_max))
+       if ((p->frequency < fe->ops.info.frequency_min_hz / kHz)
+           || (p->frequency > fe->ops.info.frequency_max_hz / kHz))
                return -EINVAL;
 
        if (((int)p->inversion < INVERSION_OFF)
@@ -755,10 +755,10 @@ static const struct dvb_frontend_ops mt312_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Zarlink ???? DVB-S",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
                /* FIXME: adjust freq to real used xtal */
-               .frequency_stepsize = (MT312_PLL_CLK / 1000) / 128,
+               .frequency_stepsize_hz = MT312_PLL_CLK / 128,
                .symbol_rate_min = MT312_SYS_CLK / 128, /* FIXME as above */
                .symbol_rate_max = MT312_SYS_CLK / 2,
                .caps =
index a440b76444d3372c8bf2d24a0b832704997bbb8c..da3e466d50e2e0d98d0e15674a1d24d659df9dc2 100644 (file)
@@ -567,10 +567,9 @@ static const struct dvb_frontend_ops mt352_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Zarlink MT352 DVB-T",
-               .frequency_min          = 174000000,
-               .frequency_max          = 862000000,
-               .frequency_stepsize     = 166667,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       = 174 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 |
                        FE_CAN_FEC_AUTO |
index 274d8fca07636269f6474b72448ce4ba65bf1e5d..295f37d5f10e595a8e75a2787e1e14072e74ff1e 100644 (file)
@@ -784,10 +784,8 @@ static struct dvb_frontend_ops mxl_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "MaxLinear MxL5xx DVB-S/S2 tuner-demodulator",
-               .frequency_min          = 300000,
-               .frequency_max          = 2350000,
-               .frequency_stepsize     = 0,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  300 * MHz,
+               .frequency_max_hz       = 2350 * MHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .caps                   = FE_CAN_INVERSION_AUTO |
index a6cc4952eb744b1b3f6ee6b96f5f2dfcc097c54e..0961e686ff68929c504bd50ca5977da19f9a25ff 100644 (file)
@@ -1212,9 +1212,9 @@ static const struct dvb_frontend_ops nxt200x_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "Nextwave NXT200X VSB/QAM frontend",
-               .frequency_min =  54000000,
-               .frequency_max = 860000000,
-               .frequency_stepsize = 166666,   /* stepsize is just a guess */
+               .frequency_min_hz =  54 * MHz,
+               .frequency_max_hz = 860 * MHz,
+               .frequency_stepsize_hz = 166666,        /* stepsize is just a guess */
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_8VSB | FE_CAN_QAM_64 | FE_CAN_QAM_256
index 109a635d166a867d81f2dc6551a5a76322ece0be..72e447e8ba649cb37b43e928824583b1b08b497b 100644 (file)
@@ -596,9 +596,9 @@ static const struct dvb_frontend_ops nxt6000_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "NxtWave NXT6000 DVB-T",
-               .frequency_min = 0,
-               .frequency_max = 863250000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz = 0,
+               .frequency_max_hz = 863250 * kHz,
+               .frequency_stepsize_hz = 62500,
                /*.frequency_tolerance = *//* FIXME: 12% of SR */
                .symbol_rate_min = 0,   /* FIXME */
                .symbol_rate_max = 9360000,     /* FIXME */
index b4c9aadcb5523c40c4ba3f41a2250239ba6c4edb..fc35f37eb3c075c773ee655d2ad2a51f34ac5cf2 100644 (file)
@@ -583,9 +583,9 @@ static const struct dvb_frontend_ops or51132_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Oren OR51132 VSB/QAM Frontend",
-               .frequency_min          = 44000000,
-               .frequency_max          = 958000000,
-               .frequency_stepsize     = 166666,
+               .frequency_min_hz       =  44 * MHz,
+               .frequency_max_hz       = 958 * MHz,
+               .frequency_stepsize_hz  = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_QAM_AUTO |
index b65ba34fd00a9d1e5dc9d4fd7373d97d03c4236a..a39bbd8ff1f0dd4477d41d87987b880181dcdc14 100644 (file)
@@ -530,10 +530,10 @@ struct dvb_frontend* or51211_attach(const struct or51211_config* config,
 static const struct dvb_frontend_ops or51211_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
-               .name               = "Oren OR51211 VSB Frontend",
-               .frequency_min      = 44000000,
-               .frequency_max      = 958000000,
-               .frequency_stepsize = 166666,
+               .name                  = "Oren OR51211 VSB Frontend",
+               .frequency_min_hz      =  44 * MHz,
+               .frequency_max_hz      = 958 * MHz,
+               .frequency_stepsize_hz = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_8VSB
index 7bbfe11d11edd8a6f7ee3d91170f8432096a4453..adc9046d5a90f3b849d06d1c0547fe3e68802e5e 100644 (file)
@@ -159,8 +159,8 @@ static int rtl2830_get_tune_settings(struct dvb_frontend *fe,
                                     struct dvb_frontend_tune_settings *s)
 {
        s->min_delay_ms = 500;
-       s->step_size = fe->ops.info.frequency_stepsize * 2;
-       s->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
+       s->step_size = fe->ops.info.frequency_stepsize_hz * 2;
+       s->max_drift = (fe->ops.info.frequency_stepsize_hz * 2) + 1;
 
        return 0;
 }
index fa3b8169c1a55f10fb510ccf7f808ea6537acde6..2f1f5cbaf03c46bb312d9962d6a792d9b13acd76 100644 (file)
@@ -408,8 +408,8 @@ static int rtl2832_get_tune_settings(struct dvb_frontend *fe,
 
        dev_dbg(&client->dev, "\n");
        s->min_delay_ms = 1000;
-       s->step_size = fe->ops.info.frequency_stepsize * 2;
-       s->max_drift = (fe->ops.info.frequency_stepsize * 2) + 1;
+       s->step_size = fe->ops.info.frequency_stepsize_hz * 2;
+       s->max_drift = (fe->ops.info.frequency_stepsize_hz * 2) + 1;
        return 0;
 }
 
@@ -841,9 +841,9 @@ static const struct dvb_frontend_ops rtl2832_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Realtek RTL2832 (DVB-T)",
-               .frequency_min    = 174000000,
-               .frequency_max    = 862000000,
-               .frequency_stepsize = 166667,
+               .frequency_min_hz       = 174 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_FEC_1_2 |
                        FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 |
index a23ba8727218576db6a2f735aca57d7d0afc16d2..ceeb0c3551ceeb7e4facbef865f385648a2d9c5e 100644 (file)
@@ -999,9 +999,9 @@ static const struct dvb_frontend_ops s5h1409_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Samsung S5H1409 QAM/8VSB Frontend",
-               .frequency_min          = 54000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       =  54 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
 
index af5962807f2c5376e5e96092711ba41264de6459..98aeed1d2284d1f754bd72a15673903313dc773e 100644 (file)
@@ -918,9 +918,9 @@ static const struct dvb_frontend_ops s5h1411_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Samsung S5H1411 QAM/8VSB Frontend",
-               .frequency_min          = 54000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       =  54 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
        },
 
index 8b2222530227062706d814641cf6efba464c1663..a65cdf8e8cd9a22950543d4749eb17c38d3cfac9 100644 (file)
@@ -934,10 +934,10 @@ static const struct dvb_frontend_ops s5h1420_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name     = "Samsung S5H1420/PnpNetwork PN1010 DVB-S",
-               .frequency_min    = 950000,
-               .frequency_max    = 2150000,
-               .frequency_stepsize = 125,     /* kHz for QPSK frontends */
-               .frequency_tolerance  = 29500,
+               .frequency_min_hz    =  950 * MHz,
+               .frequency_max_hz    = 2150 * MHz,
+               .frequency_stepsize_hz = 125 * kHz,
+               .frequency_tolerance_hz  = 29500 * kHz,
                .symbol_rate_min  = 1000000,
                .symbol_rate_max  = 45000000,
                /*  .symbol_rate_tolerance  = ???,*/
index 740a60df04555a876c7491d0d8a7b84a1f90bb6e..4dc3febc0e12ca47bf2036cd37668dd64041a900 100644 (file)
@@ -370,9 +370,9 @@ static const struct dvb_frontend_ops s5h1432_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "Samsung s5h1432 DVB-T Frontend",
-                .frequency_min = 177000000,
-                .frequency_max = 858000000,
-                .frequency_stepsize = 166666,
+                .frequency_min_hz = 177 * MHz,
+                .frequency_max_hz = 858 * MHz,
+                .frequency_stepsize_hz = 166666,
                 .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                 FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO |
index 6c9015236655f83b778a37b21dc977b6321b7228..79276871112a7524c09ef428109e26d3904dd565 100644 (file)
@@ -510,15 +510,14 @@ static const struct dvb_frontend_ops s921_ops = {
        /* Use dib8000 values per default */
        .info = {
                .name = "Sharp S921",
-               .frequency_min = 470000000,
+               .frequency_min_hz = 470 * MHz,
                /*
                 * Max should be 770MHz instead, according with Sharp docs,
                 * but Leadership doc says it works up to 806 MHz. This is
                 * required to get channel 69, used in Brazil
                 */
-               .frequency_max = 806000000,
-               .frequency_tolerance = 0,
-                .caps = FE_CAN_INVERSION_AUTO |
+               .frequency_max_hz = 806 * MHz,
+               .caps =  FE_CAN_INVERSION_AUTO |
                         FE_CAN_FEC_1_2  | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                         FE_CAN_FEC_5_6  | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                         FE_CAN_QPSK     | FE_CAN_QAM_16 | FE_CAN_QAM_64 |
index 2dd336f95cbf39fc0070411fb95dceecbcedc052..feacd8da421dafc21daa4a9c9b3dfefce0132b16 100644 (file)
@@ -1120,7 +1120,7 @@ static const struct dvb_frontend_ops si2165_ops = {
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 7200000,
                /* For DVB-T */
-               .frequency_stepsize = 166667,
+               .frequency_stepsize_hz = 166667,
                .caps = FE_CAN_FEC_1_2 |
                        FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 |
index 9b32a1b3205e3de55ef4e287d0296eaf33017c76..8546a236d4521f34be068999e068521c12b901c8 100644 (file)
@@ -870,10 +870,9 @@ static const struct dvb_frontend_ops si21xx_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "SL SI21XX DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 125,   /* kHz for QPSK frontends */
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =  125 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,  /* ppm */
index 1d57a20093fc1157505aa90c8959c2852b31021b..8d31cf3f4f0788c080c55d19d9347e6d17614cbf 100644 (file)
@@ -584,9 +584,9 @@ static const struct dvb_frontend_ops sp8870_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Spase SP8870 DVB-T",
-               .frequency_min          = 470000000,
-               .frequency_max          = 860000000,
-               .frequency_stepsize     = 166666,
+               .frequency_min_hz       = 470 * MHz,
+               .frequency_max_hz       = 860 * MHz,
+               .frequency_stepsize_hz  = 166666,
                .caps                   = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 |
                                          FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 |
                                          FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 57a0d0ae2b48f16429c042b45c34c1a8b78a932e..c02f50995df4da86cf4b0e97e34776fe5bdca349 100644 (file)
@@ -594,9 +594,9 @@ static const struct dvb_frontend_ops sp887x_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Spase SP887x DVB-T",
-               .frequency_min =  50500000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 166666,
+               .frequency_min_hz =  50500 * kHz,
+               .frequency_max_hz = 858000 * kHz,
+               .frequency_stepsize_hz = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 |
index 3c654ae16e787997128d7c5f16d50dfd16dd070f..874e9c9125d62fbeef438112d68a5b343b3c1634 100644 (file)
@@ -1584,10 +1584,8 @@ static const struct dvb_frontend_ops stb0899_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STB0899 Multistandard",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 0,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
                .symbol_rate_min        =  5000000,
                .symbol_rate_max        = 45000000,
 
index f947ed947aaed454a7ae055ee779a99de2961037..c9a9fa4e2c1b2551fa1132841ad94edb1379f369 100644 (file)
@@ -533,10 +533,9 @@ static const struct dvb_frontend_ops stv0288_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "ST STV0288 DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 1000,  /* kHz for QPSK frontends */
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =    1 * MHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,  /* ppm */
index b823c04e24d3aca04eaddb8afebd9ecb8cb3dd97..9a9915f7148353de94821f007799d41155c8373d 100644 (file)
@@ -694,9 +694,9 @@ static const struct dvb_frontend_ops stv0297_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                 .name = "ST STV0297 DVB-C",
-                .frequency_min = 47000000,
-                .frequency_max = 862000000,
-                .frequency_stepsize = 62500,
+                .frequency_min_hz = 470 * MHz,
+                .frequency_max_hz = 862 * MHz,
+                .frequency_stepsize_hz = 62500,
                 .symbol_rate_min = 870000,
                 .symbol_rate_max = 11700000,
                 .caps = FE_CAN_QAM_16 | FE_CAN_QAM_32 | FE_CAN_QAM_64 |
index 633b90e6fe8610e4e17227957dac2b085d211132..4f466394a16c07ad68d906cb1ab8ee938f3f3aeb 100644 (file)
@@ -717,10 +717,9 @@ static const struct dvb_frontend_ops stv0299_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "ST STV0299 DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 125,   /* kHz for QPSK frontends */
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =  125 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,  /* ppm */
index 5435c908e298ce027d16d453a43f4be7b535fe39..5b91e740e13581b05c08fc092da920f5043e3022 100644 (file)
@@ -1693,10 +1693,9 @@ static const struct dvb_frontend_ops stv0367ter_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "ST STV0367 DVB-T",
-               .frequency_min          = 47000000,
-               .frequency_max          = 862000000,
-               .frequency_stepsize     = 15625,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  47 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 15625,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 |
                        FE_CAN_FEC_AUTO |
@@ -2867,9 +2866,9 @@ static const struct dvb_frontend_ops stv0367cab_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "ST STV0367 DVB-C",
-               .frequency_min = 47000000,
-               .frequency_max = 862000000,
-               .frequency_stepsize = 62500,
+               .frequency_min_hz =  47 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min = 870000,
                .symbol_rate_max = 11700000,
                .caps = 0x400 |/* FE_CAN_QAM_4 */
@@ -3273,10 +3272,9 @@ static const struct dvb_frontend_ops stv0367ddb_ops = {
        .delsys = { SYS_DVBC_ANNEX_A, SYS_DVBT },
        .info = {
                .name                   = "ST STV0367 DDB DVB-C/T",
-               .frequency_min          = 47000000,
-               .frequency_max          = 865000000,
-               .frequency_stepsize     = 166667,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  47 * MHz,
+               .frequency_max_hz       = 865 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .symbol_rate_min        = 870000,
                .symbol_rate_max        = 11700000,
                .caps = /* DVB-C */
index 72f17b97ca04c30d0e25ea3af8801a9f61eb4b22..254618a06140a2abcaf2c21298fb55ee3e6a122b 100644 (file)
@@ -1875,10 +1875,9 @@ static const struct dvb_frontend_ops stv0900_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STV0900 frontend",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 125,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =  125 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .symbol_rate_tolerance  = 500,
index 9133f65d4623bc34c5558a6f6855013aa501c244..a0622bb718032f5b0da0223c7e8960f5b2053f96 100644 (file)
@@ -4905,10 +4905,8 @@ static const struct dvb_frontend_ops stv090x_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STV090x Multistandard",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 0,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
                .caps                   = FE_CAN_INVERSION_AUTO |
index 91b21eb595318e0cd5c10ec6f78cb1ad48d6b119..4c86073f1a8d2921cd6d78a3e4697844eee385bb 100644 (file)
@@ -1724,10 +1724,8 @@ static const struct dvb_frontend_ops stv0910_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "ST STV0910",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 0,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
                .symbol_rate_min        = 100000,
                .symbol_rate_max        = 70000000,
                .caps                   = FE_CAN_INVERSION_AUTO |
index 7abf6b0916edc86b3588f3e8a1aa61f39e9d923c..2ad81a438d6a509fd65fe50579dd051d40764fad 100644 (file)
@@ -714,8 +714,8 @@ static const struct dvb_frontend_ops tc90522_ops_sat = {
        .delsys = { SYS_ISDBS },
        .info = {
                .name = "Toshiba TC90522 ISDB-S module",
-               .frequency_min =  950000,
-               .frequency_max = 2150000,
+               .frequency_min_hz =  950 * MHz,
+               .frequency_max_hz = 2150 * MHz,
                .caps = FE_CAN_INVERSION_AUTO | FE_CAN_FEC_AUTO |
                        FE_CAN_QAM_AUTO | FE_CAN_TRANSMISSION_MODE_AUTO |
                        FE_CAN_GUARD_INTERVAL_AUTO | FE_CAN_HIERARCHY_AUTO,
@@ -734,9 +734,9 @@ static const struct dvb_frontend_ops tc90522_ops_ter = {
        .delsys = { SYS_ISDBT },
        .info = {
                .name = "Toshiba TC90522 ISDB-T module",
-               .frequency_min = 470000000,
-               .frequency_max = 770000000,
-               .frequency_stepsize = 142857,
+               .frequency_min_hz = 470 * MHz,
+               .frequency_max_hz = 770 * MHz,
+               .frequency_stepsize_hz = 142857,
                .caps = FE_CAN_INVERSION_AUTO |
                        FE_CAN_FEC_1_2  | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6  | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 4f588ebde39d17d58e1867a9e91cbc07ffdd7322..5cd885d4ea04f2243f48e86a3344832245dba872 100644 (file)
@@ -487,11 +487,11 @@ static const struct dvb_frontend_ops tda10021_ops = {
        .delsys = { SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_C },
        .info = {
                .name = "Philips TDA10021 DVB-C",
-               .frequency_stepsize = 62500,
-               .frequency_min = 47000000,
-               .frequency_max = 862000000,
-               .symbol_rate_min = (XIN/2)/64,     /* SACLK/64 == (XIN/2)/64 */
-               .symbol_rate_max = (XIN/2)/4,      /* SACLK/4 */
+               .frequency_min_hz =  47 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 62500,
+               .symbol_rate_min = (XIN / 2) / 64,     /* SACLK/64 == (XIN/2)/64 */
+               .symbol_rate_max = (XIN / 2) / 4,      /* SACLK/4 */
        #if 0
                .frequency_tolerance = ???,
                .symbol_rate_tolerance = ???,  /* ppm */  /* == 8% (spec p. 5) */
index 6c84916234e3f9c1f2ee98901caf78652ebac00f..0a9a54563ebefb694575d4d45f69d47fd83765cd 100644 (file)
@@ -575,9 +575,9 @@ static const struct dvb_frontend_ops tda10023_ops = {
        .delsys = { SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_C },
        .info = {
                .name = "Philips TDA10023 DVB-C",
-               .frequency_stepsize = 62500,
-               .frequency_min =  47000000,
-               .frequency_max = 862000000,
+               .frequency_min_hz =  47 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min = 0,  /* set in tda10023_attach */
                .symbol_rate_max = 0,  /* set in tda10023_attach */
                .caps = 0x400 | //FE_CAN_QAM_4
index de82a2558e15255d43072e4bda5078e22c65fcb0..c01d60a88af295d72cbd44f094311e465b76e000 100644 (file)
@@ -1156,9 +1156,9 @@ static const struct dvb_frontend_ops tda10048_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "NXP TDA10048HN DVB-T",
-               .frequency_min          = 177000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 166666,
+               .frequency_min_hz       = 177 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO |
index 7dcfb4a4b2d0258b81f4223b7b91be74b4c1d7a6..d402e4b722ca01d526f471444e4ad5c194316184 100644 (file)
@@ -1249,9 +1249,9 @@ static const struct dvb_frontend_ops tda10045_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Philips TDA10045H DVB-T",
-               .frequency_min = 51000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 166667,
+               .frequency_min_hz =  51 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 166667,
                .caps =
                    FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                    FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
@@ -1319,9 +1319,9 @@ static const struct dvb_frontend_ops tda10046_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Philips TDA10046H DVB-T",
-               .frequency_min = 51000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 166667,
+               .frequency_min_hz =  51 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 166667,
                .caps =
                    FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                    FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 1ed67c08e6991372139285946702e30faf657dae..097c42d3f8c2661c72e909580419c8ef4a8648a1 100644 (file)
@@ -681,8 +681,8 @@ static int tda10071_set_frontend(struct dvb_frontend *fe)
        cmd.args[5] = (c->frequency >>  0) & 0xff;
        cmd.args[6] = ((c->symbol_rate / 1000) >> 8) & 0xff;
        cmd.args[7] = ((c->symbol_rate / 1000) >> 0) & 0xff;
-       cmd.args[8] = (tda10071_ops.info.frequency_tolerance >> 8) & 0xff;
-       cmd.args[9] = (tda10071_ops.info.frequency_tolerance >> 0) & 0xff;
+       cmd.args[8] = ((tda10071_ops.info.frequency_tolerance_hz / 1000) >> 8) & 0xff;
+       cmd.args[9] = ((tda10071_ops.info.frequency_tolerance_hz / 1000) >> 0) & 0xff;
        cmd.args[10] = rolloff;
        cmd.args[11] = inversion;
        cmd.args[12] = pilot;
@@ -1106,9 +1106,9 @@ static const struct dvb_frontend_ops tda10071_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "NXP TDA10071",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_tolerance = 5000,
+               .frequency_min_hz    =  950 * MHz,
+               .frequency_max_hz    = 2150 * MHz,
+               .frequency_tolerance_hz = 5 * MHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index 1a95c521e97f233b10024f1c4d1fcef9f70bf025..8323e4e53d661b86bef6ec0052eb4e67c376f513 100644 (file)
@@ -710,9 +710,9 @@ static const struct dvb_frontend_ops tda10086_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name     = "Philips TDA10086 DVB-S",
-               .frequency_min    = 950000,
-               .frequency_max    = 2150000,
-               .frequency_stepsize = 125,     /* kHz for QPSK frontends */
+               .frequency_min_hz      =  950 * MHz,
+               .frequency_max_hz      = 2150 * MHz,
+               .frequency_stepsize_hz =  125 * kHz,
                .symbol_rate_min  = 1000000,
                .symbol_rate_max  = 45000000,
                .caps = FE_CAN_INVERSION_AUTO |
index 29b4f64c030c6f20ffbe5c0534cc36967cbbcc06..53b26060db7e2d291f6c13fff26d736f0fcf4191 100644 (file)
@@ -453,10 +453,9 @@ static const struct dvb_frontend_ops tda8083_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Philips TDA8083 DVB-S",
-               .frequency_min          = 920000,     /* TDA8060 */
-               .frequency_max          = 2200000,    /* TDA8060 */
-               .frequency_stepsize     = 125,   /* kHz for QPSK frontends */
-       /*      .frequency_tolerance    = ???,*/
+               .frequency_min_hz       =  920 * MHz,     /* TDA8060 */
+               .frequency_max_hz       = 2200 * MHz,    /* TDA8060 */
+               .frequency_stepsize_hz  =  125 * kHz,
                .symbol_rate_min        = 12000000,
                .symbol_rate_max        = 30000000,
        /*      .symbol_rate_tolerance  = ???,*/
index 17600989f1213076c3cba75c5a2687f885be9c05..eb1249d81310a8139a9ca200e2b0bf42bee18c74 100644 (file)
@@ -412,9 +412,9 @@ static const struct dvb_frontend_ops ves1820_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "VLSI VES1820 DVB-C",
-               .frequency_stepsize = 62500,
-               .frequency_min = 47000000,
-               .frequency_max = 862000000,
+               .frequency_min_hz =  47 * MHz,
+               .frequency_max_hz = 862 * MHz,
+               .frequency_stepsize_hz = 62500,
                .caps = FE_CAN_QAM_16 |
                        FE_CAN_QAM_32 |
                        FE_CAN_QAM_64 |
index 0c7b3286b04dd1f7c27789c0ea4496b91b4c950e..ddc5bfd84cd58c3186b11b33e4e0e1ae25f96338 100644 (file)
@@ -516,10 +516,10 @@ static const struct dvb_frontend_ops ves1x93_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "VLSI VES1x93 DVB-S",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 125,           /* kHz for QPSK frontends */
-               .frequency_tolerance    = 29500,
+               .frequency_min_hz       =   950 * MHz,
+               .frequency_max_hz       =  2150 * MHz,
+               .frequency_stepsize_hz  =   125 * kHz,
+               .frequency_tolerance_hz = 29500 * kHz,
                .symbol_rate_min        = 1000000,
                .symbol_rate_max        = 45000000,
        /*      .symbol_rate_tolerance  =       ???,*/
index e5a432fd84c322314df9655465d99c70edb357c4..f1c92338015d1dde90b272f217fdd3e53c205cfa 100644 (file)
@@ -311,8 +311,8 @@ static int zl10036_set_params(struct dvb_frontend *fe)
 
        /* ensure correct values
         * maybe redundant as core already checks this */
-       if ((frequency < fe->ops.info.frequency_min)
-       ||  (frequency > fe->ops.info.frequency_max))
+       if ((frequency < fe->ops.info.frequency_min_hz / kHz)
+       ||  (frequency > fe->ops.info.frequency_max_hz / kHz))
                return -EINVAL;
 
        /*
index c9901f45deb70c5fbb9fed10b12c52c7535a49ef..42e63a3fa121c05e55dc9d36190b32fc6e51d8ff 100644 (file)
@@ -635,10 +635,9 @@ static const struct dvb_frontend_ops zl10353_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Zarlink ZL10353 DVB-T",
-               .frequency_min          = 174000000,
-               .frequency_max          = 862000000,
-               .frequency_stepsize     = 166667,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       = 174 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 |
                        FE_CAN_FEC_3_4 | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 |
                        FE_CAN_FEC_AUTO |
index a2ef4ede8ebed061dd2b8396b5eb08f96b9abde7..69087ae6c1d00d347cdfc2e05c518845e7b434d5 100644 (file)
@@ -152,7 +152,7 @@ static int fdtv_set_frontend(struct dvb_frontend *fe)
 void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
 {
        struct dvb_frontend_ops *ops = &fdtv->fe.ops;
-       struct dvb_frontend_info *fi = &ops->info;
+       struct dvb_frontend_internal_info *fi = &ops->info;
 
        ops->init                       = fdtv_dvb_init;
        ops->sleep                      = fdtv_sleep;
@@ -174,9 +174,9 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
        case FIREDTV_DVB_S:
                ops->delsys[0]          = SYS_DVBS;
 
-               fi->frequency_min       = 950000;
-               fi->frequency_max       = 2150000;
-               fi->frequency_stepsize  = 125;
+               fi->frequency_min_hz    =   950 * MHz;
+               fi->frequency_max_hz    =  2150 * MHz;
+               fi->frequency_stepsize_hz = 125 * kHz;
                fi->symbol_rate_min     = 1000000;
                fi->symbol_rate_max     = 40000000;
 
@@ -194,9 +194,9 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
                ops->delsys[0]          = SYS_DVBS;
                ops->delsys[1]          = SYS_DVBS2;
 
-               fi->frequency_min       = 950000;
-               fi->frequency_max       = 2150000;
-               fi->frequency_stepsize  = 125;
+               fi->frequency_min_hz    =   950 * MHz;
+               fi->frequency_max_hz    =  2150 * MHz;
+               fi->frequency_stepsize_hz = 125 * kHz;
                fi->symbol_rate_min     = 1000000;
                fi->symbol_rate_max     = 40000000;
 
@@ -214,9 +214,9 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
        case FIREDTV_DVB_C:
                ops->delsys[0]          = SYS_DVBC_ANNEX_A;
 
-               fi->frequency_min       = 47000000;
-               fi->frequency_max       = 866000000;
-               fi->frequency_stepsize  = 62500;
+               fi->frequency_min_hz    =      47 * MHz;
+               fi->frequency_max_hz    =     866 * MHz;
+               fi->frequency_stepsize_hz = 62500;
                fi->symbol_rate_min     = 870000;
                fi->symbol_rate_max     = 6900000;
 
@@ -232,9 +232,9 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
        case FIREDTV_DVB_T:
                ops->delsys[0]          = SYS_DVBT;
 
-               fi->frequency_min       = 49000000;
-               fi->frequency_max       = 861000000;
-               fi->frequency_stepsize  = 62500;
+               fi->frequency_min_hz    =  49 * MHz;
+               fi->frequency_max_hz    = 861 * MHz;
+               fi->frequency_stepsize_hz = 62500;
 
                fi->caps                = FE_CAN_INVERSION_AUTO         |
                                          FE_CAN_FEC_2_3                |
index 2e33b723667239cd27c4e5f9d3cbb2ba44cd6af4..b98de2a22f78abfb9adeb5972c4bd8b6b6a48afd 100644 (file)
@@ -1739,9 +1739,9 @@ static const struct dvb_frontend_ops dst_dvbt_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DST DVB-T",
-               .frequency_min = 137000000,
-               .frequency_max = 858000000,
-               .frequency_stepsize = 166667,
+               .frequency_min_hz = 137 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 166667,
                .caps = FE_CAN_FEC_AUTO                 |
                        FE_CAN_QAM_AUTO                 |
                        FE_CAN_QAM_16                   |
@@ -1768,10 +1768,10 @@ static const struct dvb_frontend_ops dst_dvbs_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "DST DVB-S",
-               .frequency_min = 950000,
-               .frequency_max = 2150000,
-               .frequency_stepsize = 1000,     /* kHz for QPSK frontends */
-               .frequency_tolerance = 29500,
+               .frequency_min_hz   =  950 * MHz,
+               .frequency_max_hz   = 2150 * MHz,
+               .frequency_stepsize_hz = 1 * MHz,
+               .frequency_tolerance_hz = 29500 * kHz,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
        /*     . symbol_rate_tolerance  =       ???,*/
@@ -1797,9 +1797,9 @@ static const struct dvb_frontend_ops dst_dvbc_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "DST DVB-C",
-               .frequency_stepsize = 62500,
-               .frequency_min = 51000000,
-               .frequency_max = 858000000,
+               .frequency_min_hz =  51 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_FEC_AUTO |
@@ -1826,9 +1826,9 @@ static const struct dvb_frontend_ops dst_atsc_ops = {
        .delsys = { SYS_ATSC },
        .info = {
                .name = "DST ATSC",
-               .frequency_stepsize = 62500,
-               .frequency_min = 510000000,
-               .frequency_max = 858000000,
+               .frequency_min_hz = 510 * MHz,
+               .frequency_max_hz = 858 * MHz,
+               .frequency_stepsize_hz = 62500,
                .symbol_rate_min = 1000000,
                .symbol_rate_max = 45000000,
                .caps = FE_CAN_FEC_AUTO | FE_CAN_QAM_AUTO | FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_8VSB
index 6b2a9e6eb6a83653b2328037df757f40a725d24f..2f810b7130e6cec0c961a1e47cabb5cbac31a34f 100644 (file)
@@ -602,8 +602,8 @@ static void frontend_init(struct dvb_bt8xx_card *card, u32 type)
 
                if (card->fe != NULL) {
                        card->fe->ops.tuner_ops.calc_regs = thomson_dtt7579_tuner_calc_regs;
-                       card->fe->ops.info.frequency_min = 174000000;
-                       card->fe->ops.info.frequency_max = 862000000;
+                       card->fe->ops.info.frequency_min_hz = 174 * MHz;
+                       card->fe->ops.info.frequency_max_hz = 862 * MHz;
                }
                break;
 
@@ -655,8 +655,8 @@ static void frontend_init(struct dvb_bt8xx_card *card, u32 type)
                card->fe = dvb_attach(mt352_attach, &advbt771_samsung_tdtc9251dh0_config, card->i2c_adapter);
                if (card->fe != NULL) {
                        card->fe->ops.tuner_ops.calc_regs = advbt771_samsung_tdtc9251dh0_tuner_calc_regs;
-                       card->fe->ops.info.frequency_min = 174000000;
-                       card->fe->ops.info.frequency_max = 862000000;
+                       card->fe->ops.info.frequency_min_hz = 174 * MHz;
+                       card->fe->ops.info.frequency_max_hz = 862 * MHz;
                }
                break;
 
index 4418604258d1e5fb14b062d6743e4b3792977c38..64f05f5ee039f6fa5d9b9f606cff1df12155e73a 100644 (file)
@@ -454,10 +454,8 @@ static struct dvb_frontend_ops sx8_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name                   = "Digital Devices MaxSX8 MCI DVB-S/S2/S2X",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 0,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
                .symbol_rate_min        = 100000,
                .symbol_rate_max        = 100000000,
                .caps                   = FE_CAN_INVERSION_AUTO |
index 14f6e153000c3b0b30b01fce2f006abddbd44267..9797c9fd82599e8a34feca95bf27d4369670a8da 100644 (file)
@@ -42,8 +42,8 @@ static struct zl10353_config mantis_vp3030_config = {
 static struct tda665x_config env57h12d5_config = {
        .name                   = "ENV57H12D5 (ET-50DT)",
        .addr                   = 0x60,
-       .frequency_min          =  47000000,
-       .frequency_max          = 862000000,
+       .frequency_min          =  47 * MHz,
+       .frequency_max          = 862 * MHz,
        .frequency_offst        =   3616667,
        .ref_multiplier         = 6, /* 1/6 MHz */
        .ref_divider            = 100000, /* 1/6 MHz */
index 4081fd97c3b2cad0b71e0bd53d87c6ad8b2805c6..54d9226aaff71dbc6863cbcc4ffe52101239313c 100644 (file)
@@ -59,8 +59,6 @@ MODULE_PARM_DESC(debug, "set debug level");
 
 /* ------------------------------------------------------------------------- */
 
-#define MHz 1000000
-
 enum mxl5007t_mode {
        MxL_MODE_ISDBT     =    0,
        MxL_MODE_DVBT      =    1,
index 221cf46b4140a336f6848bcda9bd595bd8e1ab90..9f74453799a2d1e600d2d0553d0abaa6ff1b2bb1 100644 (file)
@@ -554,9 +554,9 @@ static const struct dvb_frontend_ops mxl111sf_demod_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name               = "MaxLinear MxL111SF DVB-T demodulator",
-               .frequency_min      = 177000000,
-               .frequency_max      = 858000000,
-               .frequency_stepsize = 166666,
+               .frequency_min_hz      = 177 * MHz,
+               .frequency_max_hz      = 858 * MHz,
+               .frequency_stepsize_hz = 166666,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 |
index 7fbbc954da16564fff762dfe992d8d6dc381bfc7..09cc3a21af651f1fb336dd93ed2804462f222cbd 100644 (file)
@@ -1455,9 +1455,9 @@ static const struct dvb_frontend_ops af9005_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "AF9005 USB DVB-T",
-                .frequency_min = 44250000,
-                .frequency_max = 867250000,
-                .frequency_stepsize = 250000,
+                .frequency_min_hz =    44250 * kHz,
+                .frequency_max_hz =   867250 * kHz,
+                .frequency_stepsize_hz = 250 * kHz,
                 .caps = FE_CAN_INVERSION_AUTO |
                 FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                 FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 5a2f81311fb7767926f160b8ed3d167455ae52f6..df71df7ed524142f6a65eea93937975e59320422 100644 (file)
@@ -295,9 +295,9 @@ static const struct dvb_frontend_ops cinergyt2_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = DRIVER_NAME,
-               .frequency_min          = 174000000,
-               .frequency_max          = 862000000,
-               .frequency_stepsize     = 166667,
+               .frequency_min_hz       = 174 * MHz,
+               .frequency_max_hz       = 862 * MHz,
+               .frequency_stepsize_hz  = 166667,
                .caps = FE_CAN_INVERSION_AUTO | FE_CAN_FEC_1_2
                        | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4
                        | FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8
index 7e75aae34fb8f351ddfb2ae92820dc0bb68fcc8b..1ca3a51b2ae393c8aee5fb9119570e00dd2227c4 100644 (file)
@@ -230,9 +230,9 @@ static const struct dvb_frontend_ops dtt200u_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "WideView USB DVB-T",
-               .frequency_min          = 44250000,
-               .frequency_max          = 867250000,
-               .frequency_stepsize     = 250000,
+               .frequency_min_hz       =  44250 * kHz,
+               .frequency_max_hz       = 867250 * kHz,
+               .frequency_stepsize_hz  =    250 * kHz,
                .caps = FE_CAN_INVERSION_AUTO |
                                FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                                FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 932f262452ebeedbc7d3abc8c40c9a440b2248a8..e6bd0ed8d789e93201941eb3c393ed2e788449b8 100644 (file)
@@ -133,10 +133,10 @@ static int jdvbt90502_pll_set_freq(struct jdvbt90502_state *state, u32 freq)
        u32 f;
 
        deb_fe("%s: freq=%d, step=%d\n", __func__, freq,
-              state->frontend.ops.info.frequency_stepsize);
+              state->frontend.ops.info.frequency_stepsize_hz);
        /* freq -> oscilator frequency conversion. */
        /* freq: 473,000,000 + n*6,000,000 [+ 142857 (center freq. shift)] */
-       f = freq / state->frontend.ops.info.frequency_stepsize;
+       f = freq / state->frontend.ops.info.frequency_stepsize_hz;
        /* add 399[1/7 MHZ] = 57MHz for the IF  */
        f += 399;
        /* add center frequency shift if necessary */
@@ -413,10 +413,9 @@ static const struct dvb_frontend_ops jdvbt90502_ops = {
        .delsys = { SYS_ISDBT },
        .info = {
                .name                   = "Comtech JDVBT90502 ISDB-T",
-               .frequency_min          = 473000000, /* UHF 13ch, center */
-               .frequency_max          = 767142857, /* UHF 62ch, center */
-               .frequency_stepsize     = JDVBT90502_PLL_CLK / JDVBT90502_PLL_DIVIDER,
-               .frequency_tolerance    = 0,
+               .frequency_min_hz       = 473000000, /* UHF 13ch, center */
+               .frequency_max_hz       = 767142857, /* UHF 62ch, center */
+               .frequency_stepsize_hz  = JDVBT90502_PLL_CLK / JDVBT90502_PLL_DIVIDER,
 
                /* NOTE: this driver ignores all parameters but frequency. */
                .caps = FE_CAN_INVERSION_AUTO |
index ae48146e005ca27c8412dd2d5cdc577460b39ed4..9eb811452f2ef2f6ae96f1caaf5cdd555f522d34 100644 (file)
@@ -349,10 +349,9 @@ static const struct dvb_frontend_ops vp702x_fe_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name           = "Twinhan DST-like frontend (VP7021/VP7020) DVB-S",
-               .frequency_min       = 950000,
-               .frequency_max       = 2150000,
-               .frequency_stepsize  = 1000,   /* kHz for QPSK frontends */
-               .frequency_tolerance = 0,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =    1 * MHz,
                .symbol_rate_min     = 1000000,
                .symbol_rate_max     = 45000000,
                .symbol_rate_tolerance = 500,  /* ppm */
index f86040173b8de8b5c7f68fedf1a223660a0e9819..1173ae29885ba8f4a7801169c26b618032a6c1cd 100644 (file)
@@ -162,9 +162,9 @@ static const struct dvb_frontend_ops vp7045_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Twinhan VP7045/46 USB DVB-T",
-               .frequency_min          = 44250000,
-               .frequency_max          = 867250000,
-               .frequency_stepsize     = 1000,
+               .frequency_min_hz       =  44250 * kHz,
+               .frequency_max_hz       = 867250 * kHz,
+               .frequency_stepsize_hz  =      1 * kHz,
                .caps = FE_CAN_INVERSION_AUTO |
                                FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                                FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
index 6ea05d909024961be776bff0face6ecaf0ba4fce..278bf6c5855b7ba066c909c7dcce1fea32ff999e 100644 (file)
@@ -247,9 +247,9 @@ static const struct dvb_frontend_ops ttusbdecfe_dvbt_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "TechnoTrend/Hauppauge DEC2000-t Frontend",
-               .frequency_min          = 51000000,
-               .frequency_max          = 858000000,
-               .frequency_stepsize     = 62500,
+               .frequency_min_hz       =  51 * MHz,
+               .frequency_max_hz       = 858 * MHz,
+               .frequency_stepsize_hz  = 62500,
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
                        FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
                        FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_QAM_AUTO |
@@ -270,9 +270,9 @@ static const struct dvb_frontend_ops ttusbdecfe_dvbs_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "TechnoTrend/Hauppauge DEC3000-s Frontend",
-               .frequency_min          = 950000,
-               .frequency_max          = 2150000,
-               .frequency_stepsize     = 125,
+               .frequency_min_hz       =  950 * MHz,
+               .frequency_max_hz       = 2150 * MHz,
+               .frequency_stepsize_hz  =  125 * kHz,
                .symbol_rate_min        = 1000000,  /* guessed */
                .symbol_rate_max        = 45000000, /* guessed */
                .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
index aebaec2dc725cc0820940e7510ab76aee6f92b21..6f7a85ab3541fbd7900a66db8493937dd42370ab 100644 (file)
@@ -317,6 +317,34 @@ struct analog_demod_ops {
 
 struct dtv_frontend_properties;
 
+/**
+ * struct dvb_frontend_internal_info - Frontend properties and capabilities
+ *
+ * @name:                      Name of the frontend
+ * @frequency_min_hz:          Minimal frequency supported by the frontend.
+ * @frequency_max_hz:          Minimal frequency supported by the frontend.
+ * @frequency_stepsize_hz:     All frequencies are multiple of this value.
+ * @frequency_tolerance_hz:    Frequency tolerance.
+ * @symbol_rate_min:           Minimal symbol rate, in bauds
+ *                             (for Cable/Satellite systems).
+ * @symbol_rate_max:           Maximal symbol rate, in bauds
+ *                             (for Cable/Satellite systems).
+ * @symbol_rate_tolerance:     Maximal symbol rate tolerance, in ppm
+ *                             (for Cable/Satellite systems).
+ * @caps:                      Capabilities supported by the frontend,
+ *                             as specified in &enum fe_caps.
+ */
+struct dvb_frontend_internal_info {
+       char    name[128];
+       u32     frequency_min_hz;
+       u32     frequency_max_hz;
+       u32     frequency_stepsize_hz;
+       u32     frequency_tolerance_hz;
+       u32     symbol_rate_min;
+       u32     symbol_rate_max;
+       u32     symbol_rate_tolerance;
+       enum fe_caps caps;
+};
 
 /**
  * struct dvb_frontend_ops - Demodulation information and callbacks for
@@ -404,7 +432,7 @@ struct dtv_frontend_properties;
  * @analog_ops:                pointer to &struct analog_demod_ops
  */
 struct dvb_frontend_ops {
-       struct dvb_frontend_info info;
+       struct dvb_frontend_internal_info info;
 
        u8 delsys[MAX_DELSYS];