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