On 08/09/2023 11:20, Greg Kroah-Hartman wrote: > In commit 9011e49d54dc ("modules: only allow symbol_get of > EXPORT_SYMBOL_GPL modules") the use of symbol_get is properly restricted > to GPL-only marked symbols. This interacts oddly with the DVB logic > which only uses dvb_attach() to load the dvb driver which then uses > symbol_get(). > > Fix this up by properly marking all of the dvb_attach attach symbols as > EXPORT_SYMBOL_GPL(). > > Fixes: 9011e49d54dc ("modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules") > Cc: stable <stable@xxxxxxxxxx> > Reported-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: Luis Chamberlain <mcgrof@xxxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx > Cc: linux-modules@xxxxxxxxxxxxxxx > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> Regards, Hans > --- > Luis, do you want to take this through your tree? Or Mauro's? Or I can > take it through mine, it should get to Linus soon as this is causing > regressions in his tree. > > thanks, > > greg k-h > > drivers/media/dvb-frontends/ascot2e.c | 2 +- > drivers/media/dvb-frontends/atbm8830.c | 2 +- > drivers/media/dvb-frontends/au8522_dig.c | 2 +- > drivers/media/dvb-frontends/bcm3510.c | 2 +- > drivers/media/dvb-frontends/cx22700.c | 2 +- > drivers/media/dvb-frontends/cx22702.c | 2 +- > drivers/media/dvb-frontends/cx24110.c | 2 +- > drivers/media/dvb-frontends/cx24113.c | 2 +- > drivers/media/dvb-frontends/cx24116.c | 2 +- > drivers/media/dvb-frontends/cx24120.c | 2 +- > drivers/media/dvb-frontends/cx24123.c | 2 +- > drivers/media/dvb-frontends/cxd2820r_core.c | 2 +- > drivers/media/dvb-frontends/cxd2841er.c | 4 ++-- > drivers/media/dvb-frontends/cxd2880/cxd2880_top.c | 2 +- > drivers/media/dvb-frontends/dib0070.c | 2 +- > drivers/media/dvb-frontends/dib0090.c | 4 ++-- > drivers/media/dvb-frontends/dib3000mb.c | 2 +- > drivers/media/dvb-frontends/dib3000mc.c | 2 +- > drivers/media/dvb-frontends/dib7000m.c | 2 +- > drivers/media/dvb-frontends/dib7000p.c | 2 +- > drivers/media/dvb-frontends/dib8000.c | 2 +- > drivers/media/dvb-frontends/dib9000.c | 2 +- > drivers/media/dvb-frontends/drx39xyj/drxj.c | 2 +- > drivers/media/dvb-frontends/drxd_hard.c | 2 +- > drivers/media/dvb-frontends/drxk_hard.c | 2 +- > drivers/media/dvb-frontends/ds3000.c | 2 +- > drivers/media/dvb-frontends/dvb-pll.c | 2 +- > drivers/media/dvb-frontends/ec100.c | 2 +- > drivers/media/dvb-frontends/helene.c | 4 ++-- > drivers/media/dvb-frontends/horus3a.c | 2 +- > drivers/media/dvb-frontends/isl6405.c | 2 +- > drivers/media/dvb-frontends/isl6421.c | 2 +- > drivers/media/dvb-frontends/isl6423.c | 2 +- > drivers/media/dvb-frontends/itd1000.c | 2 +- > drivers/media/dvb-frontends/ix2505v.c | 2 +- > drivers/media/dvb-frontends/l64781.c | 2 +- > drivers/media/dvb-frontends/lg2160.c | 2 +- > drivers/media/dvb-frontends/lgdt3305.c | 2 +- > drivers/media/dvb-frontends/lgdt3306a.c | 2 +- > drivers/media/dvb-frontends/lgdt330x.c | 2 +- > drivers/media/dvb-frontends/lgs8gxx.c | 2 +- > drivers/media/dvb-frontends/lnbh25.c | 2 +- > drivers/media/dvb-frontends/lnbp21.c | 4 ++-- > drivers/media/dvb-frontends/lnbp22.c | 2 +- > drivers/media/dvb-frontends/m88ds3103.c | 2 +- > drivers/media/dvb-frontends/m88rs2000.c | 2 +- > drivers/media/dvb-frontends/mb86a16.c | 2 +- > drivers/media/dvb-frontends/mb86a20s.c | 2 +- > drivers/media/dvb-frontends/mt312.c | 2 +- > drivers/media/dvb-frontends/mt352.c | 2 +- > drivers/media/dvb-frontends/nxt200x.c | 2 +- > drivers/media/dvb-frontends/nxt6000.c | 2 +- > drivers/media/dvb-frontends/or51132.c | 2 +- > drivers/media/dvb-frontends/or51211.c | 2 +- > drivers/media/dvb-frontends/s5h1409.c | 2 +- > drivers/media/dvb-frontends/s5h1411.c | 2 +- > drivers/media/dvb-frontends/s5h1420.c | 2 +- > drivers/media/dvb-frontends/s5h1432.c | 2 +- > drivers/media/dvb-frontends/s921.c | 2 +- > drivers/media/dvb-frontends/si21xx.c | 2 +- > drivers/media/dvb-frontends/sp887x.c | 2 +- > drivers/media/dvb-frontends/stb0899_drv.c | 2 +- > drivers/media/dvb-frontends/stb6000.c | 2 +- > drivers/media/dvb-frontends/stb6100.c | 2 +- > drivers/media/dvb-frontends/stv0288.c | 2 +- > drivers/media/dvb-frontends/stv0297.c | 2 +- > drivers/media/dvb-frontends/stv0299.c | 2 +- > drivers/media/dvb-frontends/stv0367.c | 6 +++--- > drivers/media/dvb-frontends/stv0900_core.c | 2 +- > drivers/media/dvb-frontends/stv090x.c | 2 +- > drivers/media/dvb-frontends/stv6110.c | 2 +- > drivers/media/dvb-frontends/stv6110x.c | 2 +- > drivers/media/dvb-frontends/tda10021.c | 2 +- > drivers/media/dvb-frontends/tda10023.c | 2 +- > drivers/media/dvb-frontends/tda10048.c | 2 +- > drivers/media/dvb-frontends/tda1004x.c | 4 ++-- > drivers/media/dvb-frontends/tda10086.c | 2 +- > drivers/media/dvb-frontends/tda665x.c | 2 +- > drivers/media/dvb-frontends/tda8083.c | 2 +- > drivers/media/dvb-frontends/tda8261.c | 2 +- > drivers/media/dvb-frontends/tda826x.c | 2 +- > drivers/media/dvb-frontends/ts2020.c | 2 +- > drivers/media/dvb-frontends/tua6100.c | 2 +- > drivers/media/dvb-frontends/ves1820.c | 2 +- > drivers/media/dvb-frontends/ves1x93.c | 2 +- > drivers/media/dvb-frontends/zl10036.c | 2 +- > drivers/media/dvb-frontends/zl10039.c | 2 +- > drivers/media/dvb-frontends/zl10353.c | 2 +- > drivers/media/pci/bt8xx/dst.c | 2 +- > drivers/media/pci/bt8xx/dst_ca.c | 2 +- > drivers/media/pci/ddbridge/ddbridge-dummy-fe.c | 2 +- > drivers/media/tuners/fc0011.c | 2 +- > drivers/media/tuners/fc0012.c | 2 +- > drivers/media/tuners/fc0013.c | 2 +- > drivers/media/tuners/max2165.c | 2 +- > drivers/media/tuners/mc44s803.c | 2 +- > drivers/media/tuners/mt2060.c | 2 +- > drivers/media/tuners/mt2131.c | 2 +- > drivers/media/tuners/mt2266.c | 2 +- > drivers/media/tuners/mxl5005s.c | 2 +- > drivers/media/tuners/qt1010.c | 2 +- > drivers/media/tuners/tda18218.c | 2 +- > drivers/media/tuners/xc2028.c | 2 +- > drivers/media/tuners/xc4000.c | 2 +- > drivers/media/tuners/xc5000.c | 2 +- > drivers/staging/media/av7110/sp8870.c | 2 +- > 106 files changed, 113 insertions(+), 113 deletions(-) > > diff --git a/drivers/media/dvb-frontends/ascot2e.c b/drivers/media/dvb-frontends/ascot2e.c > index 9b00b56230b6..cf8e5f1bd101 100644 > --- a/drivers/media/dvb-frontends/ascot2e.c > +++ b/drivers/media/dvb-frontends/ascot2e.c > @@ -533,7 +533,7 @@ struct dvb_frontend *ascot2e_attach(struct dvb_frontend *fe, > priv->i2c_address, priv->i2c); > return fe; > } > -EXPORT_SYMBOL(ascot2e_attach); > +EXPORT_SYMBOL_GPL(ascot2e_attach); > > MODULE_DESCRIPTION("Sony ASCOT2E terr/cab tuner driver"); > MODULE_AUTHOR("info@xxxxxxxx"); > diff --git a/drivers/media/dvb-frontends/atbm8830.c b/drivers/media/dvb-frontends/atbm8830.c > index bdd16b9c5824..778c865085bf 100644 > --- a/drivers/media/dvb-frontends/atbm8830.c > +++ b/drivers/media/dvb-frontends/atbm8830.c > @@ -489,7 +489,7 @@ struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config, > return NULL; > > } > -EXPORT_SYMBOL(atbm8830_attach); > +EXPORT_SYMBOL_GPL(atbm8830_attach); > > MODULE_DESCRIPTION("AltoBeam ATBM8830/8831 GB20600 demodulator driver"); > MODULE_AUTHOR("David T. L. Wong <davidtlwong@xxxxxxxxx>"); > diff --git a/drivers/media/dvb-frontends/au8522_dig.c b/drivers/media/dvb-frontends/au8522_dig.c > index 78cafdf27961..230436bf6cbd 100644 > --- a/drivers/media/dvb-frontends/au8522_dig.c > +++ b/drivers/media/dvb-frontends/au8522_dig.c > @@ -879,7 +879,7 @@ struct dvb_frontend *au8522_attach(const struct au8522_config *config, > au8522_release_state(state); > return NULL; > } > -EXPORT_SYMBOL(au8522_attach); > +EXPORT_SYMBOL_GPL(au8522_attach); > > static const struct dvb_frontend_ops au8522_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/bcm3510.c b/drivers/media/dvb-frontends/bcm3510.c > index 68b92b4419cf..b3f5c49accaf 100644 > --- a/drivers/media/dvb-frontends/bcm3510.c > +++ b/drivers/media/dvb-frontends/bcm3510.c > @@ -835,7 +835,7 @@ struct dvb_frontend* bcm3510_attach(const struct bcm3510_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(bcm3510_attach); > +EXPORT_SYMBOL_GPL(bcm3510_attach); > > static const struct dvb_frontend_ops bcm3510_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/cx22700.c b/drivers/media/dvb-frontends/cx22700.c > index b39ff516271b..1d04c0a652b2 100644 > --- a/drivers/media/dvb-frontends/cx22700.c > +++ b/drivers/media/dvb-frontends/cx22700.c > @@ -432,4 +432,4 @@ MODULE_DESCRIPTION("Conexant CX22700 DVB-T Demodulator driver"); > MODULE_AUTHOR("Holger Waechtler"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(cx22700_attach); > +EXPORT_SYMBOL_GPL(cx22700_attach); > diff --git a/drivers/media/dvb-frontends/cx22702.c b/drivers/media/dvb-frontends/cx22702.c > index cc6acbf6393d..61ad34b7004b 100644 > --- a/drivers/media/dvb-frontends/cx22702.c > +++ b/drivers/media/dvb-frontends/cx22702.c > @@ -604,7 +604,7 @@ struct dvb_frontend *cx22702_attach(const struct cx22702_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(cx22702_attach); > +EXPORT_SYMBOL_GPL(cx22702_attach); > > static const struct dvb_frontend_ops cx22702_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/cx24110.c b/drivers/media/dvb-frontends/cx24110.c > index 6f99d6a27be2..9aeea089756f 100644 > --- a/drivers/media/dvb-frontends/cx24110.c > +++ b/drivers/media/dvb-frontends/cx24110.c > @@ -653,4 +653,4 @@ MODULE_DESCRIPTION("Conexant CX24110 DVB-S Demodulator driver"); > MODULE_AUTHOR("Peter Hettkamp"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(cx24110_attach); > +EXPORT_SYMBOL_GPL(cx24110_attach); > diff --git a/drivers/media/dvb-frontends/cx24113.c b/drivers/media/dvb-frontends/cx24113.c > index dd55d314bf9a..203cb6b3f941 100644 > --- a/drivers/media/dvb-frontends/cx24113.c > +++ b/drivers/media/dvb-frontends/cx24113.c > @@ -590,7 +590,7 @@ struct dvb_frontend *cx24113_attach(struct dvb_frontend *fe, > > return NULL; > } > -EXPORT_SYMBOL(cx24113_attach); > +EXPORT_SYMBOL_GPL(cx24113_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)"); > diff --git a/drivers/media/dvb-frontends/cx24116.c b/drivers/media/dvb-frontends/cx24116.c > index ea8264ccbb4e..8b978a9f74a4 100644 > --- a/drivers/media/dvb-frontends/cx24116.c > +++ b/drivers/media/dvb-frontends/cx24116.c > @@ -1133,7 +1133,7 @@ struct dvb_frontend *cx24116_attach(const struct cx24116_config *config, > state->frontend.demodulator_priv = state; > return &state->frontend; > } > -EXPORT_SYMBOL(cx24116_attach); > +EXPORT_SYMBOL_GPL(cx24116_attach); > > /* > * Initialise or wake up device > diff --git a/drivers/media/dvb-frontends/cx24120.c b/drivers/media/dvb-frontends/cx24120.c > index 0f778660c72b..44515fdbe91d 100644 > --- a/drivers/media/dvb-frontends/cx24120.c > +++ b/drivers/media/dvb-frontends/cx24120.c > @@ -305,7 +305,7 @@ struct dvb_frontend *cx24120_attach(const struct cx24120_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(cx24120_attach); > +EXPORT_SYMBOL_GPL(cx24120_attach); > > static int cx24120_test_rom(struct cx24120_state *state) > { > diff --git a/drivers/media/dvb-frontends/cx24123.c b/drivers/media/dvb-frontends/cx24123.c > index 3d84ee17e54c..539889e638cc 100644 > --- a/drivers/media/dvb-frontends/cx24123.c > +++ b/drivers/media/dvb-frontends/cx24123.c > @@ -1096,7 +1096,7 @@ struct dvb_frontend *cx24123_attach(const struct cx24123_config *config, > > return NULL; > } > -EXPORT_SYMBOL(cx24123_attach); > +EXPORT_SYMBOL_GPL(cx24123_attach); > > static const struct dvb_frontend_ops cx24123_ops = { > .delsys = { SYS_DVBS }, > diff --git a/drivers/media/dvb-frontends/cxd2820r_core.c b/drivers/media/dvb-frontends/cxd2820r_core.c > index d7ee294c6833..7feb08dccfa1 100644 > --- a/drivers/media/dvb-frontends/cxd2820r_core.c > +++ b/drivers/media/dvb-frontends/cxd2820r_core.c > @@ -536,7 +536,7 @@ struct dvb_frontend *cxd2820r_attach(const struct cxd2820r_config *config, > > return pdata.get_dvb_frontend(client); > } > -EXPORT_SYMBOL(cxd2820r_attach); > +EXPORT_SYMBOL_GPL(cxd2820r_attach); > > static struct dvb_frontend *cxd2820r_get_dvb_frontend(struct i2c_client *client) > { > diff --git a/drivers/media/dvb-frontends/cxd2841er.c b/drivers/media/dvb-frontends/cxd2841er.c > index ef403a9fb753..d925ca24183b 100644 > --- a/drivers/media/dvb-frontends/cxd2841er.c > +++ b/drivers/media/dvb-frontends/cxd2841er.c > @@ -3930,14 +3930,14 @@ struct dvb_frontend *cxd2841er_attach_s(struct cxd2841er_config *cfg, > { > return cxd2841er_attach(cfg, i2c, SYS_DVBS); > } > -EXPORT_SYMBOL(cxd2841er_attach_s); > +EXPORT_SYMBOL_GPL(cxd2841er_attach_s); > > struct dvb_frontend *cxd2841er_attach_t_c(struct cxd2841er_config *cfg, > struct i2c_adapter *i2c) > { > return cxd2841er_attach(cfg, i2c, 0); > } > -EXPORT_SYMBOL(cxd2841er_attach_t_c); > +EXPORT_SYMBOL_GPL(cxd2841er_attach_t_c); > > static const struct dvb_frontend_ops cxd2841er_dvbs_s2_ops = { > .delsys = { SYS_DVBS, SYS_DVBS2 }, > diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c b/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c > index f67b6d24b8d4..a06d8368ca79 100644 > --- a/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c > +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c > @@ -1950,7 +1950,7 @@ struct dvb_frontend *cxd2880_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(cxd2880_attach); > +EXPORT_SYMBOL_GPL(cxd2880_attach); > > MODULE_DESCRIPTION("Sony CXD2880 DVB-T2/T tuner + demod driver"); > MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); > diff --git a/drivers/media/dvb-frontends/dib0070.c b/drivers/media/dvb-frontends/dib0070.c > index cafb41dba861..9a8e7cdd2a24 100644 > --- a/drivers/media/dvb-frontends/dib0070.c > +++ b/drivers/media/dvb-frontends/dib0070.c > @@ -762,7 +762,7 @@ struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter > fe->tuner_priv = NULL; > return NULL; > } > -EXPORT_SYMBOL(dib0070_attach); > +EXPORT_SYMBOL_GPL(dib0070_attach); > > MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@xxxxxxxxx>"); > MODULE_DESCRIPTION("Driver for the DiBcom 0070 base-band RF Tuner"); > diff --git a/drivers/media/dvb-frontends/dib0090.c b/drivers/media/dvb-frontends/dib0090.c > index 903da33642df..c958bcff026e 100644 > --- a/drivers/media/dvb-frontends/dib0090.c > +++ b/drivers/media/dvb-frontends/dib0090.c > @@ -2634,7 +2634,7 @@ struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapte > return NULL; > } > > -EXPORT_SYMBOL(dib0090_register); > +EXPORT_SYMBOL_GPL(dib0090_register); > > struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config) > { > @@ -2660,7 +2660,7 @@ struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_ada > fe->tuner_priv = NULL; > return NULL; > } > -EXPORT_SYMBOL(dib0090_fw_register); > +EXPORT_SYMBOL_GPL(dib0090_fw_register); > > MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@xxxxxxxxx>"); > MODULE_AUTHOR("Olivier Grenie <olivier.grenie@xxxxxxxxxx>"); > diff --git a/drivers/media/dvb-frontends/dib3000mb.c b/drivers/media/dvb-frontends/dib3000mb.c > index a6c2fc4586eb..c598b2a63325 100644 > --- a/drivers/media/dvb-frontends/dib3000mb.c > +++ b/drivers/media/dvb-frontends/dib3000mb.c > @@ -815,4 +815,4 @@ MODULE_AUTHOR(DRIVER_AUTHOR); > MODULE_DESCRIPTION(DRIVER_DESC); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(dib3000mb_attach); > +EXPORT_SYMBOL_GPL(dib3000mb_attach); > diff --git a/drivers/media/dvb-frontends/dib3000mc.c b/drivers/media/dvb-frontends/dib3000mc.c > index 2e11a246aae0..c2fca8289aba 100644 > --- a/drivers/media/dvb-frontends/dib3000mc.c > +++ b/drivers/media/dvb-frontends/dib3000mc.c > @@ -935,7 +935,7 @@ struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr > kfree(st); > return NULL; > } > -EXPORT_SYMBOL(dib3000mc_attach); > +EXPORT_SYMBOL_GPL(dib3000mc_attach); > > static const struct dvb_frontend_ops dib3000mc_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/dib7000m.c b/drivers/media/dvb-frontends/dib7000m.c > index 97ce97789c9e..fdb22f32e3a1 100644 > --- a/drivers/media/dvb-frontends/dib7000m.c > +++ b/drivers/media/dvb-frontends/dib7000m.c > @@ -1434,7 +1434,7 @@ struct dvb_frontend * dib7000m_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, > kfree(st); > return NULL; > } > -EXPORT_SYMBOL(dib7000m_attach); > +EXPORT_SYMBOL_GPL(dib7000m_attach); > > static const struct dvb_frontend_ops dib7000m_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/dib7000p.c b/drivers/media/dvb-frontends/dib7000p.c > index 9273758bf140..444fe1c4bf2d 100644 > --- a/drivers/media/dvb-frontends/dib7000p.c > +++ b/drivers/media/dvb-frontends/dib7000p.c > @@ -2822,7 +2822,7 @@ void *dib7000p_attach(struct dib7000p_ops *ops) > > return ops; > } > -EXPORT_SYMBOL(dib7000p_attach); > +EXPORT_SYMBOL_GPL(dib7000p_attach); > > static const struct dvb_frontend_ops dib7000p_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c > index 2abda7d1cb6e..2f5165918163 100644 > --- a/drivers/media/dvb-frontends/dib8000.c > +++ b/drivers/media/dvb-frontends/dib8000.c > @@ -4527,7 +4527,7 @@ void *dib8000_attach(struct dib8000_ops *ops) > > return ops; > } > -EXPORT_SYMBOL(dib8000_attach); > +EXPORT_SYMBOL_GPL(dib8000_attach); > > MODULE_AUTHOR("Olivier Grenie <Olivier.Grenie@xxxxxxxxxx, Patrick Boettcher <patrick.boettcher@xxxxxxxxx>"); > MODULE_DESCRIPTION("Driver for the DiBcom 8000 ISDB-T demodulator"); > diff --git a/drivers/media/dvb-frontends/dib9000.c b/drivers/media/dvb-frontends/dib9000.c > index 1c57587a917a..83cf6eadd49c 100644 > --- a/drivers/media/dvb-frontends/dib9000.c > +++ b/drivers/media/dvb-frontends/dib9000.c > @@ -2546,7 +2546,7 @@ struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, c > kfree(st); > return NULL; > } > -EXPORT_SYMBOL(dib9000_attach); > +EXPORT_SYMBOL_GPL(dib9000_attach); > > static const struct dvb_frontend_ops dib9000_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c > index 68f4e8b5a0ab..a738573c8cd7 100644 > --- a/drivers/media/dvb-frontends/drx39xyj/drxj.c > +++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c > @@ -12372,7 +12372,7 @@ struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) > > return NULL; > } > -EXPORT_SYMBOL(drx39xxj_attach); > +EXPORT_SYMBOL_GPL(drx39xxj_attach); > > static const struct dvb_frontend_ops drx39xxj_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/drxd_hard.c b/drivers/media/dvb-frontends/drxd_hard.c > index 9860cae65f1c..6a531937f4bb 100644 > --- a/drivers/media/dvb-frontends/drxd_hard.c > +++ b/drivers/media/dvb-frontends/drxd_hard.c > @@ -2939,7 +2939,7 @@ struct dvb_frontend *drxd_attach(const struct drxd_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(drxd_attach); > +EXPORT_SYMBOL_GPL(drxd_attach); > > MODULE_DESCRIPTION("DRXD driver"); > MODULE_AUTHOR("Micronas"); > diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c > index 2770baebbbbc..87f3d4f0eb8c 100644 > --- a/drivers/media/dvb-frontends/drxk_hard.c > +++ b/drivers/media/dvb-frontends/drxk_hard.c > @@ -6814,7 +6814,7 @@ struct dvb_frontend *drxk_attach(const struct drxk_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(drxk_attach); > +EXPORT_SYMBOL_GPL(drxk_attach); > > MODULE_DESCRIPTION("DRX-K driver"); > MODULE_AUTHOR("Ralph Metzler"); > diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c > index 20fcf31af165..515aa7c7baf2 100644 > --- a/drivers/media/dvb-frontends/ds3000.c > +++ b/drivers/media/dvb-frontends/ds3000.c > @@ -859,7 +859,7 @@ struct dvb_frontend *ds3000_attach(const struct ds3000_config *config, > ds3000_set_voltage(&state->frontend, SEC_VOLTAGE_OFF); > return &state->frontend; > } > -EXPORT_SYMBOL(ds3000_attach); > +EXPORT_SYMBOL_GPL(ds3000_attach); > > static int ds3000_set_carrier_offset(struct dvb_frontend *fe, > s32 carrier_offset_khz) > diff --git a/drivers/media/dvb-frontends/dvb-pll.c b/drivers/media/dvb-frontends/dvb-pll.c > index 90cb41eacf98..ef697ab6bc2e 100644 > --- a/drivers/media/dvb-frontends/dvb-pll.c > +++ b/drivers/media/dvb-frontends/dvb-pll.c > @@ -866,7 +866,7 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, > > return NULL; > } > -EXPORT_SYMBOL(dvb_pll_attach); > +EXPORT_SYMBOL_GPL(dvb_pll_attach); > > > static int > diff --git a/drivers/media/dvb-frontends/ec100.c b/drivers/media/dvb-frontends/ec100.c > index 03bd80666cf8..2ad0a3c2f756 100644 > --- a/drivers/media/dvb-frontends/ec100.c > +++ b/drivers/media/dvb-frontends/ec100.c > @@ -299,7 +299,7 @@ struct dvb_frontend *ec100_attach(const struct ec100_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(ec100_attach); > +EXPORT_SYMBOL_GPL(ec100_attach); > > static const struct dvb_frontend_ops ec100_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/helene.c b/drivers/media/dvb-frontends/helene.c > index 68c1a3e0e2ba..f127adee3ebb 100644 > --- a/drivers/media/dvb-frontends/helene.c > +++ b/drivers/media/dvb-frontends/helene.c > @@ -1025,7 +1025,7 @@ struct dvb_frontend *helene_attach_s(struct dvb_frontend *fe, > priv->i2c_address, priv->i2c); > return fe; > } > -EXPORT_SYMBOL(helene_attach_s); > +EXPORT_SYMBOL_GPL(helene_attach_s); > > struct dvb_frontend *helene_attach(struct dvb_frontend *fe, > const struct helene_config *config, > @@ -1061,7 +1061,7 @@ struct dvb_frontend *helene_attach(struct dvb_frontend *fe, > priv->i2c_address, priv->i2c); > return fe; > } > -EXPORT_SYMBOL(helene_attach); > +EXPORT_SYMBOL_GPL(helene_attach); > > static int helene_probe(struct i2c_client *client) > { > diff --git a/drivers/media/dvb-frontends/horus3a.c b/drivers/media/dvb-frontends/horus3a.c > index 24bf5cbcc184..0330b78a5b3f 100644 > --- a/drivers/media/dvb-frontends/horus3a.c > +++ b/drivers/media/dvb-frontends/horus3a.c > @@ -395,7 +395,7 @@ struct dvb_frontend *horus3a_attach(struct dvb_frontend *fe, > priv->i2c_address, priv->i2c); > return fe; > } > -EXPORT_SYMBOL(horus3a_attach); > +EXPORT_SYMBOL_GPL(horus3a_attach); > > MODULE_DESCRIPTION("Sony HORUS3A satellite tuner driver"); > MODULE_AUTHOR("Sergey Kozlov <serjk@xxxxxxxx>"); > diff --git a/drivers/media/dvb-frontends/isl6405.c b/drivers/media/dvb-frontends/isl6405.c > index 2cd69b4ff82c..7d28a743f97e 100644 > --- a/drivers/media/dvb-frontends/isl6405.c > +++ b/drivers/media/dvb-frontends/isl6405.c > @@ -141,7 +141,7 @@ struct dvb_frontend *isl6405_attach(struct dvb_frontend *fe, struct i2c_adapter > > return fe; > } > -EXPORT_SYMBOL(isl6405_attach); > +EXPORT_SYMBOL_GPL(isl6405_attach); > > MODULE_DESCRIPTION("Driver for lnb supply and control ic isl6405"); > MODULE_AUTHOR("Hartmut Hackmann & Oliver Endriss"); > diff --git a/drivers/media/dvb-frontends/isl6421.c b/drivers/media/dvb-frontends/isl6421.c > index 43b0dfc6f453..2e9f6f12f849 100644 > --- a/drivers/media/dvb-frontends/isl6421.c > +++ b/drivers/media/dvb-frontends/isl6421.c > @@ -213,7 +213,7 @@ struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter > > return fe; > } > -EXPORT_SYMBOL(isl6421_attach); > +EXPORT_SYMBOL_GPL(isl6421_attach); > > MODULE_DESCRIPTION("Driver for lnb supply and control ic isl6421"); > MODULE_AUTHOR("Andrew de Quincey & Oliver Endriss"); > diff --git a/drivers/media/dvb-frontends/isl6423.c b/drivers/media/dvb-frontends/isl6423.c > index 8cd1bb88ce6e..a0d0a3834057 100644 > --- a/drivers/media/dvb-frontends/isl6423.c > +++ b/drivers/media/dvb-frontends/isl6423.c > @@ -289,7 +289,7 @@ struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, > fe->sec_priv = NULL; > return NULL; > } > -EXPORT_SYMBOL(isl6423_attach); > +EXPORT_SYMBOL_GPL(isl6423_attach); > > MODULE_DESCRIPTION("ISL6423 SEC"); > MODULE_AUTHOR("Manu Abraham"); > diff --git a/drivers/media/dvb-frontends/itd1000.c b/drivers/media/dvb-frontends/itd1000.c > index 1b33478653d1..f8f362f50e78 100644 > --- a/drivers/media/dvb-frontends/itd1000.c > +++ b/drivers/media/dvb-frontends/itd1000.c > @@ -389,7 +389,7 @@ struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter > > return fe; > } > -EXPORT_SYMBOL(itd1000_attach); > +EXPORT_SYMBOL_GPL(itd1000_attach); > > MODULE_AUTHOR("Patrick Boettcher <pb@xxxxxxxxxxx>"); > MODULE_DESCRIPTION("Integrant ITD1000 driver"); > diff --git a/drivers/media/dvb-frontends/ix2505v.c b/drivers/media/dvb-frontends/ix2505v.c > index 73f27105c139..3212e333d472 100644 > --- a/drivers/media/dvb-frontends/ix2505v.c > +++ b/drivers/media/dvb-frontends/ix2505v.c > @@ -302,7 +302,7 @@ struct dvb_frontend *ix2505v_attach(struct dvb_frontend *fe, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(ix2505v_attach); > +EXPORT_SYMBOL_GPL(ix2505v_attach); > > module_param_named(debug, ix2505v_debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/l64781.c b/drivers/media/dvb-frontends/l64781.c > index c5106a1ea1cd..fe5af2453d55 100644 > --- a/drivers/media/dvb-frontends/l64781.c > +++ b/drivers/media/dvb-frontends/l64781.c > @@ -593,4 +593,4 @@ MODULE_DESCRIPTION("LSI L64781 DVB-T Demodulator driver"); > MODULE_AUTHOR("Holger Waechtler, Marko Kohtala"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(l64781_attach); > +EXPORT_SYMBOL_GPL(l64781_attach); > diff --git a/drivers/media/dvb-frontends/lg2160.c b/drivers/media/dvb-frontends/lg2160.c > index f343066c297e..fe700aa56bff 100644 > --- a/drivers/media/dvb-frontends/lg2160.c > +++ b/drivers/media/dvb-frontends/lg2160.c > @@ -1426,7 +1426,7 @@ struct dvb_frontend *lg2160_attach(const struct lg2160_config *config, > > return &state->frontend; > } > -EXPORT_SYMBOL(lg2160_attach); > +EXPORT_SYMBOL_GPL(lg2160_attach); > > MODULE_DESCRIPTION("LG Electronics LG216x ATSC/MH Demodulator Driver"); > MODULE_AUTHOR("Michael Krufky <mkrufky@xxxxxxxxxxx>"); > diff --git a/drivers/media/dvb-frontends/lgdt3305.c b/drivers/media/dvb-frontends/lgdt3305.c > index c15d3735d34c..bdc8311e1c0b 100644 > --- a/drivers/media/dvb-frontends/lgdt3305.c > +++ b/drivers/media/dvb-frontends/lgdt3305.c > @@ -1148,7 +1148,7 @@ struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(lgdt3305_attach); > +EXPORT_SYMBOL_GPL(lgdt3305_attach); > > static const struct dvb_frontend_ops lgdt3304_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c > index 3c6650f6e9a3..263887592415 100644 > --- a/drivers/media/dvb-frontends/lgdt3306a.c > +++ b/drivers/media/dvb-frontends/lgdt3306a.c > @@ -1859,7 +1859,7 @@ struct dvb_frontend *lgdt3306a_attach(const struct lgdt3306a_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(lgdt3306a_attach); > +EXPORT_SYMBOL_GPL(lgdt3306a_attach); > > #ifdef DBG_DUMP > > diff --git a/drivers/media/dvb-frontends/lgdt330x.c b/drivers/media/dvb-frontends/lgdt330x.c > index 97a10996c7fa..081d6ad3ce72 100644 > --- a/drivers/media/dvb-frontends/lgdt330x.c > +++ b/drivers/media/dvb-frontends/lgdt330x.c > @@ -927,7 +927,7 @@ struct dvb_frontend *lgdt330x_attach(const struct lgdt330x_config *_config, > > return lgdt330x_get_dvb_frontend(client); > } > -EXPORT_SYMBOL(lgdt330x_attach); > +EXPORT_SYMBOL_GPL(lgdt330x_attach); > > static const struct dvb_frontend_ops lgdt3302_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/lgs8gxx.c b/drivers/media/dvb-frontends/lgs8gxx.c > index 30014979b985..ffaf60e16ecd 100644 > --- a/drivers/media/dvb-frontends/lgs8gxx.c > +++ b/drivers/media/dvb-frontends/lgs8gxx.c > @@ -1043,7 +1043,7 @@ struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, > return NULL; > > } > -EXPORT_SYMBOL(lgs8gxx_attach); > +EXPORT_SYMBOL_GPL(lgs8gxx_attach); > > MODULE_DESCRIPTION("Legend Silicon LGS8913/LGS8GXX DMB-TH demodulator driver"); > MODULE_AUTHOR("David T. L. Wong <davidtlwong@xxxxxxxxx>"); > diff --git a/drivers/media/dvb-frontends/lnbh25.c b/drivers/media/dvb-frontends/lnbh25.c > index 9ffe06cd787d..41bec050642b 100644 > --- a/drivers/media/dvb-frontends/lnbh25.c > +++ b/drivers/media/dvb-frontends/lnbh25.c > @@ -173,7 +173,7 @@ struct dvb_frontend *lnbh25_attach(struct dvb_frontend *fe, > __func__, priv->i2c_address); > return fe; > } > -EXPORT_SYMBOL(lnbh25_attach); > +EXPORT_SYMBOL_GPL(lnbh25_attach); > > MODULE_DESCRIPTION("ST LNBH25 driver"); > MODULE_AUTHOR("info@xxxxxxxx"); > diff --git a/drivers/media/dvb-frontends/lnbp21.c b/drivers/media/dvb-frontends/lnbp21.c > index e564974162d6..32593b1f75a3 100644 > --- a/drivers/media/dvb-frontends/lnbp21.c > +++ b/drivers/media/dvb-frontends/lnbp21.c > @@ -155,7 +155,7 @@ struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe, > return lnbx2x_attach(fe, i2c, override_set, override_clear, > i2c_addr, LNBH24_TTX); > } > -EXPORT_SYMBOL(lnbh24_attach); > +EXPORT_SYMBOL_GPL(lnbh24_attach); > > struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, > struct i2c_adapter *i2c, u8 override_set, > @@ -164,7 +164,7 @@ struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, > return lnbx2x_attach(fe, i2c, override_set, override_clear, > 0x08, LNBP21_ISEL); > } > -EXPORT_SYMBOL(lnbp21_attach); > +EXPORT_SYMBOL_GPL(lnbp21_attach); > > MODULE_DESCRIPTION("Driver for lnb supply and control ic lnbp21, lnbh24"); > MODULE_AUTHOR("Oliver Endriss, Igor M. Liplianin"); > diff --git a/drivers/media/dvb-frontends/lnbp22.c b/drivers/media/dvb-frontends/lnbp22.c > index b8c7145d4cef..cb4ea5d3fad4 100644 > --- a/drivers/media/dvb-frontends/lnbp22.c > +++ b/drivers/media/dvb-frontends/lnbp22.c > @@ -125,7 +125,7 @@ struct dvb_frontend *lnbp22_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(lnbp22_attach); > +EXPORT_SYMBOL_GPL(lnbp22_attach); > > MODULE_DESCRIPTION("Driver for lnb supply and control ic lnbp22"); > MODULE_AUTHOR("Dominik Kuhlen"); > diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c > index cf49ac56a37e..cf037b61b226 100644 > --- a/drivers/media/dvb-frontends/m88ds3103.c > +++ b/drivers/media/dvb-frontends/m88ds3103.c > @@ -1695,7 +1695,7 @@ struct dvb_frontend *m88ds3103_attach(const struct m88ds3103_config *cfg, > *tuner_i2c_adapter = pdata.get_i2c_adapter(client); > return pdata.get_dvb_frontend(client); > } > -EXPORT_SYMBOL(m88ds3103_attach); > +EXPORT_SYMBOL_GPL(m88ds3103_attach); > > static const struct dvb_frontend_ops m88ds3103_ops = { > .delsys = {SYS_DVBS, SYS_DVBS2}, > diff --git a/drivers/media/dvb-frontends/m88rs2000.c b/drivers/media/dvb-frontends/m88rs2000.c > index b294ba87e934..2aa98203cd65 100644 > --- a/drivers/media/dvb-frontends/m88rs2000.c > +++ b/drivers/media/dvb-frontends/m88rs2000.c > @@ -808,7 +808,7 @@ struct dvb_frontend *m88rs2000_attach(const struct m88rs2000_config *config, > > return NULL; > } > -EXPORT_SYMBOL(m88rs2000_attach); > +EXPORT_SYMBOL_GPL(m88rs2000_attach); > > MODULE_DESCRIPTION("M88RS2000 DVB-S Demodulator driver"); > MODULE_AUTHOR("Malcolm Priestley tvboxspy@xxxxxxxxx"); > diff --git a/drivers/media/dvb-frontends/mb86a16.c b/drivers/media/dvb-frontends/mb86a16.c > index 3ec2cb4fa504..0fc45896e7b8 100644 > --- a/drivers/media/dvb-frontends/mb86a16.c > +++ b/drivers/media/dvb-frontends/mb86a16.c > @@ -1853,6 +1853,6 @@ struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(mb86a16_attach); > +EXPORT_SYMBOL_GPL(mb86a16_attach); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Manu Abraham"); > diff --git a/drivers/media/dvb-frontends/mb86a20s.c b/drivers/media/dvb-frontends/mb86a20s.c > index 125fed4891ba..f8e4bbee5bd5 100644 > --- a/drivers/media/dvb-frontends/mb86a20s.c > +++ b/drivers/media/dvb-frontends/mb86a20s.c > @@ -2078,7 +2078,7 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, > dev_info(&i2c->dev, "Detected a Fujitsu mb86a20s frontend\n"); > return &state->frontend; > } > -EXPORT_SYMBOL(mb86a20s_attach); > +EXPORT_SYMBOL_GPL(mb86a20s_attach); > > static const struct dvb_frontend_ops mb86a20s_ops = { > .delsys = { SYS_ISDBT }, > diff --git a/drivers/media/dvb-frontends/mt312.c b/drivers/media/dvb-frontends/mt312.c > index d43a67045dbe..fb867dd8a26b 100644 > --- a/drivers/media/dvb-frontends/mt312.c > +++ b/drivers/media/dvb-frontends/mt312.c > @@ -827,7 +827,7 @@ struct dvb_frontend *mt312_attach(const struct mt312_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(mt312_attach); > +EXPORT_SYMBOL_GPL(mt312_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/mt352.c b/drivers/media/dvb-frontends/mt352.c > index 399d5c519027..1b2889f5cf67 100644 > --- a/drivers/media/dvb-frontends/mt352.c > +++ b/drivers/media/dvb-frontends/mt352.c > @@ -593,4 +593,4 @@ MODULE_DESCRIPTION("Zarlink MT352 DVB-T Demodulator driver"); > MODULE_AUTHOR("Holger Waechtler, Daniel Mack, Antonio Mancuso"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(mt352_attach); > +EXPORT_SYMBOL_GPL(mt352_attach); > diff --git a/drivers/media/dvb-frontends/nxt200x.c b/drivers/media/dvb-frontends/nxt200x.c > index 200b6dbc75f8..1c549ada6ebf 100644 > --- a/drivers/media/dvb-frontends/nxt200x.c > +++ b/drivers/media/dvb-frontends/nxt200x.c > @@ -1216,5 +1216,5 @@ MODULE_DESCRIPTION("NXT200X (ATSC 8VSB & ITU-T J.83 AnnexB 64/256 QAM) Demodulat > MODULE_AUTHOR("Kirk Lapray, Michael Krufky, Jean-Francois Thibert, and Taylor Jacob"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(nxt200x_attach); > +EXPORT_SYMBOL_GPL(nxt200x_attach); > > diff --git a/drivers/media/dvb-frontends/nxt6000.c b/drivers/media/dvb-frontends/nxt6000.c > index 136918f82dda..e8d4940370dd 100644 > --- a/drivers/media/dvb-frontends/nxt6000.c > +++ b/drivers/media/dvb-frontends/nxt6000.c > @@ -621,4 +621,4 @@ MODULE_DESCRIPTION("NxtWave NXT6000 DVB-T demodulator driver"); > MODULE_AUTHOR("Florian Schirmer"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(nxt6000_attach); > +EXPORT_SYMBOL_GPL(nxt6000_attach); > diff --git a/drivers/media/dvb-frontends/or51132.c b/drivers/media/dvb-frontends/or51132.c > index 355f3598627b..74e04c7cca1e 100644 > --- a/drivers/media/dvb-frontends/or51132.c > +++ b/drivers/media/dvb-frontends/or51132.c > @@ -605,4 +605,4 @@ MODULE_AUTHOR("Kirk Lapray"); > MODULE_AUTHOR("Trent Piepho"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(or51132_attach); > +EXPORT_SYMBOL_GPL(or51132_attach); > diff --git a/drivers/media/dvb-frontends/or51211.c b/drivers/media/dvb-frontends/or51211.c > index ae732dc5116e..2e8e7071a67a 100644 > --- a/drivers/media/dvb-frontends/or51211.c > +++ b/drivers/media/dvb-frontends/or51211.c > @@ -551,5 +551,5 @@ MODULE_DESCRIPTION("Oren OR51211 VSB [pcHDTV HD-2000] Demodulator Driver"); > MODULE_AUTHOR("Kirk Lapray"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(or51211_attach); > +EXPORT_SYMBOL_GPL(or51211_attach); > > diff --git a/drivers/media/dvb-frontends/s5h1409.c b/drivers/media/dvb-frontends/s5h1409.c > index 3089cc174a6f..28b1dca077ea 100644 > --- a/drivers/media/dvb-frontends/s5h1409.c > +++ b/drivers/media/dvb-frontends/s5h1409.c > @@ -981,7 +981,7 @@ struct dvb_frontend *s5h1409_attach(const struct s5h1409_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(s5h1409_attach); > +EXPORT_SYMBOL_GPL(s5h1409_attach); > > static const struct dvb_frontend_ops s5h1409_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/s5h1411.c b/drivers/media/dvb-frontends/s5h1411.c > index 2563a72e98b7..fc48e659c2d8 100644 > --- a/drivers/media/dvb-frontends/s5h1411.c > +++ b/drivers/media/dvb-frontends/s5h1411.c > @@ -900,7 +900,7 @@ struct dvb_frontend *s5h1411_attach(const struct s5h1411_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(s5h1411_attach); > +EXPORT_SYMBOL_GPL(s5h1411_attach); > > static const struct dvb_frontend_ops s5h1411_ops = { > .delsys = { SYS_ATSC, SYS_DVBC_ANNEX_B }, > diff --git a/drivers/media/dvb-frontends/s5h1420.c b/drivers/media/dvb-frontends/s5h1420.c > index 6bdec2898bc8..d700de1ea6c2 100644 > --- a/drivers/media/dvb-frontends/s5h1420.c > +++ b/drivers/media/dvb-frontends/s5h1420.c > @@ -918,7 +918,7 @@ struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(s5h1420_attach); > +EXPORT_SYMBOL_GPL(s5h1420_attach); > > static const struct dvb_frontend_ops s5h1420_ops = { > .delsys = { SYS_DVBS }, > diff --git a/drivers/media/dvb-frontends/s5h1432.c b/drivers/media/dvb-frontends/s5h1432.c > index 956e8ee4b388..ff5d3bdf3bc6 100644 > --- a/drivers/media/dvb-frontends/s5h1432.c > +++ b/drivers/media/dvb-frontends/s5h1432.c > @@ -355,7 +355,7 @@ struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config, > > return &state->frontend; > } > -EXPORT_SYMBOL(s5h1432_attach); > +EXPORT_SYMBOL_GPL(s5h1432_attach); > > static const struct dvb_frontend_ops s5h1432_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/s921.c b/drivers/media/dvb-frontends/s921.c > index f118d8e64103..7e461ac159fc 100644 > --- a/drivers/media/dvb-frontends/s921.c > +++ b/drivers/media/dvb-frontends/s921.c > @@ -495,7 +495,7 @@ struct dvb_frontend *s921_attach(const struct s921_config *config, > > return &state->frontend; > } > -EXPORT_SYMBOL(s921_attach); > +EXPORT_SYMBOL_GPL(s921_attach); > > static const struct dvb_frontend_ops s921_ops = { > .delsys = { SYS_ISDBT }, > diff --git a/drivers/media/dvb-frontends/si21xx.c b/drivers/media/dvb-frontends/si21xx.c > index 2d29d2c4d434..210ccd356e2b 100644 > --- a/drivers/media/dvb-frontends/si21xx.c > +++ b/drivers/media/dvb-frontends/si21xx.c > @@ -937,7 +937,7 @@ struct dvb_frontend *si21xx_attach(const struct si21xx_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(si21xx_attach); > +EXPORT_SYMBOL_GPL(si21xx_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/sp887x.c b/drivers/media/dvb-frontends/sp887x.c > index 146e7f2dd3c5..f59c0f96416b 100644 > --- a/drivers/media/dvb-frontends/sp887x.c > +++ b/drivers/media/dvb-frontends/sp887x.c > @@ -624,4 +624,4 @@ MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > MODULE_DESCRIPTION("Spase sp887x DVB-T demodulator driver"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(sp887x_attach); > +EXPORT_SYMBOL_GPL(sp887x_attach); > diff --git a/drivers/media/dvb-frontends/stb0899_drv.c b/drivers/media/dvb-frontends/stb0899_drv.c > index 4ee6c1e1e9f7..2f4d8fb400cd 100644 > --- a/drivers/media/dvb-frontends/stb0899_drv.c > +++ b/drivers/media/dvb-frontends/stb0899_drv.c > @@ -1638,7 +1638,7 @@ struct dvb_frontend *stb0899_attach(struct stb0899_config *config, struct i2c_ad > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stb0899_attach); > +EXPORT_SYMBOL_GPL(stb0899_attach); > MODULE_PARM_DESC(verbose, "Set Verbosity level"); > MODULE_AUTHOR("Manu Abraham"); > MODULE_DESCRIPTION("STB0899 Multi-Std frontend"); > diff --git a/drivers/media/dvb-frontends/stb6000.c b/drivers/media/dvb-frontends/stb6000.c > index 8c9800d577e0..d74e34677b92 100644 > --- a/drivers/media/dvb-frontends/stb6000.c > +++ b/drivers/media/dvb-frontends/stb6000.c > @@ -232,7 +232,7 @@ struct dvb_frontend *stb6000_attach(struct dvb_frontend *fe, int addr, > > return fe; > } > -EXPORT_SYMBOL(stb6000_attach); > +EXPORT_SYMBOL_GPL(stb6000_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/stb6100.c b/drivers/media/dvb-frontends/stb6100.c > index 698866c4f15a..c5818a15a0d7 100644 > --- a/drivers/media/dvb-frontends/stb6100.c > +++ b/drivers/media/dvb-frontends/stb6100.c > @@ -557,7 +557,7 @@ static void stb6100_release(struct dvb_frontend *fe) > kfree(state); > } > > -EXPORT_SYMBOL(stb6100_attach); > +EXPORT_SYMBOL_GPL(stb6100_attach); > MODULE_PARM_DESC(verbose, "Set Verbosity level"); > > MODULE_AUTHOR("Manu Abraham"); > diff --git a/drivers/media/dvb-frontends/stv0288.c b/drivers/media/dvb-frontends/stv0288.c > index 3ae1f3a2f142..a5581bd60f9e 100644 > --- a/drivers/media/dvb-frontends/stv0288.c > +++ b/drivers/media/dvb-frontends/stv0288.c > @@ -590,7 +590,7 @@ struct dvb_frontend *stv0288_attach(const struct stv0288_config *config, > > return NULL; > } > -EXPORT_SYMBOL(stv0288_attach); > +EXPORT_SYMBOL_GPL(stv0288_attach); > > module_param(debug_legacy_dish_switch, int, 0444); > MODULE_PARM_DESC(debug_legacy_dish_switch, > diff --git a/drivers/media/dvb-frontends/stv0297.c b/drivers/media/dvb-frontends/stv0297.c > index 6d5962d5697a..9d4dbd99a5a7 100644 > --- a/drivers/media/dvb-frontends/stv0297.c > +++ b/drivers/media/dvb-frontends/stv0297.c > @@ -710,4 +710,4 @@ MODULE_DESCRIPTION("ST STV0297 DVB-C Demodulator driver"); > MODULE_AUTHOR("Dennis Noermann and Andrew de Quincey"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(stv0297_attach); > +EXPORT_SYMBOL_GPL(stv0297_attach); > diff --git a/drivers/media/dvb-frontends/stv0299.c b/drivers/media/dvb-frontends/stv0299.c > index b5263a0ee5aa..da7ff2c2e8e5 100644 > --- a/drivers/media/dvb-frontends/stv0299.c > +++ b/drivers/media/dvb-frontends/stv0299.c > @@ -752,4 +752,4 @@ MODULE_DESCRIPTION("ST STV0299 DVB Demodulator driver"); > MODULE_AUTHOR("Ralph Metzler, Holger Waechtler, Peter Schildmann, Felix Domke, Andreas Oberritter, Andrew de Quincey, Kenneth Aafly"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(stv0299_attach); > +EXPORT_SYMBOL_GPL(stv0299_attach); > diff --git a/drivers/media/dvb-frontends/stv0367.c b/drivers/media/dvb-frontends/stv0367.c > index a93f40617469..48326434488c 100644 > --- a/drivers/media/dvb-frontends/stv0367.c > +++ b/drivers/media/dvb-frontends/stv0367.c > @@ -1750,7 +1750,7 @@ struct dvb_frontend *stv0367ter_attach(const struct stv0367_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stv0367ter_attach); > +EXPORT_SYMBOL_GPL(stv0367ter_attach); > > static int stv0367cab_gate_ctrl(struct dvb_frontend *fe, int enable) > { > @@ -2919,7 +2919,7 @@ struct dvb_frontend *stv0367cab_attach(const struct stv0367_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stv0367cab_attach); > +EXPORT_SYMBOL_GPL(stv0367cab_attach); > > /* > * Functions for operation on Digital Devices hardware > @@ -3340,7 +3340,7 @@ struct dvb_frontend *stv0367ddb_attach(const struct stv0367_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stv0367ddb_attach); > +EXPORT_SYMBOL_GPL(stv0367ddb_attach); > > MODULE_PARM_DESC(debug, "Set debug"); > MODULE_PARM_DESC(i2c_debug, "Set i2c debug"); > diff --git a/drivers/media/dvb-frontends/stv0900_core.c b/drivers/media/dvb-frontends/stv0900_core.c > index 212312d20ff6..e7b9b9b11d7d 100644 > --- a/drivers/media/dvb-frontends/stv0900_core.c > +++ b/drivers/media/dvb-frontends/stv0900_core.c > @@ -1957,7 +1957,7 @@ struct dvb_frontend *stv0900_attach(const struct stv0900_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stv0900_attach); > +EXPORT_SYMBOL_GPL(stv0900_attach); > > MODULE_PARM_DESC(debug, "Set debug"); > > diff --git a/drivers/media/dvb-frontends/stv090x.c b/drivers/media/dvb-frontends/stv090x.c > index a07dc5fdeb3d..cc45139057ba 100644 > --- a/drivers/media/dvb-frontends/stv090x.c > +++ b/drivers/media/dvb-frontends/stv090x.c > @@ -5071,7 +5071,7 @@ struct dvb_frontend *stv090x_attach(struct stv090x_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(stv090x_attach); > +EXPORT_SYMBOL_GPL(stv090x_attach); > > static const struct i2c_device_id stv090x_id_table[] = { > {"stv090x", 0}, > diff --git a/drivers/media/dvb-frontends/stv6110.c b/drivers/media/dvb-frontends/stv6110.c > index 963f6a896102..1cf9c095dbff 100644 > --- a/drivers/media/dvb-frontends/stv6110.c > +++ b/drivers/media/dvb-frontends/stv6110.c > @@ -427,7 +427,7 @@ struct dvb_frontend *stv6110_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(stv6110_attach); > +EXPORT_SYMBOL_GPL(stv6110_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/stv6110x.c b/drivers/media/dvb-frontends/stv6110x.c > index 11653f846c12..c678f47d2449 100644 > --- a/drivers/media/dvb-frontends/stv6110x.c > +++ b/drivers/media/dvb-frontends/stv6110x.c > @@ -467,7 +467,7 @@ const struct stv6110x_devctl *stv6110x_attach(struct dvb_frontend *fe, > dev_info(&stv6110x->i2c->dev, "Attaching STV6110x\n"); > return stv6110x->devctl; > } > -EXPORT_SYMBOL(stv6110x_attach); > +EXPORT_SYMBOL_GPL(stv6110x_attach); > > static const struct i2c_device_id stv6110x_id_table[] = { > {"stv6110x", 0}, > diff --git a/drivers/media/dvb-frontends/tda10021.c b/drivers/media/dvb-frontends/tda10021.c > index faa6e54b3372..462e12ab6bd1 100644 > --- a/drivers/media/dvb-frontends/tda10021.c > +++ b/drivers/media/dvb-frontends/tda10021.c > @@ -523,4 +523,4 @@ MODULE_DESCRIPTION("Philips TDA10021 DVB-C demodulator driver"); > MODULE_AUTHOR("Ralph Metzler, Holger Waechtler, Markus Schulz"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(tda10021_attach); > +EXPORT_SYMBOL_GPL(tda10021_attach); > diff --git a/drivers/media/dvb-frontends/tda10023.c b/drivers/media/dvb-frontends/tda10023.c > index 8f32edf6b700..4c2541ecd743 100644 > --- a/drivers/media/dvb-frontends/tda10023.c > +++ b/drivers/media/dvb-frontends/tda10023.c > @@ -594,4 +594,4 @@ MODULE_DESCRIPTION("Philips TDA10023 DVB-C demodulator driver"); > MODULE_AUTHOR("Georg Acher, Hartmut Birr"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(tda10023_attach); > +EXPORT_SYMBOL_GPL(tda10023_attach); > diff --git a/drivers/media/dvb-frontends/tda10048.c b/drivers/media/dvb-frontends/tda10048.c > index 3cb4e5270e4f..5d5e4e9e4422 100644 > --- a/drivers/media/dvb-frontends/tda10048.c > +++ b/drivers/media/dvb-frontends/tda10048.c > @@ -1138,7 +1138,7 @@ struct dvb_frontend *tda10048_attach(const struct tda10048_config *config, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(tda10048_attach); > +EXPORT_SYMBOL_GPL(tda10048_attach); > > static const struct dvb_frontend_ops tda10048_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/dvb-frontends/tda1004x.c b/drivers/media/dvb-frontends/tda1004x.c > index 83a798ca9b00..6f306db6c615 100644 > --- a/drivers/media/dvb-frontends/tda1004x.c > +++ b/drivers/media/dvb-frontends/tda1004x.c > @@ -1378,5 +1378,5 @@ MODULE_DESCRIPTION("Philips TDA10045H & TDA10046H DVB-T Demodulator"); > MODULE_AUTHOR("Andrew de Quincey & Robert Schlabbach"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(tda10045_attach); > -EXPORT_SYMBOL(tda10046_attach); > +EXPORT_SYMBOL_GPL(tda10045_attach); > +EXPORT_SYMBOL_GPL(tda10046_attach); > diff --git a/drivers/media/dvb-frontends/tda10086.c b/drivers/media/dvb-frontends/tda10086.c > index cdcf97664bba..b449514ae585 100644 > --- a/drivers/media/dvb-frontends/tda10086.c > +++ b/drivers/media/dvb-frontends/tda10086.c > @@ -764,4 +764,4 @@ MODULE_DESCRIPTION("Philips TDA10086 DVB-S Demodulator"); > MODULE_AUTHOR("Andrew de Quincey"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(tda10086_attach); > +EXPORT_SYMBOL_GPL(tda10086_attach); > diff --git a/drivers/media/dvb-frontends/tda665x.c b/drivers/media/dvb-frontends/tda665x.c > index 13e8969da7f8..346be5011fb7 100644 > --- a/drivers/media/dvb-frontends/tda665x.c > +++ b/drivers/media/dvb-frontends/tda665x.c > @@ -227,7 +227,7 @@ struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(tda665x_attach); > +EXPORT_SYMBOL_GPL(tda665x_attach); > > MODULE_DESCRIPTION("TDA665x driver"); > MODULE_AUTHOR("Manu Abraham"); > diff --git a/drivers/media/dvb-frontends/tda8083.c b/drivers/media/dvb-frontends/tda8083.c > index e3e1c3db2c85..44f53624557b 100644 > --- a/drivers/media/dvb-frontends/tda8083.c > +++ b/drivers/media/dvb-frontends/tda8083.c > @@ -481,4 +481,4 @@ MODULE_DESCRIPTION("Philips TDA8083 DVB-S Demodulator"); > MODULE_AUTHOR("Ralph Metzler, Holger Waechtler"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(tda8083_attach); > +EXPORT_SYMBOL_GPL(tda8083_attach); > diff --git a/drivers/media/dvb-frontends/tda8261.c b/drivers/media/dvb-frontends/tda8261.c > index 0d576d41c67d..8b06f92745dc 100644 > --- a/drivers/media/dvb-frontends/tda8261.c > +++ b/drivers/media/dvb-frontends/tda8261.c > @@ -188,7 +188,7 @@ struct dvb_frontend *tda8261_attach(struct dvb_frontend *fe, > return NULL; > } > > -EXPORT_SYMBOL(tda8261_attach); > +EXPORT_SYMBOL_GPL(tda8261_attach); > > MODULE_AUTHOR("Manu Abraham"); > MODULE_DESCRIPTION("TDA8261 8PSK/QPSK Tuner"); > diff --git a/drivers/media/dvb-frontends/tda826x.c b/drivers/media/dvb-frontends/tda826x.c > index f9703a1dd758..eafcf5f7da3d 100644 > --- a/drivers/media/dvb-frontends/tda826x.c > +++ b/drivers/media/dvb-frontends/tda826x.c > @@ -164,7 +164,7 @@ struct dvb_frontend *tda826x_attach(struct dvb_frontend *fe, int addr, struct i2 > > return fe; > } > -EXPORT_SYMBOL(tda826x_attach); > +EXPORT_SYMBOL_GPL(tda826x_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/ts2020.c b/drivers/media/dvb-frontends/ts2020.c > index f5b60f827697..a5ebce57f35e 100644 > --- a/drivers/media/dvb-frontends/ts2020.c > +++ b/drivers/media/dvb-frontends/ts2020.c > @@ -525,7 +525,7 @@ struct dvb_frontend *ts2020_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(ts2020_attach); > +EXPORT_SYMBOL_GPL(ts2020_attach); > > /* > * We implement own regmap locking due to legacy DVB attach which uses frontend > diff --git a/drivers/media/dvb-frontends/tua6100.c b/drivers/media/dvb-frontends/tua6100.c > index 2483f614d0e7..41dd9b6d3190 100644 > --- a/drivers/media/dvb-frontends/tua6100.c > +++ b/drivers/media/dvb-frontends/tua6100.c > @@ -186,7 +186,7 @@ struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2 > fe->tuner_priv = priv; > return fe; > } > -EXPORT_SYMBOL(tua6100_attach); > +EXPORT_SYMBOL_GPL(tua6100_attach); > > MODULE_DESCRIPTION("DVB tua6100 driver"); > MODULE_AUTHOR("Andrew de Quincey"); > diff --git a/drivers/media/dvb-frontends/ves1820.c b/drivers/media/dvb-frontends/ves1820.c > index 9df14d0be1c1..ee5620e731e9 100644 > --- a/drivers/media/dvb-frontends/ves1820.c > +++ b/drivers/media/dvb-frontends/ves1820.c > @@ -434,4 +434,4 @@ MODULE_DESCRIPTION("VLSI VES1820 DVB-C Demodulator driver"); > MODULE_AUTHOR("Ralph Metzler, Holger Waechtler"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(ves1820_attach); > +EXPORT_SYMBOL_GPL(ves1820_attach); > diff --git a/drivers/media/dvb-frontends/ves1x93.c b/drivers/media/dvb-frontends/ves1x93.c > index b74727286302..c60e21d26b88 100644 > --- a/drivers/media/dvb-frontends/ves1x93.c > +++ b/drivers/media/dvb-frontends/ves1x93.c > @@ -540,4 +540,4 @@ MODULE_DESCRIPTION("VLSI VES1x93 DVB-S Demodulator driver"); > MODULE_AUTHOR("Ralph Metzler"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(ves1x93_attach); > +EXPORT_SYMBOL_GPL(ves1x93_attach); > diff --git a/drivers/media/dvb-frontends/zl10036.c b/drivers/media/dvb-frontends/zl10036.c > index d392c7cce2ce..7ba575e9c55f 100644 > --- a/drivers/media/dvb-frontends/zl10036.c > +++ b/drivers/media/dvb-frontends/zl10036.c > @@ -496,7 +496,7 @@ struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(zl10036_attach); > +EXPORT_SYMBOL_GPL(zl10036_attach); > > module_param_named(debug, zl10036_debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/zl10039.c b/drivers/media/dvb-frontends/zl10039.c > index 1335bf78d5b7..a3e4d219400c 100644 > --- a/drivers/media/dvb-frontends/zl10039.c > +++ b/drivers/media/dvb-frontends/zl10039.c > @@ -295,7 +295,7 @@ struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, > kfree(state); > return NULL; > } > -EXPORT_SYMBOL(zl10039_attach); > +EXPORT_SYMBOL_GPL(zl10039_attach); > > module_param(debug, int, 0644); > MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); > diff --git a/drivers/media/dvb-frontends/zl10353.c b/drivers/media/dvb-frontends/zl10353.c > index 2a2cf20a73d6..8849d05475c2 100644 > --- a/drivers/media/dvb-frontends/zl10353.c > +++ b/drivers/media/dvb-frontends/zl10353.c > @@ -665,4 +665,4 @@ MODULE_DESCRIPTION("Zarlink ZL10353 DVB-T demodulator driver"); > MODULE_AUTHOR("Chris Pascoe"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(zl10353_attach); > +EXPORT_SYMBOL_GPL(zl10353_attach); > diff --git a/drivers/media/pci/bt8xx/dst.c b/drivers/media/pci/bt8xx/dst.c > index 3e52a51982d7..110651e47831 100644 > --- a/drivers/media/pci/bt8xx/dst.c > +++ b/drivers/media/pci/bt8xx/dst.c > @@ -1722,7 +1722,7 @@ struct dst_state *dst_attach(struct dst_state *state, struct dvb_adapter *dvb_ad > return state; /* Manu (DST is a card not a frontend) */ > } > > -EXPORT_SYMBOL(dst_attach); > +EXPORT_SYMBOL_GPL(dst_attach); > > static const struct dvb_frontend_ops dst_dvbt_ops = { > .delsys = { SYS_DVBT }, > diff --git a/drivers/media/pci/bt8xx/dst_ca.c b/drivers/media/pci/bt8xx/dst_ca.c > index d234a0f404d6..a9cc6e7a57f9 100644 > --- a/drivers/media/pci/bt8xx/dst_ca.c > +++ b/drivers/media/pci/bt8xx/dst_ca.c > @@ -668,7 +668,7 @@ struct dvb_device *dst_ca_attach(struct dst_state *dst, struct dvb_adapter *dvb_ > return NULL; > } > > -EXPORT_SYMBOL(dst_ca_attach); > +EXPORT_SYMBOL_GPL(dst_ca_attach); > > MODULE_DESCRIPTION("DST DVB-S/T/C Combo CA driver"); > MODULE_AUTHOR("Manu Abraham"); > diff --git a/drivers/media/pci/ddbridge/ddbridge-dummy-fe.c b/drivers/media/pci/ddbridge/ddbridge-dummy-fe.c > index 6868a0c4fc82..520ebd16b0c4 100644 > --- a/drivers/media/pci/ddbridge/ddbridge-dummy-fe.c > +++ b/drivers/media/pci/ddbridge/ddbridge-dummy-fe.c > @@ -112,7 +112,7 @@ struct dvb_frontend *ddbridge_dummy_fe_qam_attach(void) > state->frontend.demodulator_priv = state; > return &state->frontend; > } > -EXPORT_SYMBOL(ddbridge_dummy_fe_qam_attach); > +EXPORT_SYMBOL_GPL(ddbridge_dummy_fe_qam_attach); > > static const struct dvb_frontend_ops ddbridge_dummy_fe_qam_ops = { > .delsys = { SYS_DVBC_ANNEX_A }, > diff --git a/drivers/media/tuners/fc0011.c b/drivers/media/tuners/fc0011.c > index eaa3bbc903d7..3d3b54be2955 100644 > --- a/drivers/media/tuners/fc0011.c > +++ b/drivers/media/tuners/fc0011.c > @@ -499,7 +499,7 @@ struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(fc0011_attach); > +EXPORT_SYMBOL_GPL(fc0011_attach); > > MODULE_DESCRIPTION("Fitipower FC0011 silicon tuner driver"); > MODULE_AUTHOR("Michael Buesch <m@xxxxxxx>"); > diff --git a/drivers/media/tuners/fc0012.c b/drivers/media/tuners/fc0012.c > index 4429d5e8c579..81e65acbdb17 100644 > --- a/drivers/media/tuners/fc0012.c > +++ b/drivers/media/tuners/fc0012.c > @@ -495,7 +495,7 @@ struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(fc0012_attach); > +EXPORT_SYMBOL_GPL(fc0012_attach); > > MODULE_DESCRIPTION("Fitipower FC0012 silicon tuner driver"); > MODULE_AUTHOR("Hans-Frieder Vogt <hfvogt@xxxxxxx>"); > diff --git a/drivers/media/tuners/fc0013.c b/drivers/media/tuners/fc0013.c > index 29dd9b55ff33..1006a2798eef 100644 > --- a/drivers/media/tuners/fc0013.c > +++ b/drivers/media/tuners/fc0013.c > @@ -608,7 +608,7 @@ struct dvb_frontend *fc0013_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(fc0013_attach); > +EXPORT_SYMBOL_GPL(fc0013_attach); > > MODULE_DESCRIPTION("Fitipower FC0013 silicon tuner driver"); > MODULE_AUTHOR("Hans-Frieder Vogt <hfvogt@xxxxxxx>"); > diff --git a/drivers/media/tuners/max2165.c b/drivers/media/tuners/max2165.c > index 1c746bed51fe..1575ab94e1c8 100644 > --- a/drivers/media/tuners/max2165.c > +++ b/drivers/media/tuners/max2165.c > @@ -410,7 +410,7 @@ struct dvb_frontend *max2165_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(max2165_attach); > +EXPORT_SYMBOL_GPL(max2165_attach); > > MODULE_AUTHOR("David T. L. Wong <davidtlwong@xxxxxxxxx>"); > MODULE_DESCRIPTION("Maxim MAX2165 silicon tuner driver"); > diff --git a/drivers/media/tuners/mc44s803.c b/drivers/media/tuners/mc44s803.c > index 0c9161516abd..ed8bdf7ebd99 100644 > --- a/drivers/media/tuners/mc44s803.c > +++ b/drivers/media/tuners/mc44s803.c > @@ -356,7 +356,7 @@ struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe, > kfree(priv); > return NULL; > } > -EXPORT_SYMBOL(mc44s803_attach); > +EXPORT_SYMBOL_GPL(mc44s803_attach); > > MODULE_AUTHOR("Jochen Friedrich"); > MODULE_DESCRIPTION("Freescale MC44S803 silicon tuner driver"); > diff --git a/drivers/media/tuners/mt2060.c b/drivers/media/tuners/mt2060.c > index 0278a9f0aeef..4205ed4cf467 100644 > --- a/drivers/media/tuners/mt2060.c > +++ b/drivers/media/tuners/mt2060.c > @@ -440,7 +440,7 @@ struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter > > return fe; > } > -EXPORT_SYMBOL(mt2060_attach); > +EXPORT_SYMBOL_GPL(mt2060_attach); > > static int mt2060_probe(struct i2c_client *client) > { > diff --git a/drivers/media/tuners/mt2131.c b/drivers/media/tuners/mt2131.c > index 37f50ff6c0bd..eebc06088341 100644 > --- a/drivers/media/tuners/mt2131.c > +++ b/drivers/media/tuners/mt2131.c > @@ -274,7 +274,7 @@ struct dvb_frontend * mt2131_attach(struct dvb_frontend *fe, > fe->tuner_priv = priv; > return fe; > } > -EXPORT_SYMBOL(mt2131_attach); > +EXPORT_SYMBOL_GPL(mt2131_attach); > > MODULE_AUTHOR("Steven Toth"); > MODULE_DESCRIPTION("Microtune MT2131 silicon tuner driver"); > diff --git a/drivers/media/tuners/mt2266.c b/drivers/media/tuners/mt2266.c > index 6136f20fa9b7..2e92885a6bcb 100644 > --- a/drivers/media/tuners/mt2266.c > +++ b/drivers/media/tuners/mt2266.c > @@ -336,7 +336,7 @@ struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter > mt2266_calibrate(priv); > return fe; > } > -EXPORT_SYMBOL(mt2266_attach); > +EXPORT_SYMBOL_GPL(mt2266_attach); > > MODULE_AUTHOR("Olivier DANET"); > MODULE_DESCRIPTION("Microtune MT2266 silicon tuner driver"); > diff --git a/drivers/media/tuners/mxl5005s.c b/drivers/media/tuners/mxl5005s.c > index 06dfab9fb8cb..d9bfa257a005 100644 > --- a/drivers/media/tuners/mxl5005s.c > +++ b/drivers/media/tuners/mxl5005s.c > @@ -4120,7 +4120,7 @@ struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe, > fe->tuner_priv = state; > return fe; > } > -EXPORT_SYMBOL(mxl5005s_attach); > +EXPORT_SYMBOL_GPL(mxl5005s_attach); > > MODULE_DESCRIPTION("MaxLinear MXL5005S silicon tuner driver"); > MODULE_AUTHOR("Steven Toth"); > diff --git a/drivers/media/tuners/qt1010.c b/drivers/media/tuners/qt1010.c > index a7b19863f489..48fc79cd4027 100644 > --- a/drivers/media/tuners/qt1010.c > +++ b/drivers/media/tuners/qt1010.c > @@ -441,7 +441,7 @@ struct dvb_frontend * qt1010_attach(struct dvb_frontend *fe, > fe->tuner_priv = priv; > return fe; > } > -EXPORT_SYMBOL(qt1010_attach); > +EXPORT_SYMBOL_GPL(qt1010_attach); > > MODULE_DESCRIPTION("Quantek QT1010 silicon tuner driver"); > MODULE_AUTHOR("Antti Palosaari <crope@xxxxxx>"); > diff --git a/drivers/media/tuners/tda18218.c b/drivers/media/tuners/tda18218.c > index 4ed94646116f..7d8d84dcb245 100644 > --- a/drivers/media/tuners/tda18218.c > +++ b/drivers/media/tuners/tda18218.c > @@ -336,7 +336,7 @@ struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe, > > return fe; > } > -EXPORT_SYMBOL(tda18218_attach); > +EXPORT_SYMBOL_GPL(tda18218_attach); > > MODULE_DESCRIPTION("NXP TDA18218HN silicon tuner driver"); > MODULE_AUTHOR("Antti Palosaari <crope@xxxxxx>"); > diff --git a/drivers/media/tuners/xc2028.c b/drivers/media/tuners/xc2028.c > index 69c2e1b99bf1..5a967edceca9 100644 > --- a/drivers/media/tuners/xc2028.c > +++ b/drivers/media/tuners/xc2028.c > @@ -1512,7 +1512,7 @@ struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, > return NULL; > } > > -EXPORT_SYMBOL(xc2028_attach); > +EXPORT_SYMBOL_GPL(xc2028_attach); > > MODULE_DESCRIPTION("Xceive xc2028/xc3028 tuner driver"); > MODULE_AUTHOR("Michel Ludwig <michel.ludwig@xxxxxxxxx>"); > diff --git a/drivers/media/tuners/xc4000.c b/drivers/media/tuners/xc4000.c > index d59b4ab77430..57ded9ff3f04 100644 > --- a/drivers/media/tuners/xc4000.c > +++ b/drivers/media/tuners/xc4000.c > @@ -1742,7 +1742,7 @@ struct dvb_frontend *xc4000_attach(struct dvb_frontend *fe, > xc4000_release(fe); > return NULL; > } > -EXPORT_SYMBOL(xc4000_attach); > +EXPORT_SYMBOL_GPL(xc4000_attach); > > MODULE_AUTHOR("Steven Toth, Davide Ferri"); > MODULE_DESCRIPTION("Xceive xc4000 silicon tuner driver"); > diff --git a/drivers/media/tuners/xc5000.c b/drivers/media/tuners/xc5000.c > index 7b7d9fe4f945..2182e5b7b606 100644 > --- a/drivers/media/tuners/xc5000.c > +++ b/drivers/media/tuners/xc5000.c > @@ -1460,7 +1460,7 @@ struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, > xc5000_release(fe); > return NULL; > } > -EXPORT_SYMBOL(xc5000_attach); > +EXPORT_SYMBOL_GPL(xc5000_attach); > > MODULE_AUTHOR("Steven Toth"); > MODULE_DESCRIPTION("Xceive xc5000 silicon tuner driver"); > diff --git a/drivers/staging/media/av7110/sp8870.c b/drivers/staging/media/av7110/sp8870.c > index 9767159aeb9b..abf5c72607b6 100644 > --- a/drivers/staging/media/av7110/sp8870.c > +++ b/drivers/staging/media/av7110/sp8870.c > @@ -606,4 +606,4 @@ MODULE_DESCRIPTION("Spase SP8870 DVB-T Demodulator driver"); > MODULE_AUTHOR("Juergen Peitz"); > MODULE_LICENSE("GPL"); > > -EXPORT_SYMBOL(sp8870_attach); > +EXPORT_SYMBOL_GPL(sp8870_attach);