linux/drivers/media/dvb-frontends/isl6423.h
<<
>>
Prefs
   1/*
   2        Intersil ISL6423 SEC and LNB Power supply controller
   3
   4        Copyright (C) Manu Abraham <abraham.manu@gmail.com>
   5
   6        This program is free software; you can redistribute it and/or modify
   7        it under the terms of the GNU General Public License as published by
   8        the Free Software Foundation; either version 2 of the License, or
   9        (at your option) any later version.
  10
  11        This program is distributed in the hope that it will be useful,
  12        but WITHOUT ANY WARRANTY; without even the implied warranty of
  13        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14        GNU General Public License for more details.
  15
  16        You should have received a copy of the GNU General Public License
  17        along with this program; if not, write to the Free Software
  18        Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19*/
  20
  21#ifndef __ISL_6423_H
  22#define __ISL_6423_H
  23
  24#include <linux/dvb/frontend.h>
  25
  26enum isl6423_current {
  27        SEC_CURRENT_275m = 0,
  28        SEC_CURRENT_515m,
  29        SEC_CURRENT_635m,
  30        SEC_CURRENT_800m,
  31};
  32
  33enum isl6423_curlim {
  34        SEC_CURRENT_LIM_ON = 1,
  35        SEC_CURRENT_LIM_OFF
  36};
  37
  38struct isl6423_config {
  39        enum isl6423_current current_max;
  40        enum isl6423_curlim curlim;
  41        u8 addr;
  42        u8 mod_extern;
  43};
  44
  45#if IS_REACHABLE(CONFIG_DVB_ISL6423)
  46
  47
  48extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
  49                                           struct i2c_adapter *i2c,
  50                                           const struct isl6423_config *config);
  51
  52#else
  53static inline struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
  54                                                  struct i2c_adapter *i2c,
  55                                                  const struct isl6423_config *config)
  56{
  57        printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  58        return NULL;
  59}
  60
  61#endif /* CONFIG_DVB_ISL6423 */
  62
  63#endif /* __ISL_6423_H */
  64