Linux 6.9-rc5
[sfrench/cifs-2.6.git] / drivers / media / dvb-frontends / drx39xyj / drx39xxj.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  *  Driver for Micronas DRX39xx family (drx3933j)
4  *
5  *  Written by Devin Heitmueller <devin.heitmueller@kernellabs.com>
6  */
7
8 #ifndef DRX39XXJ_H
9 #define DRX39XXJ_H
10
11 #include <linux/dvb/frontend.h>
12 #include <media/dvb_frontend.h>
13 #include "drx_driver.h"
14
15 struct drx39xxj_state {
16         struct i2c_adapter *i2c;
17         struct drx_demod_instance *demod;
18         struct dvb_frontend frontend;
19         unsigned int i2c_gate_open:1;
20         const struct firmware *fw;
21 };
22
23 #if IS_REACHABLE(CONFIG_DVB_DRX39XYJ)
24 struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c);
25 #else
26 static inline struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) {
27         return NULL;
28 };
29 #endif
30
31 #endif /* DVB_DUMMY_FE_H */