dib0090: remove manual configuration system
PATCH 1/1 dib0090: remove manual configuration system
dib0900.c has always shipped with its own, manual, configuration system. There a three problems with it.
1) macros that are defined, but not used:
CONFIG_SYS_DVBT
CONFIG_DIB0090_USE_PWM_AGC2) checks for macros that are always true:
CONFIG_SYS_ISDBT
CONFIG_BAND_CBAND
CONFIG_BAND_VHF
CONFIG_BAND_UHF
3) checks for macros that are never defined and are always false:
CONFIG_BAND_SBAND
CONFIG_STANDARD_DAB
CONFIG_STANDARD_DVBT
CONFIG_TUNER_DIB0090_P1B_SUPPORT
CONFIG_BAND_LBANDRemove all references to these macros, and, of course, remove the code hidden behind the macros that are never defined too.
---
0) Compile tested. I don't have the hardware.
1) This might be a bit hard to review. Should I split it in two or three patches?
2) dib0070.c has a reference to CONFIG_SYS_ISDBT. I'll remove it in a future patch.
3) If this gets accepted I might be inclined to clean up the coding style in a future patch. It needs cleaning up quite a bit.
drivers/media/dvb-frontends/dib0090.c | 130 ---------------------------------- 1 file changed, 130 deletions(-)
drivers/media/dvb-frontends/dib0090.c +0 -130
@@ -46,13 +46,6 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); } \ } while (0) -#define CONFIG_SYS_DVBT -#define CONFIG_SYS_ISDBT -#define CONFIG_BAND_CBAND -#define CONFIG_BAND_VHF -#define CONFIG_BAND_UHF -#define CONFIG_DIB0090_USE_PWM_AGC -#define EN_LNA0 0x8000#define EN_LNA1 0x4000#define EN_LNA2 0x2000
@@ -1165,24 +1158,14 @@ int dib0090_gain_control(struct dvb_frontend *fe) state->agc_freeze =0 ;dib0090_write_reg (state,0x04 ,0x0 ); -#ifdef CONFIG_BAND_SBAND -if (state->current_band ==BAND_SBAND ) { -dib0090_set_rframp (state, rf_ramp_sband); -dib0090_set_bbramp (state, bb_ramp_boost); - } else -#endif -#ifdef CONFIG_BAND_VHF if (state->current_band ==BAND_VHF && !state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_vhf);dib0090_set_bbramp (state, bb_ramp_pwm_normal); }else -#endif -#ifdef CONFIG_BAND_CBAND if (state->current_band ==BAND_CBAND && !state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_cband);dib0090_set_bbramp (state, bb_ramp_pwm_normal); }else -#endif if ((state->current_band ==BAND_CBAND || state->current_band ==BAND_VHF ) && state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_cband_7090p);dib0090_set_bbramp (state, bb_ramp_pwm_normal_socs);
@@ -1220,14 +1203,12 @@ int dib0090_gain_control(struct dvb_frontend *fe)if (*tune_state ==CT_AGC_STEP_0 ) {if (wbd_error <0 && state->rf_gain_limit >0 && !state->identity.p1g) { -#ifdef CONFIG_BAND_CBAND /* in case of CBAND tune reduce first the lt_gain2 before adjusting the RF gain */ u8 ltg2 = (state->rf_lt_def >>10 ) &0x7 ;if (state->current_band ==BAND_CBAND && ltg2) { ltg2 >>=1 ; state->rf_lt_def &= ltg2 <<10 ;/* reduce in 3 steps from 7 to 0 */ } -#endif }else { state->agc_step =0 ; *tune_state =CT_AGC_STEP_1 ;
@@ -1238,16 +1219,6 @@ int dib0090_gain_control(struct dvb_frontend *fe) adc = (adc * ((s32 )355774 ) + (((s32 )1 ) <<20 )) >>21 ;/* included in [0:-700] */ adc_error = (s16) (((s32 )ADC_TARGET ) - adc); -#ifdef CONFIG_STANDARD_DAB -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DAB ) - adc_error -=10 ; -#endif -#ifdef CONFIG_STANDARD_DVBT -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DVBT && - (state->fe->dtv_property_cache.modulation ==QAM_64 || state->fe->dtv_property_cache.modulation ==QAM_16 )) - adc_error +=60 ; -#endif -#ifdef CONFIG_SYS_ISDBT if ((state->fe->dtv_property_cache.delivery_system == SYS_ISDBT) && (((state->fe->dtv_property_cache.layer[0].segment_count > 0) &&
@@ -1274,17 +1245,9 @@ int dib0090_gain_control(struct dvb_frontend *fe) ) ) adc_error +=60 ; -#endif if (*tune_state ==CT_AGC_STEP_1 ) {/* quickly go to the correct range of the ADC power */ if (ABS (adc_error) <50 || state->agc_step++ >5 ) { - -#ifdef CONFIG_STANDARD_DAB -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DAB ) { -dib0090_write_reg (state,0x02 , (1 <<15 ) | (15 <<11 ) | (31 <<6 ) | (63 ));/* cap value = 63 : narrow BB filter : Fc = 1.8MHz */ -dib0090_write_reg (state,0x04 ,0x0 ); - } else -#endif {dib0090_write_reg (state,0x02 , (1 <<15 ) | (3 <<11 ) | (6 <<6 ) | (32 ));dib0090_write_reg (state,0x04 ,0x01 );/*0 = 1KHz ; 1 = 150Hz ; 2 = 50Hz ; 3 = 50KHz ; 4 = servo fast */
@@ -1554,11 +1517,6 @@ static int dib0090_reset(struct dvb_frontend *fe)if (dib0090_identify (fe) <0 )return -EIO ; -#ifdef CONFIG_TUNER_DIB0090_P1B_SUPPORT -if (!(state->identity.version &0x1 ))/* it is P1B - reset is already done */ -return 0 ; -#endif -if (!state->identity.in_soc) {if ((dib0090_read_reg (state,0x1a ) >>5 ) &0x2 )dib0090_write_reg (state,0x1b , (EN_IQADC |EN_BB |EN_BIAS |EN_DIGCLK |EN_PLL |EN_CRYSTAL ));
@@ -1788,10 +1746,6 @@ static int dib0090_wbd_calibration(struct dib0090_state *state, enum frontend_tu wbd_gain = wbd->wbd_gain; else { wbd_gain =4 ; -#if defined(CONFIG_BAND_LBAND ) || defined(CONFIG_BAND_SBAND ) -if ((state->current_band ==BAND_LBAND ) || (state->current_band ==BAND_SBAND )) - wbd_gain =2 ; -#endif }if (wbd_gain == state->wbd_calibration_gain) {/* the WBD calibration has already been done */
@@ -1849,7 +1803,6 @@ static void dib0090_set_bandwidth(struct dib0090_state *state) }static const struct dib0090_pll dib0090_pll_table[] = { -#ifdef CONFIG_BAND_CBAND {56000 ,0 ,9 ,48 ,6 }, {70000 ,1 ,9 ,48 ,6 }, {87000 ,0 ,8 ,32 ,4 },
@@ -1857,93 +1810,49 @@ static const struct dib0090_pll dib0090_pll_table[] = { {115000, 0, 7, 24, 6}, {140000, 1, 7, 24, 6}, {170000, 0, 6, 16, 4}, -#endif -#ifdef CONFIG_BAND_VHF {200000, 1, 6, 16, 4}, {230000, 0, 5, 12, 6}, {280000, 1, 5, 12, 6}, {340000, 0, 4, 8, 4}, {380000, 1, 4, 8, 4}, {450000, 0, 3, 6, 6}, -#endif -#ifdef CONFIG_BAND_UHF {580000, 1, 3, 6, 6}, {700000, 0, 2, 4, 4}, {860000, 1, 2, 4, 4}, -#endif -#ifdef CONFIG_BAND_LBAND - {1800000, 1, 0, 2, 4}, -#endif -#ifdef CONFIG_BAND_SBAND - {2900000, 0, 14, 1, 4}, -#endif };static const struct dib0090_tuning dib0090_tuning_table_fm_vhf_on_cband[] = { -#ifdef CONFIG_BAND_CBAND {184000 ,4 ,1 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, {227000 ,4 ,3 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, {380000 ,4 ,7 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000 ,4 ,0 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1600000 ,4 ,1 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1800000 ,4 ,3 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000 ,1 ,4 ,20 ,0x300 ,0x2d2A ,0x82c7 ,EN_SBD }, - {2900000 ,1 ,7 ,20 ,0x280 ,0x2deb ,0x8347 ,EN_SBD }, -#endif };static const struct dib0090_tuning dib0090_tuning_table[] = { -#ifdef CONFIG_BAND_CBAND {170000 ,4 ,1 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_VHF {184000 ,1 ,1 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {227000 ,1 ,3 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {380000 ,1 ,7 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000 ,4 ,0 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1600000 ,4 ,1 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1800000 ,4 ,3 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000 ,1 ,4 ,20 ,0x300 ,0x2d2A ,0x82c7 ,EN_SBD }, - {2900000 ,1 ,7 ,20 ,0x280 ,0x2deb ,0x8347 ,EN_SBD }, -#endif };static const struct dib0090_tuning dib0090_p1g_tuning_table[] = { -#ifdef CONFIG_BAND_CBAND {170000 ,4 ,1 ,0x820f ,0x300 ,0x2d22 ,0x82cb ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_VHF {184000 ,1 ,1 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {227000 ,1 ,3 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {380000 ,1 ,7 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, -#endif -#ifdef CONFIG_BAND_UHF {510000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {540000 ,2 ,1 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {600000, 2, 3, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF},
@@ -1951,20 +1860,9 @@ static const struct dib0090_tuning dib0090_p1g_tuning_table[] = { {680000, 2, 5, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, {720000, 2, 6, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, {900000, 2, 7, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000, 4, 0, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1600000, 4, 1, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1800000, 4, 3, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000, 1, 4, 20, 0x300, 0x2d2A, 0x82c7, EN_SBD}, - {2900000, 1, 7, 20, 0x280, 0x2deb, 0x8347, EN_SBD}, -#endif };static const struct dib0090_pll dib0090_p1g_pll_table[] = { -#ifdef CONFIG_BAND_CBAND {57000 ,0 ,11 ,48 ,6 }, {70000 ,1 ,11 ,48 ,6 }, {86000, 0, 10, 32, 4},
@@ -1972,71 +1870,43 @@ static const struct dib0090_pll dib0090_p1g_pll_table[] = { {115000, 0, 9, 24, 6}, {140000, 1, 9, 24, 6}, {170000, 0, 8, 16, 4}, -#endif -#ifdef CONFIG_BAND_VHF {200000, 1, 8, 16, 4}, {230000, 0, 7, 12, 6}, {280000, 1, 7, 12, 6}, {340000, 0, 6, 8, 4}, {380000, 1, 6, 8, 4}, {455000, 0, 5, 6, 6}, -#endif -#ifdef CONFIG_BAND_UHF {580000, 1, 5, 6, 6}, {680000, 0, 4, 4, 4}, {860000, 1, 4, 4, 4}, -#endif -#ifdef CONFIG_BAND_LBAND - {1800000, 1, 2, 2, 4}, -#endif -#ifdef CONFIG_BAND_SBAND - {2900000, 0, 1, 1, 6}, -#endif };static const struct dib0090_tuning dib0090_p1g_tuning_table_fm_vhf_on_cband[] = { -#ifdef CONFIG_BAND_CBAND {184000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, {227000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, {380000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000, 4, 0, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1600000, 4, 1, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1800000, 4, 3, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000, 1, 4, 20, 0x300, 0x2d2A, 0x82c7, EN_SBD}, - {2900000, 1, 7, 20, 0x280, 0x2deb, 0x8347, EN_SBD}, -#endif };static const struct dib0090_tuning dib0090_tuning_table_cband_7090[] = { -#ifdef CONFIG_BAND_CBAND {300000 ,4 ,3 ,0x018F ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {380000 ,4 ,10 ,0x018F ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {570000 ,4 ,10 ,0x8190 ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {858000 ,4 ,5 ,0x8190 ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, -#endif };static const struct dib0090_tuning dib0090_tuning_table_cband_7090e_sensitivity[] = { -#ifdef CONFIG_BAND_CBAND {300000 ,0 ,3 ,0x8105 ,0x2c0 ,0x2d12 ,0xb84e ,EN_CAB }, {380000 ,0 ,10 ,0x810F ,0x2c0 ,0x2d12 ,0xb84e ,EN_CAB }, {600000 ,0 ,10 ,0x815E ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {660000 ,0 ,5 ,0x85E3 ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {720000 ,0 ,5 ,0x852E ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {860000 ,0 ,4 ,0x85E5 ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, -#endif }; int dib0090_update_tuning_table_7090(struct dvb_frontend *fe,
Signature · 1 line
1.9.0
Hi Paul,
Em Thu, 22 May 2014 14:48:07 +0200
Paul Bolle <[email protected]> escreveu:
Quoted 14 lines
dib0900.chas always shipped with its own, manual, configuration system. There a three problems with it.1) macros that are defined, but not used:
CONFIG_SYS_DVBT CONFIG_DIB0090_USE_PWM_AGC2) checks for macros that are always true:
CONFIG_SYS_ISDBT
CONFIG_BAND_CBAND
CONFIG_BAND_VHF
CONFIG_BAND_UHF3) checks for macros that are never defined and are always false:
Quoted 8 lines
CONFIG_BAND_SBAND CONFIG_STANDARD_DAB CONFIG_STANDARD_DVBT CONFIG_TUNER_DIB0090_P1B_SUPPORT CONFIG_BAND_LBANDRemove all references to these macros, and, of course, remove the code hidden behind the macros that are never defined too.
IMHO, it is OK to remove the macros that are always true and the ones that aren't used. However, I don't like the idea of removing the other macros. This is a tuner driver that can be used on other bands, and some day we might end implementing analog support for the Dibcom driver or to add something that will require the code there. So, IMHO, better to keep the code there.
Regards,
Mauro
Quoted 328 lines
Signed-off-by Paul Bolle <[email protected]>---
0) Compile tested. I don't have the hardware.1) This might be a bit hard to review. Should I split it in two or three patches?
2)
dib0070.chas a reference toCONFIG_SYS_ISDBT. I'll remove it in a future patch.3) If this gets accepted I might be inclined to clean up the coding style in a future patch. It needs cleaning up quite a bit.
drivers/media/dvb-frontends/dib0090.c | 130 ---------------------------------- 1 file changed, 130 deletions(-)drivers/media/dvb-frontends/dib0090.c +0
-130@@ -46,13 +46,6 @@ MODULE_PARM_DESC(debug, "turn on debugging (default: 0)"); } \ } while (0) -#define CONFIG_SYS_DVBT -#define CONFIG_SYS_ISDBT -#define CONFIG_BAND_CBAND -#define CONFIG_BAND_VHF -#define CONFIG_BAND_UHF -#define CONFIG_DIB0090_USE_PWM_AGC -#define EN_LNA0 0x8000#define EN_LNA1 0x4000#define EN_LNA2 0x2000@@ -1165,24 +1158,14 @@ int dib0090_gain_control(struct dvb_frontend *fe) state->agc_freeze =0 ;dib0090_write_reg (state,0x04 ,0x0 ); -#ifdef CONFIG_BAND_SBAND -if (state->current_band ==BAND_SBAND ) { -dib0090_set_rframp (state, rf_ramp_sband); -dib0090_set_bbramp (state, bb_ramp_boost); - } else -#endif -#ifdef CONFIG_BAND_VHF if (state->current_band ==BAND_VHF && !state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_vhf);dib0090_set_bbramp (state, bb_ramp_pwm_normal); }else -#endif -#ifdef CONFIG_BAND_CBAND if (state->current_band ==BAND_CBAND && !state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_cband);dib0090_set_bbramp (state, bb_ramp_pwm_normal); }else -#endif if ((state->current_band ==BAND_CBAND || state->current_band ==BAND_VHF ) && state->identity.p1g) {dib0090_set_rframp (state, rf_ramp_pwm_cband_7090p);dib0090_set_bbramp (state, bb_ramp_pwm_normal_socs);@@ -1220,14 +1203,12 @@ int dib0090_gain_control(struct dvb_frontend *fe)if (*tune_state ==CT_AGC_STEP_0 ) {if (wbd_error <0 && state->rf_gain_limit >0 && !state->identity.p1g) { -#ifdef CONFIG_BAND_CBAND /* in case of CBAND tune reduce first the lt_gain2 before adjusting the RF gain */ u8 ltg2 = (state->rf_lt_def >>10 ) &0x7 ;if (state->current_band ==BAND_CBAND && ltg2) { ltg2 >>=1 ; state->rf_lt_def &= ltg2 <<10 ;/* reduce in 3 steps from 7 to 0 */ } -#endif }else { state->agc_step =0 ; *tune_state =CT_AGC_STEP_1 ;@@ -1238,16 +1219,6 @@ int dib0090_gain_control(struct dvb_frontend *fe) adc = (adc * ((s32 )355774 ) + (((s32 )1 ) <<20 )) >>21 ;/* included in [0:-700] */ adc_error = (s16) (((s32 )ADC_TARGET ) - adc); -#ifdef CONFIG_STANDARD_DAB -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DAB ) - adc_error -=10 ; -#endif -#ifdef CONFIG_STANDARD_DVBT -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DVBT && - (state->fe->dtv_property_cache.modulation ==QAM_64 || state->fe->dtv_property_cache.modulation ==QAM_16 )) - adc_error +=60 ; -#endif -#ifdef CONFIG_SYS_ISDBT if ((state->fe->dtv_property_cache.delivery_system == SYS_ISDBT) && (((state->fe->dtv_property_cache.layer[0].segment_count > 0) &&@@ -1274,17 +1245,9 @@ int dib0090_gain_control(struct dvb_frontend *fe) ) ) adc_error +=60 ; -#endif if (*tune_state ==CT_AGC_STEP_1 ) {/* quickly go to the correct range of the ADC power */ if (ABS (adc_error) <50 || state->agc_step++ >5 ) { - -#ifdef CONFIG_STANDARD_DAB -if (state->fe->dtv_property_cache.delivery_system ==STANDARD_DAB ) { -dib0090_write_reg (state,0x02 , (1 <<15 ) | (15 <<11 ) | (31 <<6 ) | (63 ));/* cap value = 63 : narrow BB filter : Fc = 1.8MHz */ -dib0090_write_reg (state,0x04 ,0x0 ); - } else -#endif {dib0090_write_reg (state,0x02 , (1 <<15 ) | (3 <<11 ) | (6 <<6 ) | (32 ));dib0090_write_reg (state,0x04 ,0x01 );/*0 = 1KHz ; 1 = 150Hz ; 2 = 50Hz ; 3 = 50KHz ; 4 = servo fast */ @@ -1554,11 +1517,6 @@ static int dib0090_reset(struct dvb_frontend *fe)if (dib0090_identify (fe) <0 )return -EIO ; -#ifdef CONFIG_TUNER_DIB0090_P1B_SUPPORT -if (!(state->identity.version &0x1 ))/* it is P1B - reset is already done */ -return 0 ; -#endif -if (!state->identity.in_soc) {if ((dib0090_read_reg (state,0x1a ) >>5 ) &0x2 )dib0090_write_reg (state,0x1b , (EN_IQADC |EN_BB |EN_BIAS |EN_DIGCLK |EN_PLL |EN_CRYSTAL ));@@ -1788,10 +1746,6 @@ static int dib0090_wbd_calibration(struct dib0090_state *state, enum frontend_tu wbd_gain = wbd->wbd_gain; else { wbd_gain =4 ; -#if defined(CONFIG_BAND_LBAND ) || defined(CONFIG_BAND_SBAND ) -if ((state->current_band ==BAND_LBAND ) || (state->current_band ==BAND_SBAND )) - wbd_gain =2 ; -#endif }if (wbd_gain == state->wbd_calibration_gain) {/* the WBD calibration has already been done */ @@ -1849,7 +1803,6 @@ static void dib0090_set_bandwidth(struct dib0090_state *state) }static const struct dib0090_pll dib0090_pll_table[] = { -#ifdef CONFIG_BAND_CBAND {56000 ,0 ,9 ,48 ,6 }, {70000 ,1 ,9 ,48 ,6 }, {87000 ,0 ,8 ,32 ,4 },@@ -1857,93 +1810,49 @@ static const struct dib0090_pll dib0090_pll_table[] = { {115000, 0, 7, 24, 6}, {140000, 1, 7, 24, 6}, {170000, 0, 6, 16, 4}, -#endif -#ifdef CONFIG_BAND_VHF {200000, 1, 6, 16, 4}, {230000, 0, 5, 12, 6}, {280000, 1, 5, 12, 6}, {340000, 0, 4, 8, 4}, {380000, 1, 4, 8, 4}, {450000, 0, 3, 6, 6}, -#endif -#ifdef CONFIG_BAND_UHF {580000, 1, 3, 6, 6}, {700000, 0, 2, 4, 4}, {860000, 1, 2, 4, 4}, -#endif -#ifdef CONFIG_BAND_LBAND - {1800000, 1, 0, 2, 4}, -#endif -#ifdef CONFIG_BAND_SBAND - {2900000, 0, 14, 1, 4}, -#endif };static const struct dib0090_tuning dib0090_tuning_table_fm_vhf_on_cband[] = { -#ifdef CONFIG_BAND_CBAND {184000 ,4 ,1 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, {227000 ,4 ,3 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, {380000 ,4 ,7 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000 ,4 ,0 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1600000 ,4 ,1 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1800000 ,4 ,3 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000 ,1 ,4 ,20 ,0x300 ,0x2d2A ,0x82c7 ,EN_SBD }, - {2900000 ,1 ,7 ,20 ,0x280 ,0x2deb ,0x8347 ,EN_SBD }, -#endif };static const struct dib0090_tuning dib0090_tuning_table[] = { -#ifdef CONFIG_BAND_CBAND {170000 ,4 ,1 ,15 ,0x280 ,0x2912 ,0xb94e ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_VHF {184000 ,1 ,1 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {227000 ,1 ,3 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {380000 ,1 ,7 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000 ,4 ,0 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1600000 ,4 ,1 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, - {1800000 ,4 ,3 ,20 ,0x300 ,0x1912 ,0x82c9 ,EN_LBD }, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000 ,1 ,4 ,20 ,0x300 ,0x2d2A ,0x82c7 ,EN_SBD }, - {2900000 ,1 ,7 ,20 ,0x280 ,0x2deb ,0x8347 ,EN_SBD }, -#endif };static const struct dib0090_tuning dib0090_p1g_tuning_table[] = { -#ifdef CONFIG_BAND_CBAND {170000 ,4 ,1 ,0x820f ,0x300 ,0x2d22 ,0x82cb ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_VHF {184000 ,1 ,1 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {227000 ,1 ,3 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, {380000 ,1 ,7 ,15 ,0x300 ,0x4d12 ,0xb94e ,EN_VHF }, -#endif -#ifdef CONFIG_BAND_UHF {510000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {540000 ,2 ,1 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {600000, 2, 3, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF},@@ -1951,20 +1860,9 @@ static const struct dib0090_tuning dib0090_p1g_tuning_table[] = { {680000, 2, 5, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, {720000, 2, 6, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, {900000, 2, 7, 15, 0x300, 0x1d12, 0xb9ce, EN_UHF}, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000, 4, 0, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1600000, 4, 1, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1800000, 4, 3, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000, 1, 4, 20, 0x300, 0x2d2A, 0x82c7, EN_SBD}, - {2900000, 1, 7, 20, 0x280, 0x2deb, 0x8347, EN_SBD}, -#endif };static const struct dib0090_pll dib0090_p1g_pll_table[] = { -#ifdef CONFIG_BAND_CBAND {57000 ,0 ,11 ,48 ,6 }, {70000 ,1 ,11 ,48 ,6 }, {86000, 0, 10, 32, 4},@@ -1972,71 +1870,43 @@ static const struct dib0090_pll dib0090_p1g_pll_table[] = { {115000, 0, 9, 24, 6}, {140000, 1, 9, 24, 6}, {170000, 0, 8, 16, 4}, -#endif -#ifdef CONFIG_BAND_VHF {200000, 1, 8, 16, 4}, {230000, 0, 7, 12, 6}, {280000, 1, 7, 12, 6}, {340000, 0, 6, 8, 4}, {380000, 1, 6, 8, 4}, {455000, 0, 5, 6, 6}, -#endif -#ifdef CONFIG_BAND_UHF {580000, 1, 5, 6, 6}, {680000, 0, 4, 4, 4}, {860000, 1, 4, 4, 4}, -#endif -#ifdef CONFIG_BAND_LBAND - {1800000, 1, 2, 2, 4}, -#endif -#ifdef CONFIG_BAND_SBAND - {2900000, 0, 1, 1, 6}, -#endif };static const struct dib0090_tuning dib0090_p1g_tuning_table_fm_vhf_on_cband[] = { -#ifdef CONFIG_BAND_CBAND {184000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, {227000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, {380000 ,4 ,3 ,0x4187 ,0x2c0 ,0x2d22 ,0x81cb ,EN_CAB }, -#endif -#ifdef CONFIG_BAND_UHF {520000 ,2 ,0 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {550000 ,2 ,2 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {650000 ,2 ,3 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {750000 ,2 ,5 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {850000 ,2 ,6 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, {900000 ,2 ,7 ,15 ,0x300 ,0x1d12 ,0xb9ce ,EN_UHF }, -#endif -#ifdef CONFIG_BAND_LBAND - {1500000, 4, 0, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1600000, 4, 1, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, - {1800000, 4, 3, 20, 0x300, 0x1912, 0x82c9, EN_LBD}, -#endif -#ifdef CONFIG_BAND_SBAND - {2300000, 1, 4, 20, 0x300, 0x2d2A, 0x82c7, EN_SBD}, - {2900000, 1, 7, 20, 0x280, 0x2deb, 0x8347, EN_SBD}, -#endif };static const struct dib0090_tuning dib0090_tuning_table_cband_7090[] = { -#ifdef CONFIG_BAND_CBAND {300000 ,4 ,3 ,0x018F ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {380000 ,4 ,10 ,0x018F ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {570000 ,4 ,10 ,0x8190 ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, {858000 ,4 ,5 ,0x8190 ,0x2c0 ,0x2d22 ,0xb9ce ,EN_CAB }, -#endif };static const struct dib0090_tuning dib0090_tuning_table_cband_7090e_sensitivity[] = { -#ifdef CONFIG_BAND_CBAND {300000 ,0 ,3 ,0x8105 ,0x2c0 ,0x2d12 ,0xb84e ,EN_CAB }, {380000 ,0 ,10 ,0x810F ,0x2c0 ,0x2d12 ,0xb84e ,EN_CAB }, {600000 ,0 ,10 ,0x815E ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {660000 ,0 ,5 ,0x85E3 ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {720000 ,0 ,5 ,0x852E ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, {860000 ,0 ,4 ,0x85E5 ,0x280 ,0x2d12 ,0xb84e ,EN_CAB }, -#endif }; int dib0090_update_tuning_table_7090(struct dvb_frontend *fe,
Hi Mauro,
Quoted 23 lines · Mauro Carvalho Chehab
Em Thu, 22 May 2014 14:48:07 +0200
Paul Bolle <[email protected]> escreveu:Quoted 20 lines
dib0900.chas always shipped with its own, manual, configuration system. There a three problems with it.1) macros that are defined, but not used:
CONFIG_SYS_DVBT CONFIG_DIB0090_USE_PWM_AGC2) checks for macros that are always true:
CONFIG_SYS_ISDBT
CONFIG_BAND_CBAND
CONFIG_BAND_VHF
CONFIG_BAND_UHF3) checks for macros that are never defined and are always false:
CONFIG_BAND_SBAND CONFIG_STANDARD_DAB CONFIG_STANDARD_DVBT CONFIG_TUNER_DIB0090_P1B_SUPPORT CONFIG_BAND_LBAND
Quoted 5 lines
Quoted 2 lines
Remove all references to these macros, and, of course, remove the code hidden behind the macros that are never defined too.
IMHO, it is OK to remove the macros that are always true and the ones that aren't used.
I see. I hope to send a v2 that does that one of these days.
Quoted 5 lines
However, I don't like the idea of
removing the other macros. This is a tuner driver that can be used on other bands, and some day we might end implementing analog support for the Dibcom driver or to add something that will require the code there. So, IMHO, better to keep the code there.
But would you consider a patch that at least moves those macros out of the CONFIG_* namespace (ie, a patch that prefixes those macros with, say, DIB0090_)?
Paul Bolle