1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
29a0bf528SMauro Carvalho Chehab /*
39a0bf528SMauro Carvalho Chehab * lnbh24.h - driver for lnb supply and control ic lnbh24
49a0bf528SMauro Carvalho Chehab *
59a0bf528SMauro Carvalho Chehab * Copyright (C) 2009 NetUP Inc.
69a0bf528SMauro Carvalho Chehab * Copyright (C) 2009 Igor M. Liplianin <liplianin@netup.ru>
79a0bf528SMauro Carvalho Chehab */
89a0bf528SMauro Carvalho Chehab
99a0bf528SMauro Carvalho Chehab #ifndef _LNBH24_H
109a0bf528SMauro Carvalho Chehab #define _LNBH24_H
119a0bf528SMauro Carvalho Chehab
129a0bf528SMauro Carvalho Chehab /* system register bits */
139a0bf528SMauro Carvalho Chehab #define LNBH24_OLF 0x01
149a0bf528SMauro Carvalho Chehab #define LNBH24_OTF 0x02
159a0bf528SMauro Carvalho Chehab #define LNBH24_EN 0x04
169a0bf528SMauro Carvalho Chehab #define LNBH24_VSEL 0x08
179a0bf528SMauro Carvalho Chehab #define LNBH24_LLC 0x10
189a0bf528SMauro Carvalho Chehab #define LNBH24_TEN 0x20
199a0bf528SMauro Carvalho Chehab #define LNBH24_TTX 0x40
209a0bf528SMauro Carvalho Chehab #define LNBH24_PCL 0x80
219a0bf528SMauro Carvalho Chehab
229a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
239a0bf528SMauro Carvalho Chehab
249b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_LNBP21)
259a0bf528SMauro Carvalho Chehab /* override_set and override_clear control which
269a0bf528SMauro Carvalho Chehab system register bits (above) to always set & clear */
279a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe,
289a0bf528SMauro Carvalho Chehab struct i2c_adapter *i2c, u8 override_set,
299a0bf528SMauro Carvalho Chehab u8 override_clear, u8 i2c_addr);
309a0bf528SMauro Carvalho Chehab #else
lnbh24_attach(struct dvb_frontend * fe,struct i2c_adapter * i2c,u8 override_set,u8 override_clear,u8 i2c_addr)319a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe,
329a0bf528SMauro Carvalho Chehab struct i2c_adapter *i2c, u8 override_set,
339a0bf528SMauro Carvalho Chehab u8 override_clear, u8 i2c_addr)
349a0bf528SMauro Carvalho Chehab {
359a0bf528SMauro Carvalho Chehab printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
369a0bf528SMauro Carvalho Chehab return NULL;
379a0bf528SMauro Carvalho Chehab }
389a0bf528SMauro Carvalho Chehab #endif
399a0bf528SMauro Carvalho Chehab
409a0bf528SMauro Carvalho Chehab #endif
41