[media] dvb: make DVB frontend *_ops instances "const"
authorMax Kellermann <max.kellermann@gmail.com>
Tue, 9 Aug 2016 21:32:21 +0000 (18:32 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 18 Nov 2016 17:00:22 +0000 (15:00 -0200)
These are immutable.  Making them "const" allows the compiler to move
them to the "rodata" section.

Note that cxd2841er_t_c_ops cannot be made "const", because
cxd2841er_attach() modifies it.  Ouch!

[mchehab@s-opensource.com: fix merge conflicts]
Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
86 files changed:
drivers/media/common/siano/smsdvb-main.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/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/cxd2841er.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/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/ec100.c
drivers/media/dvb-frontends/gp8psk-fe.c
drivers/media/dvb-frontends/hd29l2.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/mn88472.c
drivers/media/dvb-frontends/mt312.c
drivers/media/dvb-frontends/mt352.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/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/zl10353.c
drivers/media/pci/bt8xx/dst.c
drivers/media/pci/pt1/va1j5jf8007s.c
drivers/media/pci/pt1/va1j5jf8007t.c
drivers/media/tuners/tda8290.c
drivers/media/tuners/tda9887.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

index 9148e14..affde14 100644 (file)
@@ -1044,7 +1044,7 @@ static void smsdvb_release(struct dvb_frontend *fe)
        /* do nothing */
 }
 
-static struct dvb_frontend_ops smsdvb_fe_ops = {
+static const struct dvb_frontend_ops smsdvb_fe_ops = {
        .info = {
                .name                   = "Siano Mobile Digital MDTV Receiver",
                .frequency_min          = 44250000,
index 8bcde33..c6cb3bb 100644 (file)
@@ -1351,7 +1351,7 @@ static void af9013_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops af9013_ops;
+static const struct dvb_frontend_ops af9013_ops;
 
 static int af9013_download_firmware(struct af9013_state *state)
 {
@@ -1516,7 +1516,7 @@ err:
 }
 EXPORT_SYMBOL(af9013_attach);
 
-static struct dvb_frontend_ops af9013_ops = {
+static const struct dvb_frontend_ops af9013_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Afatech AF9013",
index 9a8157a..f881802 100644 (file)
@@ -1198,7 +1198,7 @@ err:
        return ret;
 }
 
-static struct dvb_frontend_ops af9033_ops = {
+static const struct dvb_frontend_ops af9033_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Afatech AF9033 (DVB-T)",
index 9412fcd..98d575f 100644 (file)
@@ -415,7 +415,7 @@ static void as102_fe_release(struct dvb_frontend *fe)
 }
 
 
-static struct dvb_frontend_ops as102_fe_ops = {
+static const struct dvb_frontend_ops as102_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Abilis AS102 DVB-T",
index 47248b8..07ce055 100644 (file)
@@ -428,7 +428,7 @@ static int atbm8830_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
        return atbm8830_write_reg(priv, REG_I2C_GATE, enable ? 1 : 0);
 }
 
-static struct dvb_frontend_ops atbm8830_ops = {
+static const struct dvb_frontend_ops atbm8830_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name = "AltoBeam ATBM8830/8831 DMB-TH",
index e676b94..7ed326e 100644 (file)
@@ -834,7 +834,7 @@ static int au8522_get_tune_settings(struct dvb_frontend *fe,
        return 0;
 }
 
-static struct dvb_frontend_ops au8522_ops;
+static const struct dvb_frontend_ops au8522_ops;
 
 
 static void au8522_release(struct dvb_frontend *fe)
@@ -894,7 +894,7 @@ error:
 }
 EXPORT_SYMBOL(au8522_attach);
 
-static struct dvb_frontend_ops au8522_ops = {
+static const struct dvb_frontend_ops au8522_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Auvitek AU8522 QAM/8VSB Frontend",
index bb69883..617c5e2 100644 (file)
@@ -788,7 +788,7 @@ static int bcm3510_init(struct dvb_frontend* fe)
 }
 
 
-static struct dvb_frontend_ops bcm3510_ops;
+static const struct dvb_frontend_ops bcm3510_ops;
 
 struct dvb_frontend* bcm3510_attach(const struct bcm3510_config *config,
                                   struct i2c_adapter *i2c)
@@ -834,7 +834,7 @@ error:
 }
 EXPORT_SYMBOL(bcm3510_attach);
 
-static struct dvb_frontend_ops bcm3510_ops = {
+static const struct dvb_frontend_ops bcm3510_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "Broadcom BCM3510 VSB/QAM frontend",
index 5cad925..2b629e2 100644 (file)
@@ -380,7 +380,7 @@ static void cx22700_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops cx22700_ops;
+static const struct dvb_frontend_ops cx22700_ops;
 
 struct dvb_frontend* cx22700_attach(const struct cx22700_config* config,
                                    struct i2c_adapter* i2c)
@@ -408,7 +408,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops cx22700_ops = {
+static const struct dvb_frontend_ops cx22700_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Conexant CX22700 DVB-T",
index 92a08c7..cf1bc99 100644 (file)
@@ -592,7 +592,7 @@ static void cx24110_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops cx24110_ops;
+static const struct dvb_frontend_ops cx24110_ops;
 
 struct dvb_frontend* cx24110_attach(const struct cx24110_config* config,
                                    struct i2c_adapter* i2c)
@@ -625,7 +625,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops cx24110_ops = {
+static const struct dvb_frontend_ops cx24110_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Conexant CX24110 DVB-S",
index ae5a7f9..e105532 100644 (file)
@@ -1116,7 +1116,7 @@ static void cx24116_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops cx24116_ops;
+static const struct dvb_frontend_ops cx24116_ops;
 
 struct dvb_frontend *cx24116_attach(const struct cx24116_config *config,
        struct i2c_adapter *i2c)
@@ -1467,7 +1467,7 @@ static int cx24116_get_algo(struct dvb_frontend *fe)
        return DVBFE_ALGO_HW;
 }
 
-static struct dvb_frontend_ops cx24116_ops = {
+static const struct dvb_frontend_ops cx24116_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24116/CX24118",
index bc3cd69..d37cb77 100644 (file)
@@ -1164,7 +1164,7 @@ static void cx24117_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops cx24117_ops;
+static const struct dvb_frontend_ops cx24117_ops;
 
 struct dvb_frontend *cx24117_attach(const struct cx24117_config *config,
        struct i2c_adapter *i2c)
@@ -1618,7 +1618,7 @@ static int cx24117_get_frontend(struct dvb_frontend *fe,
        return 0;
 }
 
-static struct dvb_frontend_ops cx24117_ops = {
+static const struct dvb_frontend_ops cx24117_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24117/CX24132",
index 3112a32..7f11dcc 100644 (file)
@@ -267,7 +267,7 @@ out:
        return ret;
 }
 
-static struct dvb_frontend_ops cx24120_ops;
+static const struct dvb_frontend_ops cx24120_ops;
 
 struct dvb_frontend *cx24120_attach(const struct cx24120_config *config,
                                    struct i2c_adapter *i2c)
@@ -1551,7 +1551,7 @@ static int cx24120_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)
        return 0;
 }
 
-static struct dvb_frontend_ops cx24120_ops = {
+static const struct dvb_frontend_ops cx24120_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Conexant CX24120/CX24118",
index b1287de..8aed8cc 100644 (file)
@@ -1049,7 +1049,7 @@ struct i2c_adapter *
 }
 EXPORT_SYMBOL(cx24123_get_tuner_i2c_adapter);
 
-static struct dvb_frontend_ops cx24123_ops;
+static const struct dvb_frontend_ops cx24123_ops;
 
 struct dvb_frontend *cx24123_attach(const struct cx24123_config *config,
                                    struct i2c_adapter *i2c)
@@ -1111,7 +1111,7 @@ error:
 }
 EXPORT_SYMBOL(cx24123_attach);
 
-static struct dvb_frontend_ops cx24123_ops = {
+static const struct dvb_frontend_ops cx24123_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Conexant CX24123/CX24109",
index 5afb9c5..614bfb3 100644 (file)
@@ -3719,7 +3719,7 @@ static int cxd2841er_init_tc(struct dvb_frontend *fe)
        return 0;
 }
 
-static struct dvb_frontend_ops cxd2841er_dvbs_s2_ops;
+static const struct dvb_frontend_ops cxd2841er_dvbs_s2_ops;
 static struct dvb_frontend_ops cxd2841er_t_c_ops;
 
 static struct dvb_frontend *cxd2841er_attach(struct cxd2841er_config *cfg,
@@ -3801,7 +3801,7 @@ struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg,
 }
 EXPORT_SYMBOL(cxd2841er_attach_t_c);
 
-static struct dvb_frontend_ops cxd2841er_dvbs_s2_ops = {
+static const struct dvb_frontend_ops cxd2841er_dvbs_s2_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name           = "Sony CXD2841ER DVB-S/S2 demodulator",
@@ -3829,7 +3829,7 @@ static struct dvb_frontend_ops cxd2841er_dvbs_s2_ops = {
        .tune = cxd2841er_tune_s
 };
 
-static struct  dvb_frontend_ops cxd2841er_t_c_ops = {
+static struct dvb_frontend_ops cxd2841er_t_c_ops = {
        .delsys = { SYS_DVBT, SYS_DVBT2, SYS_DVBC_ANNEX_A },
        .info = {
                .name   = "", /* will set in attach function */
index bf97627..068bec1 100644 (file)
@@ -742,7 +742,7 @@ static int dib3000mb_tuner_pass_ctrl(struct dvb_frontend *fe, int onoff, u8 pll_
        return 0;
 }
 
-static struct dvb_frontend_ops dib3000mb_ops;
+static const struct dvb_frontend_ops dib3000mb_ops;
 
 struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
                                      struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
@@ -782,7 +782,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops dib3000mb_ops = {
+static const struct dvb_frontend_ops dib3000mb_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "DiBcom 3000M-B DVB-T",
index 0f77934..224283f 100644 (file)
@@ -879,7 +879,7 @@ int dib3000mc_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods, u8 defa
 }
 EXPORT_SYMBOL(dib3000mc_i2c_enumeration);
 
-static struct dvb_frontend_ops dib3000mc_ops;
+static const struct dvb_frontend_ops dib3000mc_ops;
 
 struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib3000mc_config *cfg)
 {
@@ -912,7 +912,7 @@ error:
 }
 EXPORT_SYMBOL(dib3000mc_attach);
 
-static struct dvb_frontend_ops dib3000mc_ops = {
+static const struct dvb_frontend_ops dib3000mc_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DiBcom 3000MC/P",
index c9ebb0f..5ce9f93 100644 (file)
@@ -1401,7 +1401,7 @@ int dib7000m_i2c_enumeration(struct i2c_adapter *i2c, int no_of_demods,
 EXPORT_SYMBOL(dib7000m_i2c_enumeration);
 #endif
 
-static struct dvb_frontend_ops dib7000m_ops;
+static const struct dvb_frontend_ops dib7000m_ops;
 struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib7000m_config *cfg)
 {
        struct dvb_frontend *demod;
@@ -1439,7 +1439,7 @@ error:
 }
 EXPORT_SYMBOL(dib7000m_attach);
 
-static struct dvb_frontend_ops dib7000m_ops = {
+static const struct dvb_frontend_ops dib7000m_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DiBcom 7000MA/MB/PA/PB/MC",
index 2cee51c..a27c000 100644 (file)
@@ -2721,7 +2721,7 @@ static int dib7090_slave_reset(struct dvb_frontend *fe)
        return 0;
 }
 
-static struct dvb_frontend_ops dib7000p_ops;
+static const struct dvb_frontend_ops dib7000p_ops;
 static struct dvb_frontend *dib7000p_init(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib7000p_config *cfg)
 {
        struct dvb_frontend *demod;
@@ -2811,7 +2811,7 @@ void *dib7000p_attach(struct dib7000p_ops *ops)
 }
 EXPORT_SYMBOL(dib7000p_attach);
 
-static struct dvb_frontend_ops dib7000p_ops = {
+static const struct dvb_frontend_ops dib7000p_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "DiBcom 7000PC",
index 3c76ceb..c95fff4 100644 (file)
@@ -2490,7 +2490,7 @@ struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int sla
 }
 EXPORT_SYMBOL(dib9000_get_slave_frontend);
 
-static struct dvb_frontend_ops dib9000_ops;
+static const struct dvb_frontend_ops dib9000_ops;
 struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg)
 {
        struct dvb_frontend *fe;
@@ -2567,7 +2567,7 @@ error:
 }
 EXPORT_SYMBOL(dib9000_attach);
 
-static struct dvb_frontend_ops dib9000_ops = {
+static const struct dvb_frontend_ops dib9000_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "DiBcom 9000",
index bd6d2ee..f1c3e3b 100644 (file)
@@ -12264,7 +12264,7 @@ static void drx39xxj_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops drx39xxj_ops;
+static const struct dvb_frontend_ops drx39xxj_ops;
 
 struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c)
 {
@@ -12363,7 +12363,7 @@ error:
 }
 EXPORT_SYMBOL(drx39xxj_attach);
 
-static struct dvb_frontend_ops drx39xxj_ops = {
+static const struct dvb_frontend_ops drx39xxj_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                 .name = "Micronas DRX39xxj family Frontend",
index 445a15c..4143f03 100644 (file)
@@ -2912,7 +2912,7 @@ static void drxd_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops drxd_ops = {
+static const struct dvb_frontend_ops drxd_ops = {
        .delsys = { SYS_DVBT},
        .info = {
                 .name = "Micronas DRXD DVB-T",
index c595adc..146edf3 100644 (file)
@@ -6737,7 +6737,7 @@ static int drxk_get_tune_settings(struct dvb_frontend *fe,
        }
 }
 
-static struct dvb_frontend_ops drxk_ops = {
+static const struct dvb_frontend_ops drxk_ops = {
        /* .delsys will be filled dynamically */
        .info = {
                .name = "DRXK",
index 6dc79d4..0b17a45 100644 (file)
@@ -830,7 +830,7 @@ static void ds3000_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops ds3000_ops;
+static const struct dvb_frontend_ops ds3000_ops;
 
 struct dvb_frontend *ds3000_attach(const struct ds3000_config *config,
                                    struct i2c_adapter *i2c)
@@ -1104,7 +1104,7 @@ static int ds3000_initfe(struct dvb_frontend *fe)
        return 0;
 }
 
-static struct dvb_frontend_ops ds3000_ops = {
+static const struct dvb_frontend_ops ds3000_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "Montage Technology DS3000",
index e5bd8c6..efc3c31 100644 (file)
@@ -119,7 +119,7 @@ static void dvb_dummy_fe_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops;
+static const struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops;
 
 struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void)
 {
@@ -136,7 +136,7 @@ struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void)
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops;
+static const struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops;
 
 struct dvb_frontend *dvb_dummy_fe_qpsk_attach(void)
 {
@@ -153,7 +153,7 @@ struct dvb_frontend *dvb_dummy_fe_qpsk_attach(void)
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops dvb_dummy_fe_qam_ops;
+static const struct dvb_frontend_ops dvb_dummy_fe_qam_ops;
 
 struct dvb_frontend *dvb_dummy_fe_qam_attach(void)
 {
@@ -170,7 +170,7 @@ struct dvb_frontend *dvb_dummy_fe_qam_attach(void)
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops = {
+static const struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Dummy DVB-T",
@@ -201,7 +201,7 @@ static struct dvb_frontend_ops dvb_dummy_fe_ofdm_ops = {
        .read_ucblocks = dvb_dummy_fe_read_ucblocks,
 };
 
-static struct dvb_frontend_ops dvb_dummy_fe_qam_ops = {
+static const struct dvb_frontend_ops dvb_dummy_fe_qam_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name                   = "Dummy DVB-C",
@@ -230,7 +230,7 @@ static struct dvb_frontend_ops dvb_dummy_fe_qam_ops = {
        .read_ucblocks = dvb_dummy_fe_read_ucblocks,
 };
 
-static struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops = {
+static const struct dvb_frontend_ops dvb_dummy_fe_qpsk_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Dummy DVB-S",
index c9012e6..d97ce21 100644 (file)
@@ -280,7 +280,7 @@ static void ec100_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops ec100_ops;
+static const struct dvb_frontend_ops ec100_ops;
 
 struct dvb_frontend *ec100_attach(const struct ec100_config *config,
        struct i2c_adapter *i2c)
@@ -315,7 +315,7 @@ error:
 }
 EXPORT_SYMBOL(ec100_attach);
 
-static struct dvb_frontend_ops ec100_ops = {
+static const struct dvb_frontend_ops ec100_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "E3C EC100 DVB-T",
index 93f59bf..efe015d 100644 (file)
@@ -323,7 +323,7 @@ static void gp8psk_fe_release(struct dvb_frontend* fe)
        kfree(st);
 }
 
-static struct dvb_frontend_ops gp8psk_fe_ops;
+static const struct dvb_frontend_ops gp8psk_fe_ops;
 
 struct dvb_frontend *gp8psk_fe_attach(const struct gp8psk_fe_ops *ops,
                                      void *priv, bool is_rev1)
@@ -351,7 +351,7 @@ struct dvb_frontend *gp8psk_fe_attach(const struct gp8psk_fe_ops *ops,
 }
 EXPORT_SYMBOL_GPL(gp8psk_fe_attach);
 
-static struct dvb_frontend_ops gp8psk_fe_ops = {
+static const struct dvb_frontend_ops gp8psk_fe_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Genpix DVB-S",
index 1c7eb47..8b53633 100644 (file)
@@ -793,7 +793,7 @@ static void hd29l2_release(struct dvb_frontend *fe)
        kfree(priv);
 }
 
-static struct dvb_frontend_ops hd29l2_ops;
+static const struct dvb_frontend_ops hd29l2_ops;
 
 struct dvb_frontend *hd29l2_attach(const struct hd29l2_config *config,
        struct i2c_adapter *i2c)
@@ -828,7 +828,7 @@ err:
 }
 EXPORT_SYMBOL(hd29l2_attach);
 
-static struct dvb_frontend_ops hd29l2_ops = {
+static const struct dvb_frontend_ops hd29l2_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "HDIC HD29L2 DMB-TH",
index 2f3d051..68923c8 100644 (file)
@@ -496,7 +496,7 @@ static void l64781_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops l64781_ops;
+static const struct dvb_frontend_ops l64781_ops;
 
 struct dvb_frontend* l64781_attach(const struct l64781_config* config,
                                   struct i2c_adapter* i2c)
@@ -571,7 +571,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops l64781_ops = {
+static const struct dvb_frontend_ops l64781_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "LSI L64781 DVB-T",
index f51a3a0..3b31e5f 100644 (file)
@@ -1359,7 +1359,7 @@ static void lg216x_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops lg2160_ops = {
+static const struct dvb_frontend_ops lg2160_ops = {
        .delsys = { SYS_ATSCMH },
        .info = {
                .name = "LG Electronics LG2160 ATSC/MH Frontend",
@@ -1387,7 +1387,7 @@ static struct dvb_frontend_ops lg2160_ops = {
        .release              = lg216x_release,
 };
 
-static struct dvb_frontend_ops lg2161_ops = {
+static const struct dvb_frontend_ops lg2161_ops = {
        .delsys = { SYS_ATSCMH },
        .info = {
                .name = "LG Electronics LG2161 ATSC/MH Frontend",
index 4503e88..9f5d938 100644 (file)
@@ -1103,8 +1103,8 @@ static void lgdt3305_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops lgdt3304_ops;
-static struct dvb_frontend_ops lgdt3305_ops;
+static const struct dvb_frontend_ops lgdt3304_ops;
+static const struct dvb_frontend_ops lgdt3305_ops;
 
 struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config,
                                     struct i2c_adapter *i2c_adap)
@@ -1164,7 +1164,7 @@ fail:
 }
 EXPORT_SYMBOL(lgdt3305_attach);
 
-static struct dvb_frontend_ops lgdt3304_ops = {
+static const struct dvb_frontend_ops lgdt3304_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3304 VSB/QAM Frontend",
@@ -1187,7 +1187,7 @@ static struct dvb_frontend_ops lgdt3304_ops = {
        .release              = lgdt3305_release,
 };
 
-static struct dvb_frontend_ops lgdt3305_ops = {
+static const struct dvb_frontend_ops lgdt3305_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3305 VSB/QAM Frontend",
index 0ca4e81..19dca46 100644 (file)
@@ -1767,7 +1767,7 @@ static void lgdt3306a_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops lgdt3306a_ops;
+static const struct dvb_frontend_ops lgdt3306a_ops;
 
 struct dvb_frontend *lgdt3306a_attach(const struct lgdt3306a_config *config,
                                      struct i2c_adapter *i2c_adap)
@@ -2103,7 +2103,7 @@ static void lgdt3306a_DumpRegs(struct lgdt3306a_state *state)
 
 
 
-static struct dvb_frontend_ops lgdt3306a_ops = {
+static const struct dvb_frontend_ops lgdt3306a_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "LG Electronics LGDT3306A VSB/QAM Frontend",
index 8cb6c56..2f4a031 100644 (file)
@@ -728,8 +728,8 @@ static void lgdt330x_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops lgdt3302_ops;
-static struct dvb_frontend_ops lgdt3303_ops;
+static const struct dvb_frontend_ops lgdt3302_ops;
+static const struct dvb_frontend_ops lgdt3303_ops;
 
 struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config,
                                     struct i2c_adapter* i2c)
@@ -774,7 +774,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops lgdt3302_ops = {
+static const struct dvb_frontend_ops lgdt3302_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name= "LG Electronics LGDT3302 VSB/QAM Frontend",
@@ -797,7 +797,7 @@ static struct dvb_frontend_ops lgdt3302_ops = {
        .release              = lgdt330x_release,
 };
 
-static struct dvb_frontend_ops lgdt3303_ops = {
+static const struct dvb_frontend_ops lgdt3303_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name= "LG Electronics LGDT3303 VSB/QAM Frontend",
index fbfd87b..970e42f 100644 (file)
@@ -376,7 +376,7 @@ lgs8gl5_release(struct dvb_frontend *fe)
 }
 
 
-static struct dvb_frontend_ops lgs8gl5_ops;
+static const struct dvb_frontend_ops lgs8gl5_ops;
 
 
 struct dvb_frontend*
@@ -412,7 +412,7 @@ error:
 EXPORT_SYMBOL(lgs8gl5_attach);
 
 
-static struct dvb_frontend_ops lgs8gl5_ops = {
+static const struct dvb_frontend_ops lgs8gl5_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name                   = "Legend Silicon LGS-8GL5 DMB-TH",
index 919daeb..6d2e624 100644 (file)
@@ -985,7 +985,7 @@ static int lgs8gxx_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
        return lgs8gxx_write_reg(priv, 0x01, 0);
 }
 
-static struct dvb_frontend_ops lgs8gxx_ops = {
+static const struct dvb_frontend_ops lgs8gxx_ops = {
        .delsys = { SYS_DTMB },
        .info = {
                .name = "Legend Silicon LGS8913/LGS8GXX DMB-TH",
index e0fe5bc..50bce68 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "m88ds3103_priv.h"
 
-static struct dvb_frontend_ops m88ds3103_ops;
+static const struct dvb_frontend_ops m88ds3103_ops;
 
 /* write single register with mask */
 static int m88ds3103_update_bits(struct m88ds3103_dev *dev,
@@ -1295,7 +1295,7 @@ struct dvb_frontend *m88ds3103_attach(const struct m88ds3103_config *cfg,
 }
 EXPORT_SYMBOL(m88ds3103_attach);
 
-static struct dvb_frontend_ops m88ds3103_ops = {
+static const struct dvb_frontend_ops m88ds3103_ops = {
        .delsys = {SYS_DVBS, SYS_DVBS2},
        .info = {
                .name = "Montage Technology M88DS3103",
index 3669c90..ce6c21d 100644 (file)
@@ -752,7 +752,7 @@ static void m88rs2000_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops m88rs2000_ops = {
+static const struct dvb_frontend_ops m88rs2000_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "M88RS2000 DVB-S",
index 79bc671..9bb122c 100644 (file)
@@ -1816,7 +1816,7 @@ static enum dvbfe_algo mb86a16_frontend_algo(struct dvb_frontend *fe)
        return DVBFE_ALGO_CUSTOM;
 }
 
-static struct dvb_frontend_ops mb86a16_ops = {
+static const struct dvb_frontend_ops mb86a16_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Fujitsu MB86A16 DVB-S",
index 27f4251..e8ac8c3 100644 (file)
@@ -2060,7 +2060,7 @@ static int mb86a20s_get_frontend_algo(struct dvb_frontend *fe)
         return DVBFE_ALGO_HW;
 }
 
-static struct dvb_frontend_ops mb86a20s_ops;
+static const struct dvb_frontend_ops mb86a20s_ops;
 
 struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
                                    struct i2c_adapter *i2c)
@@ -2108,7 +2108,7 @@ error:
 }
 EXPORT_SYMBOL(mb86a20s_attach);
 
-static struct dvb_frontend_ops mb86a20s_ops = {
+static const struct dvb_frontend_ops mb86a20s_ops = {
        .delsys = { SYS_ISDBT },
        /* Use dib8000 values per default */
        .info = {
index 18fb2df..b6f5f83 100644 (file)
@@ -411,7 +411,7 @@ err:
        return ret;
 }
 
-static struct dvb_frontend_ops mn88472_ops = {
+static const struct dvb_frontend_ops mn88472_ops = {
        .delsys = {SYS_DVBT, SYS_DVBT2, SYS_DVBC_ANNEX_A},
        .info = {
                .name = "Panasonic MN88472",
index fdee75b..961b9a2 100644 (file)
@@ -748,7 +748,7 @@ static void mt312_release(struct dvb_frontend *fe)
 }
 
 #define MT312_SYS_CLK          90000000UL      /* 90 MHz */
-static struct dvb_frontend_ops mt312_ops = {
+static const struct dvb_frontend_ops mt312_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "Zarlink ???? DVB-S",
index c0bb632..48ea040 100644 (file)
@@ -538,7 +538,7 @@ static void mt352_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops mt352_ops;
+static const struct dvb_frontend_ops mt352_ops;
 
 struct dvb_frontend* mt352_attach(const struct mt352_config* config,
                                  struct i2c_adapter* i2c)
@@ -566,7 +566,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops mt352_ops = {
+static const struct dvb_frontend_ops mt352_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Zarlink MT352 DVB-T",
index 7c23f04..2fe4037 100644 (file)
@@ -1149,7 +1149,7 @@ static void nxt200x_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops nxt200x_ops;
+static const struct dvb_frontend_ops nxt200x_ops;
 
 struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config,
                                   struct i2c_adapter* i2c)
@@ -1212,7 +1212,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops nxt200x_ops = {
+static const struct dvb_frontend_ops nxt200x_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name = "Nextwave NXT200X VSB/QAM frontend",
index 1545d89..1ce5ea2 100644 (file)
@@ -564,7 +564,7 @@ static int nxt6000_i2c_gate_ctrl(struct dvb_frontend* fe, int enable)
        }
 }
 
-static struct dvb_frontend_ops nxt6000_ops;
+static const struct dvb_frontend_ops nxt6000_ops;
 
 struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config,
                                    struct i2c_adapter* i2c)
@@ -592,7 +592,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops nxt6000_ops = {
+static const struct dvb_frontend_ops nxt6000_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "NxtWave NXT6000 DVB-T",
index bacea20..17bdadd 100644 (file)
@@ -559,7 +559,7 @@ static void or51132_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops or51132_ops;
+static const struct dvb_frontend_ops or51132_ops;
 
 struct dvb_frontend* or51132_attach(const struct or51132_config* config,
                                    struct i2c_adapter* i2c)
@@ -583,7 +583,7 @@ struct dvb_frontend* or51132_attach(const struct or51132_config* config,
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops or51132_ops = {
+static const struct dvb_frontend_ops or51132_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Oren OR51132 VSB/QAM Frontend",
index 839479e..27eb73a 100644 (file)
@@ -507,7 +507,7 @@ static void or51211_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops or51211_ops;
+static const struct dvb_frontend_ops or51211_ops;
 
 struct dvb_frontend* or51211_attach(const struct or51211_config* config,
                                    struct i2c_adapter* i2c)
@@ -531,7 +531,7 @@ struct dvb_frontend* or51211_attach(const struct or51211_config* config,
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops or51211_ops = {
+static const struct dvb_frontend_ops or51211_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name               = "Oren OR51211 VSB Frontend",
index 8722605..7bbfe11 100644 (file)
@@ -548,7 +548,7 @@ static int rtl2830_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
        return 0;
 }
 
-static struct dvb_frontend_ops rtl2830_ops = {
+static const struct dvb_frontend_ops rtl2830_ops = {
        .delsys = {SYS_DVBT},
        .info = {
                .name = "Realtek RTL2830 (DVB-T)",
index 0ced01f..94bf5b7 100644 (file)
@@ -837,7 +837,7 @@ static int rtl2832_deselect(struct i2c_mux_core *muxc, u32 chan_id)
        return 0;
 }
 
-static struct dvb_frontend_ops rtl2832_ops = {
+static const struct dvb_frontend_ops rtl2832_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Realtek RTL2832 (DVB-T)",
index 56c3fb4..f370c6d 100644 (file)
@@ -949,7 +949,7 @@ static void s5h1409_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops s5h1409_ops;
+static const struct dvb_frontend_ops s5h1409_ops;
 
 struct dvb_frontend *s5h1409_attach(const struct s5h1409_config *config,
                                    struct i2c_adapter *i2c)
@@ -995,7 +995,7 @@ error:
 }
 EXPORT_SYMBOL(s5h1409_attach);
 
-static struct dvb_frontend_ops s5h1409_ops = {
+static const struct dvb_frontend_ops s5h1409_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Samsung S5H1409 QAM/8VSB Frontend",
index a861854..f29750a 100644 (file)
@@ -864,7 +864,7 @@ static void s5h1411_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops s5h1411_ops;
+static const struct dvb_frontend_ops s5h1411_ops;
 
 struct dvb_frontend *s5h1411_attach(const struct s5h1411_config *config,
                                    struct i2c_adapter *i2c)
@@ -914,7 +914,7 @@ error:
 }
 EXPORT_SYMBOL(s5h1411_attach);
 
-static struct dvb_frontend_ops s5h1411_ops = {
+static const struct dvb_frontend_ops s5h1411_ops = {
        .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B },
        .info = {
                .name                   = "Samsung S5H1411 QAM/8VSB Frontend",
index d7d0b7d..f9a18fe 100644 (file)
@@ -880,7 +880,7 @@ struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe)
 }
 EXPORT_SYMBOL(s5h1420_get_tuner_i2c_adapter);
 
-static struct dvb_frontend_ops s5h1420_ops;
+static const struct dvb_frontend_ops s5h1420_ops;
 
 struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config,
                                    struct i2c_adapter *i2c)
@@ -934,7 +934,7 @@ error:
 }
 EXPORT_SYMBOL(s5h1420_attach);
 
-static struct dvb_frontend_ops s5h1420_ops = {
+static const struct dvb_frontend_ops s5h1420_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name     = "Samsung S5H1420/PnpNetwork PN1010 DVB-S",
index 5de7973..a32fd9b 100644 (file)
@@ -341,7 +341,7 @@ static void s5h1432_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops s5h1432_ops;
+static const struct dvb_frontend_ops s5h1432_ops;
 
 struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config,
                                    struct i2c_adapter *i2c)
@@ -370,7 +370,7 @@ struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config,
 }
 EXPORT_SYMBOL(s5h1432_attach);
 
-static struct dvb_frontend_ops s5h1432_ops = {
+static const struct dvb_frontend_ops s5h1432_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "Samsung s5h1432 DVB-T Frontend",
index 98cceb1..274544a 100644 (file)
@@ -477,7 +477,7 @@ static void s921_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops s921_ops;
+static const struct dvb_frontend_ops s921_ops;
 
 struct dvb_frontend *s921_attach(const struct s921_config *config,
                                    struct i2c_adapter *i2c)
@@ -505,7 +505,7 @@ struct dvb_frontend *s921_attach(const struct s921_config *config,
 }
 EXPORT_SYMBOL(s921_attach);
 
-static struct dvb_frontend_ops s921_ops = {
+static const struct dvb_frontend_ops s921_ops = {
        .delsys = { SYS_ISDBT },
        /* Use dib8000 values per default */
        .info = {
index 78669ea..528b82a 100644 (file)
@@ -978,7 +978,7 @@ static int si2165_set_frontend(struct dvb_frontend *fe)
        return 0;
 }
 
-static struct dvb_frontend_ops si2165_ops = {
+static const struct dvb_frontend_ops si2165_ops = {
        .info = {
                .name = "Silicon Labs ",
                 /* For DVB-C */
index 32ebfb7..4e8c3ac 100644 (file)
@@ -866,7 +866,7 @@ static void si21xx_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops si21xx_ops = {
+static const struct dvb_frontend_ops si21xx_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "SL SI21XX DVB-S",
index e87ac30..04454cb 100644 (file)
@@ -551,7 +551,7 @@ static void sp8870_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops sp8870_ops;
+static const struct dvb_frontend_ops sp8870_ops;
 
 struct dvb_frontend* sp8870_attach(const struct sp8870_config* config,
                                   struct i2c_adapter* i2c)
@@ -580,7 +580,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops sp8870_ops = {
+static const struct dvb_frontend_ops sp8870_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Spase SP8870 DVB-T",
index f9194b7..7c511c3 100644 (file)
@@ -561,7 +561,7 @@ static void sp887x_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops sp887x_ops;
+static const struct dvb_frontend_ops sp887x_ops;
 
 struct dvb_frontend* sp887x_attach(const struct sp887x_config* config,
                                   struct i2c_adapter* i2c)
@@ -590,7 +590,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops sp887x_ops = {
+static const struct dvb_frontend_ops sp887x_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Spase SP887x DVB-T",
index 8e7cafb..cc18891 100644 (file)
@@ -1573,7 +1573,7 @@ static enum dvbfe_algo stb0899_frontend_algo(struct dvb_frontend *fe)
        return DVBFE_ALGO_CUSTOM;
 }
 
-static struct dvb_frontend_ops stb0899_ops = {
+static const struct dvb_frontend_ops stb0899_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STB0899 Multistandard",
index 12f6a42..45cbc89 100644 (file)
@@ -535,7 +535,7 @@ static void stv0288_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops stv0288_ops = {
+static const struct dvb_frontend_ops stv0288_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "ST STV0288 DVB-S",
index 73b4d42..db94d4d 100644 (file)
@@ -658,7 +658,7 @@ static void stv0297_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops stv0297_ops;
+static const struct dvb_frontend_ops stv0297_ops;
 
 struct dvb_frontend *stv0297_attach(const struct stv0297_config *config,
                                    struct i2c_adapter *i2c)
@@ -690,7 +690,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops stv0297_ops = {
+static const struct dvb_frontend_ops stv0297_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                 .name = "ST STV0297 DVB-C",
index a9b28ce..b36b21a 100644 (file)
@@ -673,7 +673,7 @@ static void stv0299_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops stv0299_ops;
+static const struct dvb_frontend_ops stv0299_ops;
 
 struct dvb_frontend* stv0299_attach(const struct stv0299_config* config,
                                    struct i2c_adapter* i2c)
@@ -713,7 +713,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops stv0299_ops = {
+static const struct dvb_frontend_ops stv0299_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "ST STV0299 DVB-S",
index abc379a..4ac1ce2 100644 (file)
@@ -2272,7 +2272,7 @@ static void stv0367_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops stv0367ter_ops = {
+static const struct dvb_frontend_ops stv0367ter_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "ST STV0367 DVB-T",
@@ -3390,7 +3390,7 @@ static int stv0367cab_read_ucblcks(struct dvb_frontend *fe, u32 *ucblocks)
        return 0;
 };
 
-static struct dvb_frontend_ops stv0367cab_ops = {
+static const struct dvb_frontend_ops stv0367cab_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "ST STV0367 DVB-C",
index f667005..43a0f69 100644 (file)
@@ -1875,7 +1875,7 @@ static int stv0900_get_frontend(struct dvb_frontend *fe,
        return 0;
 }
 
-static struct dvb_frontend_ops stv0900_ops = {
+static const struct dvb_frontend_ops stv0900_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STV0900 frontend",
index 42d62cc..b586d2a 100644 (file)
@@ -4880,7 +4880,7 @@ static int stv090x_set_gpio(struct dvb_frontend *fe, u8 gpio, u8 dir,
        return stv090x_write_reg(state, STV090x_GPIOxCFG(gpio), reg);
 }
 
-static struct dvb_frontend_ops stv090x_ops = {
+static const struct dvb_frontend_ops stv090x_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2, SYS_DSS },
        .info = {
                .name                   = "STV090x Multistandard",
index 4c514e6..32ba840 100644 (file)
@@ -443,7 +443,7 @@ static void tda10021_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops tda10021_ops;
+static const struct dvb_frontend_ops tda10021_ops;
 
 struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
                                     struct i2c_adapter* i2c,
@@ -483,7 +483,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops tda10021_ops = {
+static const struct dvb_frontend_ops tda10021_ops = {
        .delsys = { SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_C },
        .info = {
                .name = "Philips TDA10021 DVB-C",
index 0c416be..8028007 100644 (file)
@@ -514,7 +514,7 @@ static void tda10023_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops tda10023_ops;
+static const struct dvb_frontend_ops tda10023_ops;
 
 struct dvb_frontend *tda10023_attach(const struct tda10023_config *config,
                                     struct i2c_adapter *i2c,
@@ -571,7 +571,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops tda10023_ops = {
+static const struct dvb_frontend_ops tda10023_ops = {
        .delsys = { SYS_DVBC_ANNEX_A, SYS_DVBC_ANNEX_C },
        .info = {
                .name = "Philips TDA10023 DVB-C",
index 7cb23f8..92ab34c 100644 (file)
@@ -1090,7 +1090,7 @@ static void tda10048_establish_defaults(struct dvb_frontend *fe)
        }
 }
 
-static struct dvb_frontend_ops tda10048_ops;
+static const struct dvb_frontend_ops tda10048_ops;
 
 struct dvb_frontend *tda10048_attach(const struct tda10048_config *config,
        struct i2c_adapter *i2c)
@@ -1152,7 +1152,7 @@ error:
 }
 EXPORT_SYMBOL(tda10048_attach);
 
-static struct dvb_frontend_ops tda10048_ops = {
+static const struct dvb_frontend_ops tda10048_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "NXP TDA10048HN DVB-T",
index b898483..e674508 100644 (file)
@@ -1245,7 +1245,7 @@ static void tda1004x_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops tda10045_ops = {
+static const struct dvb_frontend_ops tda10045_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Philips TDA10045H DVB-T",
@@ -1315,7 +1315,7 @@ struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config,
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops tda10046_ops = {
+static const struct dvb_frontend_ops tda10046_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "Philips TDA10046H DVB-T",
index 37ebeef..a59f4fd 100644 (file)
@@ -20,7 +20,7 @@
 
 #include "tda10071_priv.h"
 
-static struct dvb_frontend_ops tda10071_ops;
+static const struct dvb_frontend_ops tda10071_ops;
 
 /*
  * XXX: regmap_update_bits() does not fit our needs as it does not support
@@ -1102,7 +1102,7 @@ static int tda10071_get_tune_settings(struct dvb_frontend *fe,
        return 0;
 }
 
-static struct dvb_frontend_ops tda10071_ops = {
+static const struct dvb_frontend_ops tda10071_ops = {
        .delsys = { SYS_DVBS, SYS_DVBS2 },
        .info = {
                .name = "NXP TDA10071",
index 31d0acb..b6d16c0 100644 (file)
@@ -706,7 +706,7 @@ static void tda10086_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops tda10086_ops = {
+static const struct dvb_frontend_ops tda10086_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name     = "Philips TDA10086 DVB-S",
index 9072d64..aa3200d 100644 (file)
@@ -421,7 +421,7 @@ static void tda8083_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops tda8083_ops;
+static const struct dvb_frontend_ops tda8083_ops;
 
 struct dvb_frontend* tda8083_attach(const struct tda8083_config* config,
                                    struct i2c_adapter* i2c)
@@ -449,7 +449,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops tda8083_ops = {
+static const struct dvb_frontend_ops tda8083_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "Philips TDA8083 DVB-S",
index 24ac54b..1783637 100644 (file)
@@ -369,7 +369,7 @@ static void ves1820_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops ves1820_ops;
+static const struct dvb_frontend_ops ves1820_ops;
 
 struct dvb_frontend* ves1820_attach(const struct ves1820_config* config,
                                    struct i2c_adapter* i2c,
@@ -408,7 +408,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops ves1820_ops = {
+static const struct dvb_frontend_ops ves1820_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "VLSI VES1820 DVB-C",
index ed113e2..d0ee52f 100644 (file)
@@ -454,7 +454,7 @@ static int ves1x93_i2c_gate_ctrl(struct dvb_frontend* fe, int enable)
        }
 }
 
-static struct dvb_frontend_ops ves1x93_ops;
+static const struct dvb_frontend_ops ves1x93_ops;
 
 struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config,
                                    struct i2c_adapter* i2c)
@@ -512,7 +512,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops ves1x93_ops = {
+static const struct dvb_frontend_ops ves1x93_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "VLSI VES1x93 DVB-S",
index 3b08176..4f3ff3e 100644 (file)
@@ -602,7 +602,7 @@ static void zl10353_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops zl10353_ops;
+static const struct dvb_frontend_ops zl10353_ops;
 
 struct dvb_frontend *zl10353_attach(const struct zl10353_config *config,
                                    struct i2c_adapter *i2c)
@@ -634,7 +634,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops zl10353_ops = {
+static const struct dvb_frontend_ops zl10353_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Zarlink ZL10353 DVB-T",
index faea3f0..7166d22 100644 (file)
@@ -1696,10 +1696,10 @@ static void bt8xx_dst_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops dst_dvbt_ops;
-static struct dvb_frontend_ops dst_dvbs_ops;
-static struct dvb_frontend_ops dst_dvbc_ops;
-static struct dvb_frontend_ops dst_atsc_ops;
+static const struct dvb_frontend_ops dst_dvbt_ops;
+static const struct dvb_frontend_ops dst_dvbs_ops;
+static const struct dvb_frontend_ops dst_dvbc_ops;
+static const struct dvb_frontend_ops dst_atsc_ops;
 
 struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_adapter)
 {
@@ -1735,7 +1735,7 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad
 
 EXPORT_SYMBOL(dst_attach);
 
-static struct dvb_frontend_ops dst_dvbt_ops = {
+static const struct dvb_frontend_ops dst_dvbt_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name = "DST DVB-T",
@@ -1764,7 +1764,7 @@ static struct dvb_frontend_ops dst_dvbt_ops = {
        .read_snr = dst_read_snr,
 };
 
-static struct dvb_frontend_ops dst_dvbs_ops = {
+static const struct dvb_frontend_ops dst_dvbs_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name = "DST DVB-S",
@@ -1793,7 +1793,7 @@ static struct dvb_frontend_ops dst_dvbs_ops = {
        .set_tone = dst_set_tone,
 };
 
-static struct dvb_frontend_ops dst_dvbc_ops = {
+static const struct dvb_frontend_ops dst_dvbc_ops = {
        .delsys = { SYS_DVBC_ANNEX_A },
        .info = {
                .name = "DST DVB-C",
@@ -1822,7 +1822,7 @@ static struct dvb_frontend_ops dst_dvbc_ops = {
        .read_snr = dst_read_snr,
 };
 
-static struct dvb_frontend_ops dst_atsc_ops = {
+static const struct dvb_frontend_ops dst_atsc_ops = {
        .delsys = { SYS_ATSC },
        .info = {
                .name = "DST ATSC",
index d0e70dc..249273b 100644 (file)
@@ -578,7 +578,7 @@ static void va1j5jf8007s_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops va1j5jf8007s_ops = {
+static const struct dvb_frontend_ops va1j5jf8007s_ops = {
        .delsys = { SYS_ISDBS },
        .info = {
                .name = "VA1J5JF8007/VA1J5JF8011 ISDB-S",
index 0268f20..e0766e6 100644 (file)
@@ -427,7 +427,7 @@ static void va1j5jf8007t_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops va1j5jf8007t_ops = {
+static const struct dvb_frontend_ops va1j5jf8007t_ops = {
        .delsys = { SYS_ISDBT },
        .info = {
                .name = "VA1J5JF8007/VA1J5JF8011 ISDB-T",
index 6b75415..a59c567 100644 (file)
@@ -721,7 +721,7 @@ static int tda8295_probe(struct tuner_i2c_props *i2c_props)
        return -ENODEV;
 }
 
-static struct analog_demod_ops tda8290_ops = {
+static const struct analog_demod_ops tda8290_ops = {
        .set_params     = tda8290_set_params,
        .has_signal     = tda8290_has_signal,
        .standby        = tda8290_standby,
@@ -729,7 +729,7 @@ static struct analog_demod_ops tda8290_ops = {
        .i2c_gate_ctrl  = tda8290_i2c_bridge,
 };
 
-static struct analog_demod_ops tda8295_ops = {
+static const struct analog_demod_ops tda8295_ops = {
        .set_params     = tda8295_set_params,
        .has_signal     = tda8295_has_signal,
        .standby        = tda8295_standby,
index 56be6c2..c0e815f 100644 (file)
@@ -659,7 +659,7 @@ static void tda9887_release(struct dvb_frontend *fe)
        fe->analog_demod_priv = NULL;
 }
 
-static struct analog_demod_ops tda9887_ops = {
+static const struct analog_demod_ops tda9887_ops = {
        .info           = {
                .name   = "tda9887",
        },
index 047a32f..639e156 100644 (file)
@@ -549,7 +549,7 @@ static void mxl111sf_demod_release(struct dvb_frontend *fe)
        fe->demodulator_priv = NULL;
 }
 
-static struct dvb_frontend_ops mxl111sf_demod_ops = {
+static const struct dvb_frontend_ops mxl111sf_demod_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name               = "MaxLinear MxL111SF DVB-T demodulator",
index 09db3d0..9862d3e 100644 (file)
@@ -1430,7 +1430,7 @@ static void af9005_fe_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops af9005_fe_ops;
+static const struct dvb_frontend_ops af9005_fe_ops;
 
 struct dvb_frontend *af9005_fe_attach(struct dvb_usb_device *d)
 {
@@ -1455,7 +1455,7 @@ struct dvb_frontend *af9005_fe_attach(struct dvb_usb_device *d)
        return NULL;
 }
 
-static struct dvb_frontend_ops af9005_fe_ops = {
+static const struct dvb_frontend_ops af9005_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                 .name = "AF9005 USB DVB-T",
index 2d29b41..bbb10fa 100644 (file)
@@ -278,7 +278,7 @@ static void cinergyt2_fe_release(struct dvb_frontend *fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops cinergyt2_fe_ops;
+static const struct dvb_frontend_ops cinergyt2_fe_ops;
 
 struct dvb_frontend *cinergyt2_fe_attach(struct dvb_usb_device *d)
 {
@@ -295,7 +295,7 @@ struct dvb_frontend *cinergyt2_fe_attach(struct dvb_usb_device *d)
 }
 
 
-static struct dvb_frontend_ops cinergyt2_fe_ops = {
+static const struct dvb_frontend_ops cinergyt2_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = DRIVER_NAME,
index f5c042b..00f565f 100644 (file)
@@ -202,7 +202,7 @@ static void dtt200u_fe_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops dtt200u_fe_ops;
+static const struct dvb_frontend_ops dtt200u_fe_ops;
 
 struct dvb_frontend* dtt200u_fe_attach(struct dvb_usb_device *d)
 {
@@ -226,7 +226,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops dtt200u_fe_ops = {
+static const struct dvb_frontend_ops dtt200u_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "WideView USB DVB-T",
index 979f05b..0251a4e 100644 (file)
@@ -401,7 +401,7 @@ static void jdvbt90502_release(struct dvb_frontend *fe)
 }
 
 
-static struct dvb_frontend_ops jdvbt90502_ops;
+static const struct dvb_frontend_ops jdvbt90502_ops;
 
 struct dvb_frontend *jdvbt90502_attach(struct dvb_usb_device *d)
 {
@@ -432,7 +432,7 @@ error:
        return NULL;
 }
 
-static struct dvb_frontend_ops jdvbt90502_ops = {
+static const struct dvb_frontend_ops jdvbt90502_ops = {
        .delsys = { SYS_ISDBT },
        .info = {
                .name                   = "Comtech JDVBT90502 ISDB-T",
index 27398c0..7ff31ba 100644 (file)
@@ -323,7 +323,7 @@ static void vp702x_fe_release(struct dvb_frontend* fe)
        kfree(st);
 }
 
-static struct dvb_frontend_ops vp702x_fe_ops;
+static const struct dvb_frontend_ops vp702x_fe_ops;
 
 struct dvb_frontend * vp702x_fe_attach(struct dvb_usb_device *d)
 {
@@ -345,7 +345,7 @@ error:
 }
 
 
-static struct dvb_frontend_ops vp702x_fe_ops = {
+static const struct dvb_frontend_ops vp702x_fe_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name           = "Twinhan DST-like frontend (VP7021/VP7020) DVB-S",
index 7765602..4520ad9 100644 (file)
@@ -140,7 +140,7 @@ static void vp7045_fe_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops vp7045_fe_ops;
+static const struct dvb_frontend_ops vp7045_fe_ops;
 
 struct dvb_frontend * vp7045_fe_attach(struct dvb_usb_device *d)
 {
@@ -158,7 +158,7 @@ error:
 }
 
 
-static struct dvb_frontend_ops vp7045_fe_ops = {
+static const struct dvb_frontend_ops vp7045_fe_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "Twinhan VP7045/46 USB DVB-T",
index 8781335..2d94449 100644 (file)
@@ -205,7 +205,7 @@ static void ttusbdecfe_release(struct dvb_frontend* fe)
        kfree(state);
 }
 
-static struct dvb_frontend_ops ttusbdecfe_dvbt_ops;
+static const struct dvb_frontend_ops ttusbdecfe_dvbt_ops;
 
 struct dvb_frontend* ttusbdecfe_dvbt_attach(const struct ttusbdecfe_config* config)
 {
@@ -225,7 +225,7 @@ struct dvb_frontend* ttusbdecfe_dvbt_attach(const struct ttusbdecfe_config* conf
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops ttusbdecfe_dvbs_ops;
+static const struct dvb_frontend_ops ttusbdecfe_dvbs_ops;
 
 struct dvb_frontend* ttusbdecfe_dvbs_attach(const struct ttusbdecfe_config* config)
 {
@@ -247,7 +247,7 @@ struct dvb_frontend* ttusbdecfe_dvbs_attach(const struct ttusbdecfe_config* conf
        return &state->frontend;
 }
 
-static struct dvb_frontend_ops ttusbdecfe_dvbt_ops = {
+static const struct dvb_frontend_ops ttusbdecfe_dvbt_ops = {
        .delsys = { SYS_DVBT },
        .info = {
                .name                   = "TechnoTrend/Hauppauge DEC2000-t Frontend",
@@ -270,7 +270,7 @@ static struct dvb_frontend_ops ttusbdecfe_dvbt_ops = {
        .read_status = ttusbdecfe_dvbt_read_status,
 };
 
-static struct dvb_frontend_ops ttusbdecfe_dvbs_ops = {
+static const struct dvb_frontend_ops ttusbdecfe_dvbs_ops = {
        .delsys = { SYS_DVBS },
        .info = {
                .name                   = "TechnoTrend/Hauppauge DEC3000-s Frontend",