linux/drivers/media/dvb-frontends/horus3a.h
<<
>>
Prefs
   1/*
   2 * horus3a.h
   3 *
   4 * Sony Horus3A DVB-S/S2 tuner driver
   5 *
   6 * Copyright 2012 Sony Corporation
   7 * Copyright (C) 2014 NetUP Inc.
   8 * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru>
   9 * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru>
  10 *
  11 * This program is free software; you can redistribute it and/or modify
  12 * it under the terms of the GNU General Public License as published by
  13 * the Free Software Foundation; either version 2 of the License, or
  14 * (at your option) any later version.
  15 *
  16 * This program is distributed in the hope that it will be useful,
  17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19 * GNU General Public License for more details.
  20  */
  21
  22#ifndef __DVB_HORUS3A_H__
  23#define __DVB_HORUS3A_H__
  24
  25#include <linux/dvb/frontend.h>
  26#include <linux/i2c.h>
  27
  28/**
  29 * struct horus3a_config - the configuration of Horus3A tuner driver
  30 * @i2c_address:    I2C address of the tuner
  31 * @xtal_freq_mhz:  Oscillator frequency, MHz
  32 * @set_tuner_priv: Callback function private context
  33 * @set_tuner_callback: Callback function that notifies the parent driver
  34 *          which tuner is active now
  35 */
  36struct horus3a_config {
  37        u8      i2c_address;
  38        u8      xtal_freq_mhz;
  39        void    *set_tuner_priv;
  40        int     (*set_tuner_callback)(void *, int);
  41};
  42
  43#if IS_REACHABLE(CONFIG_DVB_HORUS3A)
  44extern struct dvb_frontend *horus3a_attach(struct dvb_frontend *fe,
  45                                        const struct horus3a_config *config,
  46                                        struct i2c_adapter *i2c);
  47#else
  48static inline struct dvb_frontend *horus3a_attach(struct dvb_frontend *fe,
  49                                        const struct horus3a_config *config,
  50                                        struct i2c_adapter *i2c)
  51{
  52        printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  53        return NULL;
  54}
  55#endif
  56
  57#endif
  58