static bool mtv318_scan_ch(struct ensemble_info_type *e_info , unsigned long freq) { bool ret = false; if (mtv318_pwr_on == true && e_info != NULL) { if (rtvTDMB_ScanFrequency(freq/1000) == RTV_SUCCESS) { rtvTDMB_OpenFIC(); ret = rtvFICDEC_Decode(freq/1000); rtvTDMB_CloseFIC(); if (ret == true) __get_ensemble_info(e_info, (freq)); } } return ret; }
static bool mtv319_scan_ch(struct ensemble_info_type *e_info , unsigned long freq) { enum E_RTV_FIC_DEC_RET_TYPE dc; bool ret = false; if (mtv319_pwr_on == true && e_info != NULL) { rtvTDMB_CloseAllSubChannels(); if (rtvTDMB_ScanFrequency(freq/1000) == RTV_SUCCESS) { unsigned int i; int ret_size; rtvFICDEC_Init(); /* FIC parser Init */ for (i = 0; i < 30; i++) { ret_size = rtvTDMB_ReadFIC(fic_buf); if (ret_size > 0) { dc = rtvFICDEC_Decode(fic_buf, 384); if (dc == RTV_FIC_RET_GOING) continue; if (dc == RTV_FIC_RET_DONE) ret = true; break; /* Stop */ } else { DPRINTK("mtv319_scan_ch READ Fail\n"); } } rtvTDMB_CloseFIC(); if (ret == true) __get_ensemble_info(e_info, (freq)); } } return ret; }