2019-05-27 09:55:06 +03:00
/* SPDX-License-Identifier: GPL-2.0-or-later */
2015-07-28 17:33:00 +03:00
/*
* horus3a . h
*
* Sony Horus3A DVB - S / S2 tuner driver
*
* Copyright 2012 Sony Corporation
* Copyright ( C ) 2014 NetUP Inc .
* Copyright ( C ) 2014 Sergey Kozlov < serjk @ netup . ru >
* Copyright ( C ) 2014 Abylay Ospan < aospan @ netup . ru >
*/
# ifndef __DVB_HORUS3A_H__
# define __DVB_HORUS3A_H__
# include <linux/dvb/frontend.h>
# include <linux/i2c.h>
/**
* struct horus3a_config - the configuration of Horus3A tuner driver
* @ i2c_address : I2C address of the tuner
* @ xtal_freq_mhz : Oscillator frequency , MHz
* @ set_tuner_priv : Callback function private context
* @ set_tuner_callback : Callback function that notifies the parent driver
* which tuner is active now
*/
struct horus3a_config {
u8 i2c_address ;
u8 xtal_freq_mhz ;
void * set_tuner_priv ;
int ( * set_tuner_callback ) ( void * , int ) ;
} ;
# if IS_REACHABLE(CONFIG_DVB_HORUS3A)
2017-11-29 22:02:22 +03:00
/**
* Attach a horus3a tuner
*
* @ fe : frontend to be attached
* @ config : pointer to & struct helene_config with tuner configuration .
* @ i2c : i2c adapter to use .
*
* return : FE pointer on success , NULL on failure .
*/
2015-07-28 17:33:00 +03:00
extern struct dvb_frontend * horus3a_attach ( struct dvb_frontend * fe ,
const struct horus3a_config * config ,
struct i2c_adapter * i2c ) ;
# else
2015-09-14 01:39:22 +03:00
static inline struct dvb_frontend * horus3a_attach ( struct dvb_frontend * fe ,
const struct horus3a_config * config ,
2015-07-28 17:33:00 +03:00
struct i2c_adapter * i2c )
{
printk ( KERN_WARNING " %s: driver disabled by Kconfig \n " , __func__ ) ;
return NULL ;
}
# endif
# endif