I haven't tested this yet, but it should work just fine... I will test it when I get home. This patch removes all static dependencies on the dvb-pll module, without _any_ harmful side effects. Any comments? From: Michael Krufky <mkrufky@xxxxxxxxxxx>
diff -r 2dab81b42cb8 linux/drivers/media/dvb/b2c2/Kconfig --- a/linux/drivers/media/dvb/b2c2/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/b2c2/Kconfig Fri Jun 01 16:45:16 2007 -0400 @@ -1,7 +1,7 @@ config DVB_B2C2_FLEXCOP config DVB_B2C2_FLEXCOP tristate "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" depends on DVB_CORE && I2C - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_STV0299 if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_MT312 if !DVB_FE_CUSTOMISE diff -r 2dab81b42cb8 linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c --- a/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Fri Jun 01 16:43:21 2007 -0400 @@ -511,13 +511,13 @@ int flexcop_frontend_init(struct flexcop /* try the air atsc 2nd generation (nxt2002) */ if ((fc->fe = dvb_attach(nxt200x_attach, &samsung_tbmv_config, &fc->i2c_adap)) != NULL) { fc->dev_type = FC_AIR_ATSC2; - dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL, &dvb_pll_samsung_tbmv); + dvb_attach(dvb_pll_attach, fc->fe, 0x61, NULL, DVB_PLL_SAMSUNG_TBMV); info("found the nxt2002 at i2c address: 0x%02x",samsung_tbmv_config.demod_address); } else /* try the air atsc 3nd generation (lgdt3303) */ if ((fc->fe = dvb_attach(lgdt330x_attach, &air2pc_atsc_hd5000_config, &fc->i2c_adap)) != NULL) { fc->dev_type = FC_AIR_ATSC3; - dvb_attach(dvb_pll_attach, fc->fe, 0x61, &fc->i2c_adap, &dvb_pll_lg_tdvs_h06xf); + dvb_attach(dvb_pll_attach, fc->fe, 0x61, &fc->i2c_adap, DVB_PLL_LG_TDVS_H06XF); info("found the lgdt3303 at i2c address: 0x%02x",air2pc_atsc_hd5000_config.demod_address); } else /* try the air atsc 1nd generation (bcm3510)/panasonic ct10s */ diff -r 2dab81b42cb8 linux/drivers/media/dvb/bt8xx/Kconfig --- a/linux/drivers/media/dvb/bt8xx/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/bt8xx/Kconfig Fri Jun 01 16:45:00 2007 -0400 @@ -7,7 +7,7 @@ config DVB_BT8XX select DVB_CX24110 if !DVB_FE_CUSTOMISE select DVB_OR51211 if !DVB_FE_CUSTOMISE select DVB_LGDT330X if !DVB_FE_CUSTOMISE - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE select FW_LOADER help diff -r 2dab81b42cb8 linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c --- a/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c Fri Jun 01 16:43:21 2007 -0400 @@ -612,7 +612,7 @@ static void frontend_init(struct dvb_bt8 card->fe = dvb_attach(lgdt330x_attach, &tdvs_tua6034_config, card->i2c_adapter); if (card->fe != NULL) { dvb_attach(dvb_pll_attach, card->fe, 0x61, - card->i2c_adapter, &dvb_pll_lg_tdvs_h06xf); + card->i2c_adapter, DVB_PLL_LG_TDVS_H06XF); dprintk ("dvb_bt8xx: lgdt330x detected\n"); } break; diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/Kconfig --- a/linux/drivers/media/dvb/dvb-usb/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/Kconfig Fri Jun 01 16:47:35 2007 -0400 @@ -2,7 +2,7 @@ config DVB_USB tristate "Support for various USB DVB devices" depends on DVB_CORE && USB && I2C select FW_LOADER - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE help By enabling this you will be able to choose the various supported USB1.1 and USB2.0 DVB devices. @@ -33,7 +33,7 @@ config DVB_USB_DIBUSB_MB config DVB_USB_DIBUSB_MB tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" depends on DVB_USB - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_DIB3000MB select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE help @@ -89,7 +89,7 @@ config DVB_USB_UMT_010 config DVB_USB_UMT_010 tristate "HanfTek UMT-010 DVB-T USB2.0 support" depends on DVB_USB - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_DIB3000MC select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE help @@ -98,7 +98,7 @@ config DVB_USB_CXUSB config DVB_USB_CXUSB tristate "Conexant USB2.0 hybrid reference design support" depends on DVB_USB - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_CX22702 if !DVB_FE_CUSTOMISE select DVB_LGDT330X if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE @@ -142,7 +142,7 @@ config DVB_USB_DIGITV config DVB_USB_DIGITV tristate "Nebula Electronics uDigiTV DVB-T USB2.0 support" depends on DVB_USB - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_NXT6000 if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE help diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/cxusb.c --- a/linux/drivers/media/dvb/dvb-usb/cxusb.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/cxusb.c Fri Jun 01 16:43:21 2007 -0400 @@ -355,34 +355,34 @@ static int cxusb_fmd1216me_tuner_attach( static int cxusb_fmd1216me_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x61, &adap->dev->i2c_adap, - &dvb_pll_fmd1216me); + DVB_PLL_FMD1216ME); return 0; } static int cxusb_dee1601_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x61, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); return 0; } static int cxusb_lgz201_tuner_attach(struct dvb_usb_adapter *adap) { - dvb_attach(dvb_pll_attach, adap->fe, 0x61, NULL, &dvb_pll_lg_z201); + dvb_attach(dvb_pll_attach, adap->fe, 0x61, NULL, DVB_PLL_LG_Z201); return 0; } static int cxusb_dtt7579_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x60, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); return 0; } static int cxusb_lgh064f_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x61, &adap->dev->i2c_adap, - &dvb_pll_lg_tdvs_h06xf); + DVB_PLL_LG_TDVS_H06XF); return 0; } diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/dibusb-common.c --- a/linux/drivers/media/dvb/dvb-usb/dibusb-common.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-common.c Fri Jun 01 16:43:21 2007 -0400 @@ -295,7 +295,7 @@ int dibusb_dib3000mc_tuner_attach(struct tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe, 1); if (dvb_attach(mt2060_attach, adap->fe, tun_i2c, &stk3000p_mt2060_config, if1) == NULL) { /* not found - use panasonic pll parameters */ - if (dvb_attach(dvb_pll_attach, adap->fe, 0x60, tun_i2c, &dvb_pll_env57h1xd5) == NULL) + if (dvb_attach(dvb_pll_attach, adap->fe, 0x60, tun_i2c, DVB_PLL_ENV57H1XD5) == NULL) return -ENOMEM; } else { st->mt2060_present = 1; diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/dibusb-mb.c --- a/linux/drivers/media/dvb/dvb-usb/dibusb-mb.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mb.c Fri Jun 01 16:43:21 2007 -0400 @@ -33,14 +33,14 @@ static int dibusb_thomson_tuner_attach(s static int dibusb_thomson_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x61, &adap->dev->i2c_adap, - &dvb_pll_tua6010xs); + DVB_PLL_TUA6010XS); return 0; } static int dibusb_panasonic_tuner_attach(struct dvb_usb_adapter *adap) { dvb_attach(dvb_pll_attach, adap->fe, 0x60, &adap->dev->i2c_adap, - &dvb_pll_tda665x); + DVB_PLL_TDA665X); return 0; } diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/digitv.c --- a/linux/drivers/media/dvb/dvb-usb/digitv.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/digitv.c Fri Jun 01 16:43:21 2007 -0400 @@ -144,7 +144,7 @@ static int digitv_tuner_attach(struct dv static int digitv_tuner_attach(struct dvb_usb_adapter *adap) { adap->pll_addr = 0x60; - adap->pll_desc = &dvb_pll_tded4; + adap->pll_desc = DVB_PLL_TDED4; return 0; } diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c Fri Jun 01 16:52:47 2007 -0400 @@ -54,7 +54,7 @@ int dvb_usb_tuner_init_i2c(struct dvb_fr int ret = 0; /* if pll_desc is not used */ - if (adap->pll_desc == NULL) + if (adap->pll_desc == DVB_PLL_UNDEFINED) return 0; if (adap->tuner_pass_ctrl) @@ -84,10 +84,10 @@ int dvb_usb_tuner_calc_regs(struct dvb_f if (buf_len != 5) return -EINVAL; - if (adap->pll_desc == NULL) + if (adap->pll_desc == DVB_PLL_UNDEFINED) return 0; - deb_pll("pll addr: %x, freq: %d %p\n",adap->pll_addr, fep->frequency, adap->pll_desc); + deb_pll("pll addr: %x, freq: %d %d\n",adap->pll_addr, fep->frequency, adap->pll_desc); b[0] = adap->pll_addr; dvb_pll_configure(adap->pll_desc, &b[1], fep); diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/dvb-usb.h --- a/linux/drivers/media/dvb/dvb-usb/dvb-usb.h Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb.h Fri Jun 01 16:43:21 2007 -0400 @@ -303,7 +303,7 @@ struct dvb_usb_adapter { /* tuner programming information */ u8 pll_addr; u8 pll_init[4]; - struct dvb_pll_desc *pll_desc; + int pll_desc; int (*tuner_pass_ctrl) (struct dvb_frontend *, int, u8); /* dvb */ diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/opera1.c --- a/linux/drivers/media/dvb/dvb-usb/opera1.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/opera1.c Fri Jun 01 16:43:21 2007 -0400 @@ -274,7 +274,7 @@ static int opera1_tuner_attach(struct dv { dvb_attach( dvb_pll_attach, adap->fe, 0xc0>>1, - &adap->dev->i2c_adap, &dvb_pll_opera1 + &adap->dev->i2c_adap, DVB_PLL_OPERA1 ); return 0; } diff -r 2dab81b42cb8 linux/drivers/media/dvb/dvb-usb/umt-010.c --- a/linux/drivers/media/dvb/dvb-usb/umt-010.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-usb/umt-010.c Fri Jun 01 16:43:21 2007 -0400 @@ -65,7 +65,7 @@ static int umt_mt352_frontend_attach(str static int umt_tuner_attach (struct dvb_usb_adapter *adap) { - dvb_attach(dvb_pll_attach, adap->fe, 0x61, NULL, &dvb_pll_tua6034); + dvb_attach(dvb_pll_attach, adap->fe, 0x61, NULL, DVB_PLL_TUA6034); return 0; } diff -r 2dab81b42cb8 linux/drivers/media/dvb/frontends/dvb-pll.c --- a/linux/drivers/media/dvb/frontends/dvb-pll.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/frontends/dvb-pll.c Fri Jun 01 16:43:21 2007 -0400 @@ -25,6 +25,25 @@ #include "dvb-pll.h" /* ----------------------------------------------------------- */ + +struct dvb_pll_desc { + char *name; + u32 min; + u32 max; + u32 iffreq; + void (*set)(u8 *buf, const struct dvb_frontend_parameters *params); + u8 *initdata; + u8 *sleepdata; + int count; + struct { + u32 limit; + u32 stepsize; + u8 config; + u8 cb; + } entries[12]; +}; + + /* descriptions */ /* Set AGC TOP value to 103 dBuV: @@ -44,7 +63,7 @@ static u8 tua603x_agc103[] = { 2, 0x80|0 0x20 = AGC Take over point = 112 dBuV */ static u8 tua603x_agc112[] = { 2, 0x80|0x40|0x18|0x04|0x01, 0x80|0x20 }; -struct dvb_pll_desc dvb_pll_thomson_dtt7579 = { +static struct dvb_pll_desc dvb_pll_thomson_dtt7579 = { .name = "Thomson dtt7579", .min = 177000000, .max = 858000000, @@ -58,9 +77,8 @@ struct dvb_pll_desc dvb_pll_thomson_dtt7 { 999999999, 166667, 0xf4, 0x08 }, }, }; -EXPORT_SYMBOL(dvb_pll_thomson_dtt7579); - -struct dvb_pll_desc dvb_pll_thomson_dtt7610 = { + +static struct dvb_pll_desc dvb_pll_thomson_dtt7610 = { .name = "Thomson dtt7610", .min = 44000000, .max = 958000000, @@ -72,7 +90,6 @@ struct dvb_pll_desc dvb_pll_thomson_dtt7 { 999999999, 62500, 0x8e, 0x3c }, }, }; -EXPORT_SYMBOL(dvb_pll_thomson_dtt7610); static void thomson_dtt759x_bw(u8 *buf, const struct dvb_frontend_parameters *params) @@ -81,7 +98,7 @@ static void thomson_dtt759x_bw(u8 *buf, buf[3] |= 0x10; } -struct dvb_pll_desc dvb_pll_thomson_dtt759x = { +static struct dvb_pll_desc dvb_pll_thomson_dtt759x = { .name = "Thomson dtt759x", .min = 177000000, .max = 896000000, @@ -97,9 +114,8 @@ struct dvb_pll_desc dvb_pll_thomson_dtt7 { 999999999, 166667, 0xfc, 0x08 }, }, }; -EXPORT_SYMBOL(dvb_pll_thomson_dtt759x); - -struct dvb_pll_desc dvb_pll_lg_z201 = { + +static struct dvb_pll_desc dvb_pll_lg_z201 = { .name = "LG z201", .min = 174000000, .max = 862000000, @@ -114,9 +130,8 @@ struct dvb_pll_desc dvb_pll_lg_z201 = { { 999999999, 166667, 0xfc, 0x04 }, }, }; -EXPORT_SYMBOL(dvb_pll_lg_z201); - -struct dvb_pll_desc dvb_pll_microtune_4042 = { + +static struct dvb_pll_desc dvb_pll_microtune_4042 = { .name = "Microtune 4042 FI5", .min = 57000000, .max = 858000000, @@ -128,9 +143,8 @@ struct dvb_pll_desc dvb_pll_microtune_40 { 999999999, 62500, 0x8e, 0x31 }, }, }; -EXPORT_SYMBOL(dvb_pll_microtune_4042); - -struct dvb_pll_desc dvb_pll_thomson_dtt761x = { + +static struct dvb_pll_desc dvb_pll_thomson_dtt761x = { /* DTT 7611 7611A 7612 7613 7613A 7614 7615 7615A */ .name = "Thomson dtt761x", .min = 57000000, @@ -144,9 +158,8 @@ struct dvb_pll_desc dvb_pll_thomson_dtt7 { 999999999, 62500, 0x8e, 0x3c }, }, }; -EXPORT_SYMBOL(dvb_pll_thomson_dtt761x); - -struct dvb_pll_desc dvb_pll_unknown_1 = { + +static struct dvb_pll_desc dvb_pll_unknown_1 = { .name = "unknown 1", /* used by dntv live dvb-t */ .min = 174000000, .max = 862000000, @@ -164,12 +177,11 @@ struct dvb_pll_desc dvb_pll_unknown_1 = { 999999999, 166667, 0xfc, 0x08 }, }, }; -EXPORT_SYMBOL(dvb_pll_unknown_1); /* Infineon TUA6010XS * used in Thomson Cable Tuner */ -struct dvb_pll_desc dvb_pll_tua6010xs = { +static struct dvb_pll_desc dvb_pll_tua6010xs = { .name = "Infineon TUA6010XS", .min = 44250000, .max = 858000000, @@ -181,10 +193,9 @@ struct dvb_pll_desc dvb_pll_tua6010xs = { 999999999, 62500, 0x8e, 0x85 }, }, }; -EXPORT_SYMBOL(dvb_pll_tua6010xs); /* Panasonic env57h1xd5 (some Philips PLL ?) */ -struct dvb_pll_desc dvb_pll_env57h1xd5 = { +static struct dvb_pll_desc dvb_pll_env57h1xd5 = { .name = "Panasonic ENV57H1XD5", .min = 44250000, .max = 858000000, @@ -197,7 +208,6 @@ struct dvb_pll_desc dvb_pll_env57h1xd5 = { 999999999, 166667, 0xc2, 0xa4 }, }, }; -EXPORT_SYMBOL(dvb_pll_env57h1xd5); /* Philips TDA6650/TDA6651 * used in Panasonic ENV77H11D5 @@ -208,7 +218,7 @@ static void tda665x_bw(u8 *buf, const st buf[3] |= 0x08; } -struct dvb_pll_desc dvb_pll_tda665x = { +static struct dvb_pll_desc dvb_pll_tda665x = { .name = "Philips TDA6650/TDA6651", .min = 44250000, .max = 858000000, @@ -231,7 +241,6 @@ struct dvb_pll_desc dvb_pll_tda665x = { { 861000000, 166667, 0xca, 0xe4 /* 111 0 0 1 00 */ }, } }; -EXPORT_SYMBOL(dvb_pll_tda665x); /* Infineon TUA6034 * used in LG TDTP E102P @@ -242,7 +251,7 @@ static void tua6034_bw(u8 *buf, const st buf[3] |= 0x08; } -struct dvb_pll_desc dvb_pll_tua6034 = { +static struct dvb_pll_desc dvb_pll_tua6034 = { .name = "Infineon TUA6034", .min = 44250000, .max = 858000000, @@ -255,12 +264,11 @@ struct dvb_pll_desc dvb_pll_tua6034 = { { 999999999, 62500, 0xce, 0x04 }, }, }; -EXPORT_SYMBOL(dvb_pll_tua6034); /* Infineon TUA6034 * used in LG TDVS-H061F, LG TDVS-H062F and LG TDVS-H064F */ -struct dvb_pll_desc dvb_pll_lg_tdvs_h06xf = { +static struct dvb_pll_desc dvb_pll_lg_tdvs_h06xf = { .name = "LG TDVS-H06xF", .min = 54000000, .max = 863000000, @@ -273,7 +281,6 @@ struct dvb_pll_desc dvb_pll_lg_tdvs_h06x { 999999999, 62500, 0xce, 0x04 }, }, }; -EXPORT_SYMBOL(dvb_pll_lg_tdvs_h06xf); /* Philips FMD1216ME * used in Medion Hybrid PCMCIA card and USB Box @@ -285,7 +292,7 @@ static void fmd1216me_bw(u8 *buf, const buf[3] |= 0x08; } -struct dvb_pll_desc dvb_pll_fmd1216me = { +static struct dvb_pll_desc dvb_pll_fmd1216me = { .name = "Philips FMD1216ME", .min = 50870000, .max = 858000000, @@ -304,7 +311,6 @@ struct dvb_pll_desc dvb_pll_fmd1216me = { 999999999, 166667, 0xfc, 0x44 }, } }; -EXPORT_SYMBOL(dvb_pll_fmd1216me); /* ALPS TDED4 * used in Nebula-Cards and USB boxes @@ -315,7 +321,7 @@ static void tded4_bw(u8 *buf, const stru buf[3] |= 0x04; } -struct dvb_pll_desc dvb_pll_tded4 = { +static struct dvb_pll_desc dvb_pll_tded4 = { .name = "ALPS TDED4", .min = 47000000, .max = 863000000, @@ -329,12 +335,11 @@ struct dvb_pll_desc dvb_pll_tded4 = { { 999999999, 166667, 0x85, 0x88 }, } }; -EXPORT_SYMBOL(dvb_pll_tded4); /* ALPS TDHU2 * used in AverTVHD MCE A180 */ -struct dvb_pll_desc dvb_pll_tdhu2 = { +static struct dvb_pll_desc dvb_pll_tdhu2 = { .name = "ALPS TDHU2", .min = 54000000, .max = 864000000, @@ -347,7 +352,6 @@ struct dvb_pll_desc dvb_pll_tdhu2 = { { 999999999, 62500, 0x85, 0x88 }, } }; -EXPORT_SYMBOL(dvb_pll_tdhu2); /* Philips TUV1236D * used in ATI HDTV Wonder @@ -365,7 +369,7 @@ static void tuv1236d_rf(u8 *buf, const s } } -struct dvb_pll_desc dvb_pll_tuv1236d = { +static struct dvb_pll_desc dvb_pll_tuv1236d = { .name = "Philips TUV1236D", .min = 54000000, .max = 864000000, @@ -378,12 +382,11 @@ struct dvb_pll_desc dvb_pll_tuv1236d = { { 999999999, 62500, 0xc6, 0x44 }, }, }; -EXPORT_SYMBOL(dvb_pll_tuv1236d); /* Samsung TBMV30111IN / TBMV30712IN1 * used in Air2PC ATSC - 2nd generation (nxt2002) */ -struct dvb_pll_desc dvb_pll_samsung_tbmv = { +static struct dvb_pll_desc dvb_pll_samsung_tbmv = { .name = "Samsung TBMV30111IN / TBMV30712IN1", .min = 54000000, .max = 860000000, @@ -398,12 +401,11 @@ struct dvb_pll_desc dvb_pll_samsung_tbmv { 999999999, 166667, 0xfc, 0x02 }, } }; -EXPORT_SYMBOL(dvb_pll_samsung_tbmv); /* * Philips SD1878 Tuner. */ -struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261 = { +static struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261 = { .name = "Philips SD1878", .min = 950000, .max = 2150000, @@ -416,7 +418,6 @@ struct dvb_pll_desc dvb_pll_philips_sd18 { 2150000, 500, 0xc4, 0xc0}, }, }; -EXPORT_SYMBOL(dvb_pll_philips_sd1878_tda8261); /* * Philips TD1316 Tuner. @@ -440,7 +441,7 @@ static void td1316_bw(u8 *buf, const str buf[3] |= 1 << 3; } -struct dvb_pll_desc dvb_pll_philips_td1316 = { +static struct dvb_pll_desc dvb_pll_philips_td1316 = { .name = "Philips TD1316", .min = 87000000, .max = 895000000, @@ -459,10 +460,9 @@ struct dvb_pll_desc dvb_pll_philips_td13 { 858834000, 166667, 0xca, 0xe0}, }, }; -EXPORT_SYMBOL(dvb_pll_philips_td1316); /* FE6600 used on DViCO Hybrid */ -struct dvb_pll_desc dvb_pll_thomson_fe6600 = { +static struct dvb_pll_desc dvb_pll_thomson_fe6600 = { .name = "Thomson FE6600", .min = 44250000, .max = 858000000, @@ -475,14 +475,14 @@ struct dvb_pll_desc dvb_pll_thomson_fe66 { 999999999, 166667, 0xf4, 0x18 }, } }; -EXPORT_SYMBOL(dvb_pll_thomson_fe6600); + static void opera1_bw(u8 *buf, const struct dvb_frontend_parameters *params) { if (params->u.ofdm.bandwidth == BANDWIDTH_8_MHZ) buf[2] |= 0x08; } -struct dvb_pll_desc dvb_pll_opera1 = { +static struct dvb_pll_desc dvb_pll_opera1 = { .name = "Opera Tuner", .min = 900000, .max = 2250000, @@ -500,7 +500,6 @@ struct dvb_pll_desc dvb_pll_opera1 = { { 2250000, 500, 0xe5, 0xc4 }, } }; -EXPORT_SYMBOL(dvb_pll_opera1); struct dvb_pll_priv { /* i2c details */ @@ -508,7 +507,7 @@ struct dvb_pll_priv { struct i2c_adapter *i2c; /* the PLL descriptor */ - struct dvb_pll_desc *pll_desc; + int pll_desc; /* cached frequency/bandwidth */ u32 frequency; @@ -522,11 +521,87 @@ module_param(debug, int, 0644); module_param(debug, int, 0644); MODULE_PARM_DESC(debug, "enable verbose debug messages"); -int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf, +static struct dvb_pll_desc *get_pll_desc(int desc) +{ + struct dvb_pll_desc *pll_desc; + + switch (desc) { + case DVB_PLL_THOMSON_DTT7579: + pll_desc = &dvb_pll_thomson_dtt7579; + break; + case DVB_PLL_THOMSON_DTT759X: + pll_desc = &dvb_pll_thomson_dtt759x; + break; + case DVB_PLL_THOMSON_DTT7610: + pll_desc = &dvb_pll_thomson_dtt7610; + break; + case DVB_PLL_LG_Z201: + pll_desc = &dvb_pll_lg_z201; + break; + case DVB_PLL_MICROTUNE_4042: + pll_desc = &dvb_pll_microtune_4042; + break; + case DVB_PLL_THOMSON_DTT761X: + pll_desc = &dvb_pll_thomson_dtt761x; + break; + case DVB_PLL_UNKNOWN_1: + pll_desc = &dvb_pll_unknown_1; + break; + case DVB_PLL_TUA6010XS: + pll_desc = &dvb_pll_tua6010xs; + break; + case DVB_PLL_ENV57H1XD5: + pll_desc = &dvb_pll_env57h1xd5; + break; + case DVB_PLL_TUA6034: + pll_desc = &dvb_pll_tua6034; + break; + case DVB_PLL_LG_TDVS_H06XF: + pll_desc = &dvb_pll_lg_tdvs_h06xf; + break; + case DVB_PLL_TDA665X: + pll_desc = &dvb_pll_tda665x; + break; + case DVB_PLL_FMD1216ME: + pll_desc = &dvb_pll_fmd1216me; + break; + case DVB_PLL_TDED4: + pll_desc = &dvb_pll_tded4; + break; + case DVB_PLL_TUV1236D: + pll_desc = &dvb_pll_tuv1236d; + break; + case DVB_PLL_TDHU2: + pll_desc = &dvb_pll_tdhu2; + break; + case DVB_PLL_SAMSUNG_TBMV: + pll_desc = &dvb_pll_samsung_tbmv; + break; + case DVB_PLL_PHILIPS_SD1878_TDA8261: + pll_desc = &dvb_pll_philips_sd1878_tda8261; + break; + case DVB_PLL_PHILIPS_TD1316: + pll_desc = &dvb_pll_philips_td1316; + break; + case DVB_PLL_THOMSON_FE6600: + pll_desc = &dvb_pll_thomson_fe6600; + break; + case DVB_PLL_OPERA1: + pll_desc = &dvb_pll_opera1; + break; + default: + pll_desc = NULL; + } + + return pll_desc; +} + +int dvb_pll_configure(int pll_desc, u8 *buf, const struct dvb_frontend_parameters *params) { u32 div; int i; + struct dvb_pll_desc *desc = get_pll_desc(pll_desc); if (params->frequency != 0 && (params->frequency < desc->min || params->frequency > desc->max)) @@ -573,15 +648,16 @@ static int dvb_pll_sleep(struct dvb_fron static int dvb_pll_sleep(struct dvb_frontend *fe) { struct dvb_pll_priv *priv = fe->tuner_priv; + struct dvb_pll_desc *desc = get_pll_desc(priv->pll_desc); if (priv->i2c == NULL) return -EINVAL; - if (priv->pll_desc->sleepdata) { + if (desc->sleepdata) { struct i2c_msg msg = { .flags = 0, .addr = priv->pll_i2c_address, - .buf = priv->pll_desc->sleepdata + 1, - .len = priv->pll_desc->sleepdata[0] }; + .buf = desc->sleepdata + 1, + .len = desc->sleepdata[0] }; int result; @@ -668,15 +744,16 @@ static int dvb_pll_init(struct dvb_front static int dvb_pll_init(struct dvb_frontend *fe) { struct dvb_pll_priv *priv = fe->tuner_priv; + struct dvb_pll_desc *desc = get_pll_desc(priv->pll_desc); if (priv->i2c == NULL) return -EINVAL; - if (priv->pll_desc->initdata) { + if (desc->initdata) { struct i2c_msg msg = { .flags = 0, .addr = priv->pll_i2c_address, - .buf = priv->pll_desc->initdata + 1, - .len = priv->pll_desc->initdata[0] }; + .buf = desc->initdata + 1, + .len = desc->initdata[0] }; int result; if (fe->ops.i2c_gate_ctrl) @@ -702,13 +779,14 @@ static struct dvb_tuner_ops dvb_pll_tune struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, - struct dvb_pll_desc *desc) + int desc) { u8 b1 [] = { 0 }; struct i2c_msg msg = { .addr = pll_addr, .flags = I2C_M_RD, .buf = b1, .len = 1 }; struct dvb_pll_priv *priv = NULL; int ret; + struct dvb_pll_desc *pll_desc; if (i2c != NULL) { if (fe->ops.i2c_gate_ctrl) @@ -729,16 +807,18 @@ struct dvb_frontend *dvb_pll_attach(stru priv->i2c = i2c; priv->pll_desc = desc; + pll_desc = get_pll_desc(priv->pll_desc); + memcpy(&fe->ops.tuner_ops, &dvb_pll_tuner_ops, sizeof(struct dvb_tuner_ops)); - strncpy(fe->ops.tuner_ops.info.name, desc->name, + strncpy(fe->ops.tuner_ops.info.name, pll_desc->name, sizeof(fe->ops.tuner_ops.info.name)); - fe->ops.tuner_ops.info.frequency_min = desc->min; - fe->ops.tuner_ops.info.frequency_min = desc->max; - if (!desc->initdata) + fe->ops.tuner_ops.info.frequency_min = pll_desc->min; + fe->ops.tuner_ops.info.frequency_min = pll_desc->max; + if (!pll_desc->initdata) fe->ops.tuner_ops.init = NULL; - if (!desc->sleepdata) + if (!pll_desc->sleepdata) fe->ops.tuner_ops.sleep = NULL; fe->tuner_priv = priv; diff -r 2dab81b42cb8 linux/drivers/media/dvb/frontends/dvb-pll.h --- a/linux/drivers/media/dvb/frontends/dvb-pll.h Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/frontends/dvb-pll.h Fri Jun 01 16:43:21 2007 -0400 @@ -8,49 +8,34 @@ #include <linux/i2c.h> #include "dvb_frontend.h" -struct dvb_pll_desc { - char *name; - u32 min; - u32 max; - u32 iffreq; - void (*set)(u8 *buf, const struct dvb_frontend_parameters *params); - u8 *initdata; - u8 *sleepdata; - int count; - struct { - u32 limit; - u32 stepsize; - u8 config; - u8 cb; - } entries[12]; -}; +/* -------------------------------------------------------------------- */ -extern struct dvb_pll_desc dvb_pll_thomson_dtt7579; -extern struct dvb_pll_desc dvb_pll_thomson_dtt759x; -extern struct dvb_pll_desc dvb_pll_thomson_dtt7610; -extern struct dvb_pll_desc dvb_pll_lg_z201; -extern struct dvb_pll_desc dvb_pll_microtune_4042; -extern struct dvb_pll_desc dvb_pll_thomson_dtt761x; -extern struct dvb_pll_desc dvb_pll_unknown_1; +#define DVB_PLL_UNDEFINED 0 +#define DVB_PLL_THOMSON_DTT7579 1 +#define DVB_PLL_THOMSON_DTT759X 2 +#define DVB_PLL_THOMSON_DTT7610 3 +#define DVB_PLL_LG_Z201 4 +#define DVB_PLL_MICROTUNE_4042 5 +#define DVB_PLL_THOMSON_DTT761X 6 +#define DVB_PLL_UNKNOWN_1 7 +#define DVB_PLL_TUA6010XS 8 +#define DVB_PLL_ENV57H1XD5 9 +#define DVB_PLL_TUA6034 10 +#define DVB_PLL_LG_TDVS_H06XF 11 +#define DVB_PLL_TDA665X 12 +#define DVB_PLL_FMD1216ME 13 +#define DVB_PLL_TDED4 14 +#define DVB_PLL_TUV1236D 15 +#define DVB_PLL_TDHU2 16 +#define DVB_PLL_SAMSUNG_TBMV 17 +#define DVB_PLL_PHILIPS_SD1878_TDA8261 18 +#define DVB_PLL_PHILIPS_TD1316 19 +#define DVB_PLL_THOMSON_FE6600 20 +#define DVB_PLL_OPERA1 21 -extern struct dvb_pll_desc dvb_pll_tua6010xs; -extern struct dvb_pll_desc dvb_pll_env57h1xd5; -extern struct dvb_pll_desc dvb_pll_tua6034; -extern struct dvb_pll_desc dvb_pll_lg_tdvs_h06xf; -extern struct dvb_pll_desc dvb_pll_tda665x; -extern struct dvb_pll_desc dvb_pll_fmd1216me; -extern struct dvb_pll_desc dvb_pll_tded4; +/* -------------------------------------------------------------------- */ -extern struct dvb_pll_desc dvb_pll_tuv1236d; -extern struct dvb_pll_desc dvb_pll_tdhu2; -extern struct dvb_pll_desc dvb_pll_samsung_tbmv; -extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261; -extern struct dvb_pll_desc dvb_pll_philips_td1316; - -extern struct dvb_pll_desc dvb_pll_thomson_fe6600; -extern struct dvb_pll_desc dvb_pll_opera1; - -extern int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf, +extern int dvb_pll_configure(int pll_desc, u8 *buf, const struct dvb_frontend_parameters *params); /** @@ -66,12 +51,12 @@ extern struct dvb_frontend *dvb_pll_atta extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, - struct dvb_pll_desc *desc); + int desc); #else static inline struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, - struct dvb_pll_desc *desc) + int desc) { printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); return NULL; diff -r 2dab81b42cb8 linux/drivers/media/dvb/ttpci/Kconfig --- a/linux/drivers/media/dvb/ttpci/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/ttpci/Kconfig Fri Jun 01 16:46:45 2007 -0400 @@ -108,7 +108,7 @@ config DVB_BUDGET_AV tristate "Budget cards with analog video inputs" depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 select VIDEO_SAA7146_VV - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_STV0299 if !DVB_FE_CUSTOMISE select DVB_TDA1004X if !DVB_FE_CUSTOMISE select DVB_TDA10021 if !DVB_FE_CUSTOMISE diff -r 2dab81b42cb8 linux/drivers/media/dvb/ttpci/budget-av.c --- a/linux/drivers/media/dvb/ttpci/budget-av.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/dvb/ttpci/budget-av.c Fri Jun 01 16:43:21 2007 -0400 @@ -966,7 +966,7 @@ static void frontend_init(struct budget_ if (fe) { dvb_attach(dvb_pll_attach, fe, 0x60, &budget_av->budget.i2c_adap, - &dvb_pll_philips_sd1878_tda8261); + DVB_PLL_PHILIPS_SD1878_TDA8261); } break; diff -r 2dab81b42cb8 linux/drivers/media/video/cx88/Kconfig --- a/linux/drivers/media/video/cx88/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/video/cx88/Kconfig Fri Jun 01 16:44:37 2007 -0400 @@ -47,7 +47,7 @@ config VIDEO_CX88_DVB tristate "DVB/ATSC Support for cx2388x based TV cards" depends on VIDEO_CX88 && DVB_CORE select VIDEO_BUF_DVB - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE select DVB_OR51132 if !DVB_FE_CUSTOMISE diff -r 2dab81b42cb8 linux/drivers/media/video/cx88/cx88-dvb.c --- a/linux/drivers/media/video/cx88/cx88-dvb.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/video/cx88/cx88-dvb.c Fri Jun 01 16:43:21 2007 -0400 @@ -387,7 +387,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_thomson_dtt759x); + DVB_PLL_THOMSON_DTT759X); } break; case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1: @@ -400,7 +400,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x60, &dev->core->i2c_adap, - &dvb_pll_thomson_dtt7579); + DVB_PLL_THOMSON_DTT7579); } break; case CX88_BOARD_WINFAST_DTV2000H: @@ -413,7 +413,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - &dev->core->i2c_adap, &dvb_pll_fmd1216me); + &dev->core->i2c_adap, DVB_PLL_FMD1216ME); } break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS: @@ -422,7 +422,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x60, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); break; } /* ZL10353 replaces MT352 on later cards */ @@ -431,7 +431,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x60, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); } break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL: @@ -442,7 +442,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); break; } /* ZL10353 replaces MT352 on later cards */ @@ -451,7 +451,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_thomson_dtt7579); + NULL, DVB_PLL_THOMSON_DTT7579); } break; case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1: @@ -460,7 +460,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_lg_z201); + NULL, DVB_PLL_LG_Z201); } break; case CX88_BOARD_KWORLD_DVB_T: @@ -471,7 +471,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_unknown_1); + NULL, DVB_PLL_UNKNOWN_1); } break; case CX88_BOARD_DNTV_LIVE_DVB_T_PRO: @@ -480,7 +480,7 @@ static int dvb_register(struct cx8802_de &((struct vp3054_i2c_state *)dev->card_priv)->adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - &dev->core->i2c_adap, &dvb_pll_fmd1216me); + &dev->core->i2c_adap, DVB_PLL_FMD1216ME); } #else printk("%s: built without vp3054 support\n", dev->core->name); @@ -493,7 +493,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_thomson_fe6600); + DVB_PLL_THOMSON_FE6600); } break; case CX88_BOARD_PCHDTV_HD3000: @@ -502,7 +502,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_thomson_dtt761x); + DVB_PLL_THOMSON_DTT761X); } break; case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q: @@ -524,7 +524,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_microtune_4042); + DVB_PLL_MICROTUNE_4042); } } break; @@ -544,7 +544,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_thomson_dtt761x); + DVB_PLL_THOMSON_DTT761X); } } break; @@ -564,7 +564,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_lg_tdvs_h06xf); + DVB_PLL_LG_TDVS_H06XF); } } break; @@ -584,7 +584,7 @@ static int dvb_register(struct cx8802_de if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, &dev->core->i2c_adap, - &dvb_pll_lg_tdvs_h06xf); + DVB_PLL_LG_TDVS_H06XF); } } break; @@ -594,7 +594,7 @@ static int dvb_register(struct cx8802_de &dev->core->i2c_adap); if (dev->dvb.frontend != NULL) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_tuv1236d); + NULL, DVB_PLL_TUV1236D); } break; case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: diff -r 2dab81b42cb8 linux/drivers/media/video/saa7134/Kconfig --- a/linux/drivers/media/video/saa7134/Kconfig Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/video/saa7134/Kconfig Fri Jun 01 16:44:50 2007 -0400 @@ -40,7 +40,7 @@ config VIDEO_SAA7134_DVB depends on VIDEO_SAA7134 && DVB_CORE select VIDEO_BUF_DVB select FW_LOADER - select DVB_PLL + select DVB_PLL if !DVB_FE_CUSTOMISE select DVB_MT352 if !DVB_FE_CUSTOMISE select DVB_TDA1004X if !DVB_FE_CUSTOMISE select DVB_NXT200X if !DVB_FE_CUSTOMISE diff -r 2dab81b42cb8 linux/drivers/media/video/saa7134/saa7134-dvb.c --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c Thu May 31 15:16:24 2007 -0300 +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c Fri Jun 01 16:43:21 2007 -0400 @@ -856,7 +856,7 @@ static int dvb_init(struct saa7134_dev * &dev->i2c_adap); if (dev->dvb.frontend) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_philips_td1316); + NULL, DVB_PLL_PHILIPS_TD1316); } break; case SAA7134_BOARD_MD7134: @@ -865,7 +865,7 @@ static int dvb_init(struct saa7134_dev * &dev->i2c_adap); if (dev->dvb.frontend) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, medion_cardbus.tuner_address, - &dev->i2c_adap, &dvb_pll_fmd1216me); + &dev->i2c_adap, DVB_PLL_FMD1216ME); } break; case SAA7134_BOARD_PHILIPS_TOUGH: @@ -963,7 +963,7 @@ static int dvb_init(struct saa7134_dev * &dev->i2c_adap); if (dev->dvb.frontend) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_tdhu2); + NULL, DVB_PLL_TDHU2); } break; case SAA7134_BOARD_KWORLD_ATSC110: @@ -971,7 +971,7 @@ static int dvb_init(struct saa7134_dev * &dev->i2c_adap); if (dev->dvb.frontend) { dvb_attach(dvb_pll_attach, dev->dvb.frontend, 0x61, - NULL, &dvb_pll_tuv1236d); + NULL, DVB_PLL_TUV1236D); } break; case SAA7134_BOARD_FLYDVBS_LR300: @@ -996,7 +996,7 @@ static int dvb_init(struct saa7134_dev * dev->dvb.frontend->ops.sleep = philips_europa_demod_sleep; dvb_attach(dvb_pll_attach, dev->dvb.frontend, medion_cardbus.tuner_address, - &dev->i2c_adap, &dvb_pll_fmd1216me); + &dev->i2c_adap, DVB_PLL_FMD1216ME); } break; case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb