2019-05-20 09:19:02 +02:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2008-01-25 18:20:48 -03:00
/*
TDA8261 8 PSK / QPSK tuner driver
Copyright ( C ) Manu Abraham ( abraham . manu @ gmail . com )
*/
static int tda8261_get_frequency ( struct dvb_frontend * fe , u32 * frequency )
{
2014-06-24 18:42:27 -03:00
struct dvb_frontend_ops * frontend_ops = & fe - > ops ;
struct dvb_tuner_ops * tuner_ops = & frontend_ops - > tuner_ops ;
2008-01-25 18:20:48 -03:00
int err = 0 ;
2015-11-11 18:07:44 -02:00
if ( tuner_ops - > get_frequency ) {
err = tuner_ops - > get_frequency ( fe , frequency ) ;
2014-06-24 18:42:28 -03:00
if ( err < 0 ) {
2015-11-11 18:07:44 -02:00
pr_err ( " %s: Invalid parameter \n " , __func__ ) ;
2008-01-25 18:20:48 -03:00
return err ;
}
2015-11-11 18:07:44 -02:00
pr_debug ( " %s: Frequency=%d \n " , __func__ , * frequency ) ;
2008-01-25 18:20:48 -03:00
}
return 0 ;
}
static int tda8261_set_frequency ( struct dvb_frontend * fe , u32 frequency )
{
2014-06-24 18:42:27 -03:00
struct dvb_frontend_ops * frontend_ops = & fe - > ops ;
struct dvb_tuner_ops * tuner_ops = & frontend_ops - > tuner_ops ;
2015-11-11 18:07:44 -02:00
struct dtv_frontend_properties * c = & fe - > dtv_property_cache ;
2008-01-25 18:20:48 -03:00
int err = 0 ;
2015-11-11 18:07:44 -02:00
if ( tuner_ops - > set_params ) {
err = tuner_ops - > set_params ( fe ) ;
2014-06-24 18:42:28 -03:00
if ( err < 0 ) {
2015-11-11 18:07:44 -02:00
pr_err ( " %s: Invalid parameter \n " , __func__ ) ;
2008-01-25 18:20:48 -03:00
return err ;
}
}
2015-11-11 18:07:44 -02:00
pr_debug ( " %s: Frequency=%d \n " , __func__ , c - > frequency ) ;
2008-01-25 18:20:48 -03:00
return 0 ;
}
static int tda8261_get_bandwidth ( struct dvb_frontend * fe , u32 * bandwidth )
{
2015-11-11 18:07:44 -02:00
/* FIXME! need to calculate Bandwidth */
* bandwidth = 40000000 ;
2008-01-25 18:20:48 -03:00
return 0 ;
}