Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / drivers / media / dvb-frontends / cxd2880 / cxd2880.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * cxd2880.h
4  * Sony CXD2880 DVB-T2/T tuner + demodulator driver public definitions
5  *
6  * Copyright (C) 2016, 2017, 2018 Sony Semiconductor Solutions Corporation
7  */
8
9 #ifndef CXD2880_H
10 #define CXD2880_H
11
12 struct cxd2880_config {
13         struct spi_device *spi;
14         struct mutex *spi_mutex; /* For SPI access exclusive control */
15 };
16
17 #if IS_REACHABLE(CONFIG_DVB_CXD2880)
18 extern struct dvb_frontend *cxd2880_attach(struct dvb_frontend *fe,
19                                         struct cxd2880_config *cfg);
20 #else
21 static inline struct dvb_frontend *cxd2880_attach(struct dvb_frontend *fe,
22                                         struct cxd2880_config *cfg)
23 {
24         pr_warn("%s: driver disabled by Kconfig\n", __func__);
25         return NULL;
26 }
27 #endif /* CONFIG_DVB_CXD2880 */
28
29 #endif /* CXD2880_H */