bcm3510.h 963 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Support for the Broadcom BCM3510 ATSC demodulator (1st generation Air2PC)
  4. *
  5. * Copyright (C) 2001-5, B2C2 inc.
  6. *
  7. * GPL/Linux driver written by Patrick Boettcher <patrick.boettcher@posteo.de>
  8. */
  9. #ifndef BCM3510_H
  10. #define BCM3510_H
  11. #include <linux/dvb/frontend.h>
  12. #include <linux/firmware.h>
  13. struct bcm3510_config
  14. {
  15. /* the demodulator's i2c address */
  16. u8 demod_address;
  17. /* request firmware for device */
  18. int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name);
  19. };
  20. #if IS_REACHABLE(CONFIG_DVB_BCM3510)
  21. extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config,
  22. struct i2c_adapter* i2c);
  23. #else
  24. static inline struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config,
  25. struct i2c_adapter* i2c)
  26. {
  27. printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
  28. return NULL;
  29. }
  30. #endif // CONFIG_DVB_BCM3510
  31. #endif