isl6421.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * isl6421.h - driver for lnb supply and control ic ISL6421
  4. *
  5. * Copyright (C) 2006 Andrew de Quincey
  6. * Copyright (C) 2006 Oliver Endriss
  7. *
  8. * the project's page is at https://linuxtv.org
  9. */
  10. #ifndef _ISL6421_H
  11. #define _ISL6421_H
  12. #include <linux/dvb/frontend.h>
  13. /* system register bits */
  14. #define ISL6421_OLF1 0x01
  15. #define ISL6421_EN1 0x02
  16. #define ISL6421_VSEL1 0x04
  17. #define ISL6421_LLC1 0x08
  18. #define ISL6421_ENT1 0x10
  19. #define ISL6421_ISEL1 0x20
  20. #define ISL6421_DCL 0x40
  21. #if IS_REACHABLE(CONFIG_DVB_ISL6421)
  22. /* override_set and override_clear control which system register bits (above) to always set & clear */
  23. extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
  24. u8 override_set, u8 override_clear, bool override_tone);
  25. #else
  26. static inline struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
  27. u8 override_set, u8 override_clear, bool override_tone)
  28. {
  29. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  30. return NULL;
  31. }
  32. #endif // CONFIG_DVB_ISL6421
  33. #endif