Lines Matching defs:em28xx

3  * em28xx.h - driver for Empia EM2800/EM2820/2840 USB video capture devices
19 #define DRIVER_DESC "Empia em28xx device driver"
36 #include "em28xx-reg.h"
162 /* maximum number of em28xx boards */
163 #define EM28XX_MAXBOARDS DVB_MAX_ADAPTERS /* All adapters could be em28xx */
174 /* max number of I2C buses on em28xx devices */
209 struct em28xx;
242 int (*urb_data_copy)(struct em28xx *dev, struct urb *urb);
250 * @reg: em28xx register value to set it
328 * enum em28xx_amux - describes the type of audio input used by em28xx
331 * Used only on em28xx dev->map field, in order to mark an entry
340 * Only for devices with AC97. It means that em28xx should use "Line In"
353 * The em28xx chip itself has only two audio inputs: tuner and line in.
357 * usually connected to the em28xx tuner input (except for
531 /* em28xx extensions */
537 /* em28xx resource types (used for res_get/res_lock etc */
543 struct em28xx *dev;
628 struct em28xx *dev;
635 struct em28xx {
664 // Some older em28xx chips needs a waiting time after writing
701 struct mutex lock; /* protects em28xx struct */
716 spinlock_t slock; /* Protects em28xx video/vbi/dvb IRQ stream data */
745 int (*em28xx_write_regs)(struct em28xx *dev, u16 reg,
747 int (*em28xx_read_reg)(struct em28xx *dev, u16 reg);
748 int (*em28xx_read_reg_req_len)(struct em28xx *dev, u8 req, u16 reg,
750 int (*em28xx_write_regs_req)(struct em28xx *dev, u8 req, u16 reg,
752 int (*em28xx_read_reg_req)(struct em28xx *dev, u8 req, u16 reg);
772 struct em28xx *dev_next;
776 #define kref_to_dev(d) container_of(d, struct em28xx, ref)
782 int (*init)(struct em28xx *dev);
783 int (*fini)(struct em28xx *dev);
784 int (*suspend)(struct em28xx *dev);
785 int (*resume)(struct em28xx *dev);
788 /* Provided by em28xx-i2c.c */
789 void em28xx_do_i2c_scan(struct em28xx *dev, unsigned int bus);
790 int em28xx_i2c_register(struct em28xx *dev, unsigned int bus,
792 int em28xx_i2c_unregister(struct em28xx *dev, unsigned int bus);
794 /* Provided by em28xx-core.c */
795 int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg,
797 int em28xx_read_reg_req(struct em28xx *dev, u8 req, u16 reg);
798 int em28xx_read_reg(struct em28xx *dev, u16 reg);
799 int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf,
801 int em28xx_write_regs(struct em28xx *dev, u16 reg, char *buf, int len);
802 int em28xx_write_reg(struct em28xx *dev, u16 reg, u8 val);
803 int em28xx_write_reg_bits(struct em28xx *dev, u16 reg, u8 val,
805 int em28xx_toggle_reg_bits(struct em28xx *dev, u16 reg, u8 bitmask);
807 int em28xx_read_ac97(struct em28xx *dev, u8 reg);
808 int em28xx_write_ac97(struct em28xx *dev, u8 reg, u16 val);
810 int em28xx_audio_analog_set(struct em28xx *dev);
811 int em28xx_audio_setup(struct em28xx *dev);
813 const struct em28xx_led *em28xx_find_led(struct em28xx *dev,
815 int em28xx_capture_start(struct em28xx *dev, int start);
816 int em28xx_alloc_urbs(struct em28xx *dev, enum em28xx_mode mode, int xfer_bulk,
818 int em28xx_init_usb_xfer(struct em28xx *dev, enum em28xx_mode mode,
822 (struct em28xx *dev, struct urb *urb));
823 void em28xx_uninit_usb_xfer(struct em28xx *dev, enum em28xx_mode mode);
824 void em28xx_stop_urbs(struct em28xx *dev);
825 int em28xx_set_mode(struct em28xx *dev, enum em28xx_mode set_mode);
826 int em28xx_gpio_set(struct em28xx *dev, const struct em28xx_reg_seq *gpio);
829 void em28xx_init_extension(struct em28xx *dev);
830 void em28xx_close_extension(struct em28xx *dev);
831 int em28xx_suspend_extension(struct em28xx *dev);
832 int em28xx_resume_extension(struct em28xx *dev);
834 /* Provided by em28xx-cards.c */
838 void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl);
841 /* Provided by em28xx-camera.c */
842 int em28xx_detect_sensor(struct em28xx *dev);
843 int em28xx_init_camera(struct em28xx *dev);