Commit 0ff48432 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] mt2063: Move code from mt2063_cfg.h

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 4dca4efc
......@@ -13,6 +13,135 @@
static unsigned int verbose;
module_param(verbose, int, 0644);
/*****************/
/* From drivers/media/common/tuners/mt2063_cfg.h */
static unsigned int mt2063_setTune(struct dvb_frontend *fe, UData_t f_in,
UData_t bw_in,
enum MTTune_atv_standard tv_type)
{
//return (int)MT_Tune_atv(h, f_in, bw_in, tv_type);
struct dvb_frontend_ops *frontend_ops = NULL;
struct dvb_tuner_ops *tuner_ops = NULL;
struct tuner_state t_state;
struct mt2063_state *mt2063State = fe->tuner_priv;
int err = 0;
t_state.frequency = f_in;
t_state.bandwidth = bw_in;
mt2063State->tv_type = tv_type;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_FREQUENCY,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int mt2063_lockStatus(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->get_state) {
if ((err =
tuner_ops->get_state(fe, DVBFE_TUNER_REFCLOCK,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_Open(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_OPEN,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_SoftwareShutdown(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_SOFTWARE_SHUTDOWN,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_ClearPowerMaskBits(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_CLEAR_POWER_MASKBITS,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
/*****************/
//i2c operation
static int mt2063_writeregs(struct mt2063_state *state, u8 reg1,
u8 * data, int len)
......
static unsigned int mt2063_setTune(struct dvb_frontend *fe, UData_t f_in,
UData_t bw_in,
enum MTTune_atv_standard tv_type)
{
//return (int)MT_Tune_atv(h, f_in, bw_in, tv_type);
struct dvb_frontend_ops *frontend_ops = NULL;
struct dvb_tuner_ops *tuner_ops = NULL;
struct tuner_state t_state;
struct mt2063_state *mt2063State = fe->tuner_priv;
int err = 0;
t_state.frequency = f_in;
t_state.bandwidth = bw_in;
mt2063State->tv_type = tv_type;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_FREQUENCY,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int mt2063_lockStatus(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->get_state) {
if ((err =
tuner_ops->get_state(fe, DVBFE_TUNER_REFCLOCK,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_Open(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_OPEN,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_SoftwareShutdown(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_SOFTWARE_SHUTDOWN,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
static unsigned int tuner_MT2063_ClearPowerMaskBits(struct dvb_frontend *fe)
{
struct dvb_frontend_ops *frontend_ops = &fe->ops;
struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
struct tuner_state t_state;
int err = 0;
if (&fe->ops)
frontend_ops = &fe->ops;
if (&frontend_ops->tuner_ops)
tuner_ops = &frontend_ops->tuner_ops;
if (tuner_ops->set_state) {
if ((err =
tuner_ops->set_state(fe, DVBFE_TUNER_CLEAR_POWER_MASKBITS,
&t_state)) < 0) {
printk("%s: Invalid parameter\n", __func__);
return err;
}
}
return err;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment