cx24123.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver
  4. Copyright (C) 2005 Steven Toth <[email protected]>
  5. */
  6. #ifndef CX24123_H
  7. #define CX24123_H
  8. #include <linux/dvb/frontend.h>
  9. struct cx24123_config {
  10. /* the demodulator's i2c address */
  11. u8 demod_address;
  12. /* Need to set device param for start_dma */
  13. int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured);
  14. /* 0 = LNB voltage normal, 1 = LNB voltage inverted */
  15. int lnb_polarity;
  16. /* this device has another tuner */
  17. u8 dont_use_pll;
  18. void (*agc_callback) (struct dvb_frontend *);
  19. };
  20. #if IS_REACHABLE(CONFIG_DVB_CX24123)
  21. extern struct dvb_frontend *cx24123_attach(const struct cx24123_config *config,
  22. struct i2c_adapter *i2c);
  23. extern struct i2c_adapter *cx24123_get_tuner_i2c_adapter(struct dvb_frontend *);
  24. #else
  25. static inline struct dvb_frontend *cx24123_attach(
  26. const struct cx24123_config *config, struct i2c_adapter *i2c)
  27. {
  28. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  29. return NULL;
  30. }
  31. static inline struct i2c_adapter *
  32. cx24123_get_tuner_i2c_adapter(struct dvb_frontend *fe)
  33. {
  34. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  35. return NULL;
  36. }
  37. #endif
  38. #endif /* CX24123_H */