1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * lnbp22.h - driver for lnb supply and control ic lnbp22
4  *
5  * Copyright (C) 2006 Dominik Kuhlen
6  * Based on lnbp21.h
7  *
8  * the project's page is at https://linuxtv.org
9  */
10 
11 #ifndef _LNBP22_H
12 #define _LNBP22_H
13 
14 /* Enable */
15 #define LNBP22_EN	  0x10
16 /* Voltage selection */
17 #define LNBP22_VSEL	0x02
18 /* Plus 1 Volt Bit */
19 #define LNBP22_LLC	0x01
20 
21 #include <linux/dvb/frontend.h>
22 
23 #if IS_REACHABLE(CONFIG_DVB_LNBP22)
24 /*
25  * override_set and override_clear control which system register bits (above)
26  * to always set & clear
27  */
28 extern struct dvb_frontend *lnbp22_attach(struct dvb_frontend *fe,
29 						struct i2c_adapter *i2c);
30 #else
31 static inline struct dvb_frontend *lnbp22_attach(struct dvb_frontend *fe,
32 						struct i2c_adapter *i2c)
33 {
34 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
35 	return NULL;
36 }
37 #endif /* CONFIG_DVB_LNBP22 */
38 
39 #endif /* _LNBP22_H */
40