@@ -482,10 +482,19 @@ static enum dvbfe_search cxd2820r_search(struct dvb_frontend *fe)
482482
483483 /* switch between DVB-T and DVB-T2 when tune fails */
484484 if (priv -> last_tune_failed ) {
485- if (priv -> delivery_system == SYS_DVBT )
485+ if (priv -> delivery_system == SYS_DVBT ) {
486+ ret = cxd2820r_sleep_t (fe );
487+ if (ret )
488+ goto error ;
489+
486490 c -> delivery_system = SYS_DVBT2 ;
487- else if (priv -> delivery_system == SYS_DVBT2 )
491+ } else if (priv -> delivery_system == SYS_DVBT2 ) {
492+ ret = cxd2820r_sleep_t2 (fe );
493+ if (ret )
494+ goto error ;
495+
488496 c -> delivery_system = SYS_DVBT ;
497+ }
489498 }
490499
491500 /* set frontend */
@@ -562,7 +571,7 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
562571 .delsys = { SYS_DVBT , SYS_DVBT2 , SYS_DVBC_ANNEX_A },
563572 /* default: DVB-T/T2 */
564573 .info = {
565- .name = "Sony CXD2820R (DVB-T/T2) " ,
574+ .name = "Sony CXD2820R" ,
566575
567576 .caps = FE_CAN_FEC_1_2 |
568577 FE_CAN_FEC_2_3 |
@@ -572,7 +581,9 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
572581 FE_CAN_FEC_AUTO |
573582 FE_CAN_QPSK |
574583 FE_CAN_QAM_16 |
584+ FE_CAN_QAM_32 |
575585 FE_CAN_QAM_64 |
586+ FE_CAN_QAM_128 |
576587 FE_CAN_QAM_256 |
577588 FE_CAN_QAM_AUTO |
578589 FE_CAN_TRANSMISSION_MODE_AUTO |
@@ -602,8 +613,7 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
602613};
603614
604615struct dvb_frontend * cxd2820r_attach (const struct cxd2820r_config * cfg ,
605- struct i2c_adapter * i2c ,
606- struct dvb_frontend * fe )
616+ struct i2c_adapter * i2c )
607617{
608618 struct cxd2820r_priv * priv = NULL ;
609619 int ret ;
0 commit comments