Searched refs:em28xx (Results 1 - 21 of 21) sorted by relevance

/linux-4.1.27/drivers/media/usb/em28xx/
H A DMakefile0 em28xx-y += em28xx-core.o em28xx-i2c.o em28xx-cards.o em28xx-camera.o
3 em28xx-v4l-objs := em28xx-video.o em28xx-vbi.o
4 em28xx-alsa-objs := em28xx-audio.o
5 em28xx-rc-objs := em28xx-input.o
7 obj-$(CONFIG_VIDEO_EM28XX) += em28xx.o
8 obj-$(CONFIG_VIDEO_EM28XX_V4L2) += em28xx-v4l.o
9 obj-$(CONFIG_VIDEO_EM28XX_ALSA) += em28xx-alsa.o
10 obj-$(CONFIG_VIDEO_EM28XX_DVB) += em28xx-dvb.o
11 obj-$(CONFIG_VIDEO_EM28XX_RC) += em28xx-rc.o
H A Dem28xx.h2 em28xx.h - driver for Empia EM2800/EM2820/2840 USB video capture devices
30 #define DRIVER_DESC "Empia em28xx device driver"
46 #include "em28xx-reg.h"
163 /* maximum number of em28xx boards */
175 /* max number of I2C buses on em28xx devices */
221 struct em28xx;
252 int (*urb_data_copy)(struct em28xx *dev, struct urb *urb);
328 /* em28xx has two audio inputs: tuner and line in.
335 /* This is the only entry for em28xx tuner input */
336 EM28XX_AMUX_VIDEO, /* em28xx tuner, AC97 mixer Video */
341 EM28XX_AMUX_VIDEO2, /* em28xx Line in, AC97 mixer Video */
498 /* em28xx extensions */
504 /* em28xx resource types (used for res_get/res_lock etc */
510 struct em28xx *dev;
584 struct em28xx;
593 struct em28xx *dev;
600 struct em28xx { struct
626 /* Some older em28xx chips needs a waiting time after writing */
700 int (*em28xx_write_regs)(struct em28xx *dev, u16 reg,
702 int (*em28xx_read_reg)(struct em28xx *dev, u16 reg);
703 int (*em28xx_read_reg_req_len)(struct em28xx *dev, u8 req, u16 reg,
705 int (*em28xx_write_regs_req)(struct em28xx *dev, u8 req, u16 reg,
707 int (*em28xx_read_reg_req)(struct em28xx *dev, u8 req, u16 reg);
722 #define kref_to_dev(d) container_of(d, struct em28xx, ref)
728 int (*init)(struct em28xx *);
729 int (*fini)(struct em28xx *);
730 int (*suspend)(struct em28xx *);
731 int (*resume)(struct em28xx *);
734 /* Provided by em28xx-i2c.c */
735 void em28xx_do_i2c_scan(struct em28xx *dev, unsigned bus);
736 int em28xx_i2c_register(struct em28xx *dev, unsigned bus,
738 int em28xx_i2c_unregister(struct em28xx *dev, unsigned bus);
740 /* Provided by em28xx-core.c */
741 int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg,
743 int em28xx_read_reg_req(struct em28xx *dev, u8 req, u16 reg);
744 int em28xx_read_reg(struct em28xx *dev, u16 reg);
745 int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf,
747 int em28xx_write_regs(struct em28xx *dev, u16 reg, char *buf, int len);
748 int em28xx_write_reg(struct em28xx *dev, u16 reg, u8 val);
749 int em28xx_write_reg_bits(struct em28xx *dev, u16 reg, u8 val,
751 int em28xx_toggle_reg_bits(struct em28xx *dev, u16 reg, u8 bitmask);
753 int em28xx_read_ac97(struct em28xx *dev, u8 reg);
754 int em28xx_write_ac97(struct em28xx *dev, u8 reg, u16 val);
756 int em28xx_audio_analog_set(struct em28xx *dev);
757 int em28xx_audio_setup(struct em28xx *dev);
759 const struct em28xx_led *em28xx_find_led(struct em28xx *dev,
761 int em28xx_capture_start(struct em28xx *dev, int start);
762 int em28xx_alloc_urbs(struct em28xx *dev, enum em28xx_mode mode, int xfer_bulk,
764 int em28xx_init_usb_xfer(struct em28xx *dev, enum em28xx_mode mode,
768 (struct em28xx *dev, struct urb *urb));
769 void em28xx_uninit_usb_xfer(struct em28xx *dev, enum em28xx_mode mode);
770 void em28xx_stop_urbs(struct em28xx *dev);
771 int em28xx_set_mode(struct em28xx *dev, enum em28xx_mode set_mode);
772 int em28xx_gpio_set(struct em28xx *dev, struct em28xx_reg_seq *gpio);
775 void em28xx_init_extension(struct em28xx *dev);
776 void em28xx_close_extension(struct em28xx *dev);
777 int em28xx_suspend_extension(struct em28xx *dev);
778 int em28xx_resume_extension(struct em28xx *dev);
780 /* Provided by em28xx-cards.c */
784 void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl);
787 /* Provided by em28xx-camera.c */
788 int em28xx_detect_sensor(struct em28xx *dev);
789 int em28xx_init_camera(struct em28xx *dev);
H A Dem28xx-vbi.c2 em28xx-vbi.c - VBI driver for em28xx
29 #include "em28xx.h"
30 #include "em28xx-v4l.h"
38 struct em28xx *dev = vb2_get_drv_priv(vq); vbi_queue_setup()
62 struct em28xx *dev = vb2_get_drv_priv(vb->vb2_queue); vbi_buffer_prepare()
82 struct em28xx *dev = vb2_get_drv_priv(vb->vb2_queue); vbi_buffer_queue()
H A Dem28xx-video.c2 em28xx-video.c - driver for Empia EM2800/EM2820/2840 USB
40 #include "em28xx.h"
41 #include "em28xx-v4l.h"
143 static inline unsigned int norm_maxw(struct em28xx *dev) norm_maxw()
156 static inline unsigned int norm_maxh(struct em28xx *dev) norm_maxh()
169 static int em28xx_vbi_supported(struct em28xx *dev) em28xx_vbi_supported()
184 /* Version of em28xx that does not support VBI */ em28xx_vbi_supported()
192 static void em28xx_wake_i2c(struct em28xx *dev) em28xx_wake_i2c()
202 static int em28xx_colorlevels_set_default(struct em28xx *dev) em28xx_colorlevels_set_default()
220 static int em28xx_set_outfmt(struct em28xx *dev) em28xx_set_outfmt()
232 * fine without it. But the Windows driver sets it for em2710/50+em28xx em28xx_set_outfmt()
264 static int em28xx_accumulator_set(struct em28xx *dev, u8 xmin, u8 xmax, em28xx_accumulator_set()
267 em28xx_videodbg("em28xx Scale: (%d,%d)-(%d,%d)\n", em28xx_accumulator_set()
276 static void em28xx_capture_area_set(struct em28xx *dev, u8 hstart, u8 vstart, em28xx_capture_area_set()
303 static int em28xx_scaler_set(struct em28xx *dev, u16 h, u16 v) em28xx_scaler_set()
328 static int em28xx_resolution_set(struct em28xx *dev) em28xx_resolution_set()
361 static int em28xx_set_alternate(struct em28xx *dev) em28xx_set_alternate()
431 static inline void finish_buffer(struct em28xx *dev, finish_buffer()
449 static void em28xx_copy_video(struct em28xx *dev, em28xx_copy_video()
530 static void em28xx_copy_vbi(struct em28xx *dev, em28xx_copy_vbi()
549 static inline void print_err_status(struct em28xx *dev, print_err_status()
591 static inline struct em28xx_buffer *get_next_buf(struct em28xx *dev, get_next_buf()
615 finish_field_prepare_next(struct em28xx *dev, finish_field_prepare_next()
635 * Process data packet according to the em2710/em2750/em28xx frame data format
637 static inline void process_frame_data_em28xx(struct em28xx *dev, process_frame_data_em28xx()
716 static inline void process_frame_data_em25xx(struct em28xx *dev, process_frame_data_em25xx()
763 * header like with the other em28xx devices. process_frame_data_em25xx()
771 static inline int em28xx_urb_data_copy(struct em28xx *dev, struct urb *urb) em28xx_urb_data_copy()
847 static int res_get(struct em28xx *dev, enum v4l2_buf_type f_type) res_get()
863 static void res_free(struct em28xx *dev, enum v4l2_buf_type f_type) res_free()
879 struct em28xx *dev = vb2_get_drv_priv(vq); queue_setup()
904 struct em28xx *dev = vb2_get_drv_priv(vb->vb2_queue); buffer_prepare()
925 struct em28xx *dev = vb2_get_drv_priv(vq); em28xx_start_analog_streaming()
983 struct em28xx *dev = vb2_get_drv_priv(vq); em28xx_stop_streaming()
1014 struct em28xx *dev = vb2_get_drv_priv(vq); em28xx_stop_vbi_streaming()
1046 struct em28xx *dev = vb2_get_drv_priv(vb->vb2_queue); buffer_queue()
1070 static int em28xx_vb2_setup(struct em28xx *dev) em28xx_vb2_setup()
1109 static void video_mux(struct em28xx *dev, int index) video_mux()
1144 struct em28xx *dev = priv; em28xx_ctrl_notify()
1148 * to do some setups at em28xx, in order to mute/unmute em28xx_ctrl_notify()
1168 struct em28xx *dev = v4l2->dev; em28xx_s_ctrl()
1207 static void size_to_scale(struct em28xx *dev, size_to_scale()
1223 static void scale_to_size(struct em28xx *dev, scale_to_size()
1241 struct em28xx *dev = video_drvdata(file); vidioc_g_fmt_vid_cap()
1274 struct em28xx *dev = video_drvdata(file); vidioc_try_fmt_vid_cap()
1327 static int em28xx_set_video_format(struct em28xx *dev, unsigned int fourcc, em28xx_set_video_format()
1353 struct em28xx *dev = video_drvdata(file); vidioc_s_fmt_vid_cap()
1367 struct em28xx *dev = video_drvdata(file); vidioc_g_std()
1376 struct em28xx *dev = video_drvdata(file); vidioc_querystd()
1385 struct em28xx *dev = video_drvdata(file); vidioc_s_std()
1417 struct em28xx *dev = video_drvdata(file); vidioc_g_parm()
1435 struct em28xx *dev = video_drvdata(file); vidioc_s_parm()
1457 struct em28xx *dev = video_drvdata(file); vidioc_enum_input()
1485 struct em28xx *dev = video_drvdata(file); vidioc_g_input()
1494 struct em28xx *dev = video_drvdata(file); vidioc_s_input()
1507 struct em28xx *dev = video_drvdata(file); vidioc_g_audio()
1546 struct em28xx *dev = video_drvdata(file); vidioc_s_audio()
1565 struct em28xx *dev = video_drvdata(file); vidioc_g_tuner()
1579 struct em28xx *dev = video_drvdata(file); vidioc_s_tuner()
1591 struct em28xx *dev = video_drvdata(file); vidioc_g_frequency()
1605 struct em28xx *dev = video_drvdata(file); vidioc_s_frequency()
1622 struct em28xx *dev = video_drvdata(file); vidioc_g_chip_info()
1649 struct em28xx *dev = video_drvdata(file); vidioc_g_register()
1690 struct em28xx *dev = video_drvdata(file); vidioc_s_register()
1710 struct em28xx *dev = video_drvdata(file); vidioc_querycap()
1713 strlcpy(cap->driver, "em28xx", sizeof(cap->driver)); vidioc_querycap()
1755 struct em28xx *dev = video_drvdata(file); vidioc_enum_framesizes()
1799 struct em28xx *dev = video_drvdata(file); vidioc_g_fmt_vbi_cap()
1832 struct em28xx *dev = video_drvdata(file); radio_g_tuner()
1847 struct em28xx *dev = video_drvdata(file); radio_s_tuner()
1879 struct em28xx *dev = video_drvdata(filp); em28xx_v4l2_open()
1944 static int em28xx_v4l2_fini(struct em28xx *dev) em28xx_v4l2_fini()
2002 static int em28xx_v4l2_suspend(struct em28xx *dev) em28xx_v4l2_suspend()
2015 static int em28xx_v4l2_resume(struct em28xx *dev) em28xx_v4l2_resume()
2035 struct em28xx *dev = video_drvdata(filp); em28xx_v4l2_close()
2182 static void em28xx_vdev_init(struct em28xx *dev, em28xx_vdev_init()
2199 static void em28xx_tuner_setup(struct em28xx *dev, unsigned short tuner_addr) em28xx_tuner_setup()
2260 static int em28xx_v4l2_init(struct em28xx *dev) em28xx_v4l2_init()
2388 /* install the em28xx notify callback */ em28xx_v4l2_init()
H A Dem28xx-core.c2 em28xx-core.c - driver for Empia EM2800/EM2820/2840 USB video capture devices
35 #include "em28xx.h"
77 int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg, em28xx_read_reg_req_len()
131 int em28xx_read_reg_req(struct em28xx *dev, u8 req, u16 reg) em28xx_read_reg_req()
143 int em28xx_read_reg(struct em28xx *dev, u16 reg) em28xx_read_reg()
153 int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf, em28xx_write_regs_req()
197 int em28xx_write_regs(struct em28xx *dev, u16 reg, char *buf, int len) em28xx_write_regs()
204 int em28xx_write_reg(struct em28xx *dev, u16 reg, u8 val) em28xx_write_reg()
215 int em28xx_write_reg_bits(struct em28xx *dev, u16 reg, u8 val, em28xx_write_reg_bits()
235 int em28xx_toggle_reg_bits(struct em28xx *dev, u16 reg, u8 bitmask) em28xx_toggle_reg_bits()
254 static int em28xx_is_ac97_ready(struct em28xx *dev) em28xx_is_ac97_ready()
278 int em28xx_read_ac97(struct em28xx *dev, u8 reg) em28xx_read_ac97()
305 int em28xx_write_ac97(struct em28xx *dev, u8 reg, u16 val) em28xx_write_ac97()
344 static int set_ac97_input(struct em28xx *dev) set_ac97_input()
350 em28xx should point to LINE IN, while AC97 should use VIDEO set_ac97_input()
369 static int em28xx_set_audio_source(struct em28xx *dev) em28xx_set_audio_source()
431 int em28xx_audio_analog_set(struct em28xx *dev) em28xx_audio_analog_set()
504 int em28xx_audio_setup(struct em28xx *dev) em28xx_audio_setup()
612 const struct em28xx_led *em28xx_find_led(struct em28xx *dev, em28xx_find_led()
629 int em28xx_capture_start(struct em28xx *dev, int start) em28xx_capture_start()
692 int em28xx_gpio_set(struct em28xx *dev, struct em28xx_reg_seq *gpio) em28xx_gpio_set()
727 int em28xx_set_mode(struct em28xx *dev, enum em28xx_mode set_mode) em28xx_set_mode()
758 struct em28xx *dev = urb->context; em28xx_irq_callback()
797 void em28xx_uninit_usb_xfer(struct em28xx *dev, enum em28xx_mode mode) em28xx_uninit_usb_xfer()
803 em28xx_isocdbg("em28xx: called em28xx_uninit_usb_xfer in mode %d\n", em28xx_uninit_usb_xfer()
845 void em28xx_stop_urbs(struct em28xx *dev) em28xx_stop_urbs()
851 em28xx_isocdbg("em28xx: called em28xx_stop_urbs\n"); em28xx_stop_urbs()
870 int em28xx_alloc_urbs(struct em28xx *dev, enum em28xx_mode mode, int xfer_bulk, em28xx_alloc_urbs()
879 em28xx_isocdbg("em28xx: called em28xx_alloc_isoc in mode %d\n", mode); em28xx_alloc_urbs()
993 int em28xx_init_usb_xfer(struct em28xx *dev, enum em28xx_mode mode, em28xx_init_usb_xfer()
996 int (*urb_data_copy)(struct em28xx *dev, struct urb *urb)) em28xx_init_usb_xfer()
1005 em28xx_isocdbg("em28xx: called em28xx_init_usb_xfer in mode %d\n", em28xx_init_usb_xfer()
1071 struct em28xx *dev = NULL; em28xx_register_extension()
1079 printk(KERN_INFO "em28xx: Registered (%s) extension\n", ops->name); em28xx_register_extension()
1086 struct em28xx *dev = NULL; em28xx_unregister_extension()
1098 void em28xx_init_extension(struct em28xx *dev) em28xx_init_extension()
1111 void em28xx_close_extension(struct em28xx *dev) em28xx_close_extension()
1124 int em28xx_suspend_extension(struct em28xx *dev) em28xx_suspend_extension()
1138 int em28xx_resume_extension(struct em28xx *dev) em28xx_resume_extension()
H A Dem28xx-input.c2 handle em28xx IR remotes via linux kernel input layer.
32 #include "em28xx.h"
42 #define MODULE_NAME "em28xx"
50 Polling structure used by em28xx IR's
62 struct em28xx *dev;
190 struct em28xx *dev = ir->dev; default_polling_getkey()
232 struct em28xx *dev = ir->dev; em2874_polling_getkey()
291 Polling code for em28xx
385 struct em28xx *dev = ir->dev; em2860_ir_change_protocol()
413 struct em28xx *dev = ir->dev; em2874_ir_change_protocol()
448 struct em28xx *dev = ir->dev; em28xx_ir_change_protocol()
461 printk("Unrecognized em28xx chip id 0x%02x: IR not supported\n", em28xx_ir_change_protocol()
467 static int em28xx_probe_i2c_ir(struct em28xx *dev) em28xx_probe_i2c_ir()
492 struct em28xx *dev = em28xx_query_buttons()
493 container_of(work, struct em28xx, buttons_query_work.work); em28xx_query_buttons()
565 static int em28xx_register_snapshot_button(struct em28xx *dev) em28xx_register_snapshot_button()
580 input_dev->name = "em28xx snapshot button"; em28xx_register_snapshot_button()
603 static void em28xx_init_buttons(struct em28xx *dev) em28xx_init_buttons()
662 static void em28xx_shutdown_buttons(struct em28xx *dev) em28xx_shutdown_buttons()
676 static int em28xx_ir_init(struct em28xx *dev) em28xx_ir_init()
795 snprintf(ir->name, sizeof(ir->name), "em28xx IR (%s)", dev->name); em28xx_ir_init()
826 static int em28xx_ir_fini(struct em28xx *dev) em28xx_ir_fini()
857 static int em28xx_ir_suspend(struct em28xx *dev) em28xx_ir_suspend()
874 static int em28xx_ir_resume(struct em28xx *dev) em28xx_ir_resume()
H A Dem28xx-reg.h15 /* em28xx endpoints */
23 /* em28xx registers */
27 /* em28xx Chip Configuration 0x00 */
39 /* em28xx Chip Configuration 2 0x01 */
59 /* em28xx I2C Clock Register (0x06) */
77 /* em28xx XCLK Register (0x0f) */
99 /* em28xx Video Input Control Register 0x11 */
146 /* em28xx Output Format Register (0x27) */
H A Dem28xx-audio.c47 #include "em28xx.h"
58 printk(KERN_INFO "em28xx-audio %s: " fmt, \
64 static int em28xx_deinit_isoc_audio(struct em28xx *dev) em28xx_deinit_isoc_audio()
83 struct em28xx *dev = urb->context; em28xx_audio_isocirq()
172 static int em28xx_init_audio_isoc(struct em28xx *dev) em28xx_init_audio_isoc()
252 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_capture_open()
257 em28xx_err("BUG: em28xx can't find device struct." snd_em28xx_capture_open()
321 em28xx_err("Error while configuring em28xx mixer\n"); snd_em28xx_capture_open()
327 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_pcm_close()
355 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_hw_capture_params()
367 /* TODO: set up em28xx audio chip to deliver the correct audio format, snd_em28xx_hw_capture_params()
382 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_hw_capture_free()
397 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_prepare()
412 struct em28xx *dev = container_of(adev, struct em28xx, adev); audio_trigger()
426 struct em28xx *dev = snd_pcm_substream_chip(substream); snd_em28xx_capture_trigger()
454 struct em28xx *dev; snd_em28xx_capture_pointer()
482 struct em28xx *dev = snd_kcontrol_chip(kcontrol); em28xx_vol_info()
498 struct em28xx *dev = snd_kcontrol_chip(kcontrol); em28xx_vol_put()
538 struct em28xx *dev = snd_kcontrol_chip(kcontrol); em28xx_vol_get()
572 struct em28xx *dev = snd_kcontrol_chip(kcontrol); em28xx_vol_put_mute()
614 struct em28xx *dev = snd_kcontrol_chip(kcontrol); em28xx_vol_get_mute()
649 static int em28xx_cvol_new(struct snd_card *card, struct em28xx *dev, em28xx_cvol_new()
710 static void em28xx_audio_free_urb(struct em28xx *dev) em28xx_audio_free_urb()
743 static int em28xx_audio_urb_init(struct em28xx *dev) em28xx_audio_urb_init()
887 static int em28xx_audio_init(struct em28xx *dev) em28xx_audio_init()
906 printk(KERN_INFO "em28xx-audio.c: Copyright (C) 2006 Markus " em28xx_audio_init()
909 "em28xx-audio.c: Copyright (C) 2007-2014 Mauro Carvalho Chehab\n"); em28xx_audio_init()
972 static int em28xx_audio_fini(struct em28xx *dev) em28xx_audio_fini()
1000 static int em28xx_audio_suspend(struct em28xx *dev) em28xx_audio_suspend()
1014 static int em28xx_audio_resume(struct em28xx *dev) em28xx_audio_resume()
H A Dem28xx-camera.c2 em28xx-camera.c - driver for Empia EM25xx/27xx/28xx USB video capture devices
28 #include "em28xx.h"
48 .module_name = "em28xx",
53 static int em28xx_initialize_mt9m111(struct em28xx *dev) em28xx_initialize_mt9m111()
71 static int em28xx_initialize_mt9m001(struct em28xx *dev) em28xx_initialize_mt9m001()
100 static int em28xx_probe_sensor_micron(struct em28xx *dev) em28xx_probe_sensor_micron()
199 static int em28xx_probe_sensor_omnivision(struct em28xx *dev) em28xx_probe_sensor_omnivision()
301 int em28xx_detect_sensor(struct em28xx *dev) em28xx_detect_sensor()
323 int em28xx_init_camera(struct em28xx *dev) em28xx_init_camera()
H A Dem28xx-i2c.c2 em28xx-i2c.c - driver for Empia EM2800/EM2820/2840 USB video capture devices
31 #include "em28xx.h"
50 static int em2800_i2c_send_bytes(struct em28xx *dev, u8 addr, u8 *buf, u16 len) em2800_i2c_send_bytes()
104 static int em2800_i2c_recv_bytes(struct em28xx *dev, u8 addr, u8 *buf, u16 len) em2800_i2c_recv_bytes()
165 static int em2800_i2c_check_for_device(struct em28xx *dev, u8 addr) em2800_i2c_check_for_device()
179 static int em28xx_i2c_send_bytes(struct em28xx *dev, u16 addr, u8 *buf, em28xx_i2c_send_bytes()
247 static int em28xx_i2c_recv_bytes(struct em28xx *dev, u16 addr, u8 *buf, u16 len) em28xx_i2c_recv_bytes()
307 static int em28xx_i2c_check_for_device(struct em28xx *dev, u16 addr) em28xx_i2c_check_for_device()
322 static int em25xx_bus_B_send_bytes(struct em28xx *dev, u16 addr, u8 *buf, em25xx_bus_B_send_bytes()
374 static int em25xx_bus_B_recv_bytes(struct em28xx *dev, u16 addr, u8 *buf, em25xx_bus_B_recv_bytes()
429 static int em25xx_bus_B_check_for_device(struct em28xx *dev, u16 addr) em25xx_bus_B_check_for_device()
447 struct em28xx *dev = i2c_bus->dev; i2c_check_for_device()
462 struct em28xx *dev = i2c_bus->dev; i2c_recv_bytes()
478 struct em28xx *dev = i2c_bus->dev; i2c_send_bytes()
499 struct em28xx *dev = i2c_bus->dev; em28xx_i2c_xfer()
616 static int em28xx_i2c_read_block(struct em28xx *dev, unsigned bus, u16 addr, em28xx_i2c_read_block()
653 static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned bus, em28xx_i2c_eeprom()
866 .name = "em28xx",
871 .name = "em28xx internal",
904 void em28xx_do_i2c_scan(struct em28xx *dev, unsigned bus) em28xx_do_i2c_scan()
931 int em28xx_i2c_register(struct em28xx *dev, unsigned bus, em28xx_i2c_register()
982 int em28xx_i2c_unregister(struct em28xx *dev, unsigned bus) em28xx_i2c_unregister()
H A Dem28xx-dvb.c2 DVB device driver for em28xx
28 #include "em28xx.h"
101 static inline void print_err_status(struct em28xx *dev, print_err_status()
140 static inline int em28xx_dvb_urb_data_copy(struct em28xx *dev, struct urb *urb) em28xx_dvb_urb_data_copy()
194 struct em28xx *dev = i2c_bus->dev; em28xx_start_streaming()
234 struct em28xx *dev = i2c_bus->dev; em28xx_stop_streaming()
285 struct em28xx *dev = i2c_bus->dev; em28xx_dvb_bus_ctrl()
462 static void hauppauge_hvr930c_init(struct em28xx *dev) hauppauge_hvr930c_init()
529 static void terratec_h5_init(struct em28xx *dev) terratec_h5_init()
577 static void terratec_htc_stick_init(struct em28xx *dev) terratec_htc_stick_init()
631 static void terratec_htc_usb_xs_init(struct em28xx *dev) terratec_htc_usb_xs_init()
689 static void pctv_520e_init(struct em28xx *dev) pctv_520e_init()
720 struct em28xx *dev = i2c_bus->dev; em28xx_pctv_290e_set_lna()
749 struct em28xx *dev = i2c_bus->dev; em28xx_pctv_292e_set_lna()
877 static int em28xx_attach_xc3028(u8 addr, struct em28xx *dev) em28xx_attach_xc3028()
913 struct em28xx *dev, struct device *device) em28xx_register_dvb()
1045 static int em28xx_dvb_init(struct em28xx *dev) em28xx_dvb_init()
1709 static int em28xx_dvb_fini(struct em28xx *dev) em28xx_dvb_fini()
1768 static int em28xx_dvb_suspend(struct em28xx *dev) em28xx_dvb_suspend()
1795 static int em28xx_dvb_resume(struct em28xx *dev) em28xx_dvb_resume()
H A Dem28xx-cards.c2 em28xx-cards.c - driver for Empia EM2800/EM2820/2840 USB
41 #include "em28xx.h"
43 #define DRIVER_NAME "em28xx"
76 static void em28xx_pre_card_setup(struct em28xx *dev);
2513 struct em28xx *dev = i2c_bus->dev; em28xx_tuner_callback()
2528 static inline void em28xx_set_model(struct em28xx *dev) em28xx_set_model()
2550 static void em28xx_pre_card_setup(struct em28xx *dev) em28xx_pre_card_setup()
2661 static int em28xx_hint_board(struct em28xx *dev) em28xx_hint_board()
2755 static void em28xx_card_setup(struct em28xx *dev) em28xx_card_setup()
2909 void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl) em28xx_setup_xc3028()
2960 struct em28xx *dev = container_of(work, request_module_async()
2961 struct em28xx, request_module_wk); request_module_async()
2964 * The em28xx extensions can be modules or builtin. If the request_module_async()
2976 request_module("em28xx-alsa"); request_module_async()
2985 request_module("em28xx-v4l"); request_module_async()
2989 request_module("em28xx-alsa"); request_module_async()
2991 request_module("em28xx-dvb"); request_module_async()
2994 request_module("em28xx-rc"); request_module_async()
2998 static void request_modules(struct em28xx *dev) request_modules()
3004 static void flush_request_modules(struct em28xx *dev) flush_request_modules()
3014 static void em28xx_release_resources(struct em28xx *dev) em28xx_release_resources()
3033 * em28xx_free_device() - Free em28xx device
3035 * @ref: struct kref for em28xx device
3037 * This is called when all extensions and em28xx core unregisters a device
3041 struct em28xx *dev = kref_to_dev(ref); em28xx_free_device()
3057 static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev, em28xx_init_dev()
3062 static const char *default_chip_name = "em28xx"; em28xx_init_dev()
3150 ": unknown em28xx chip ID (%d)\n", dev->chip_id); em28xx_init_dev()
3234 struct em28xx *dev = NULL; em28xx_usb_probe()
3248 printk(DRIVER_NAME ": Supports only %i em28xx boards.\n", em28xx_usb_probe()
3436 em28xx_err("em28xx: device seems to have vendor AND usb audio class interfaces !\n" em28xx_usb_probe()
3523 struct em28xx *dev; em28xx_usb_disconnect()
3546 struct em28xx *dev; em28xx_usb_suspend()
3557 struct em28xx *dev; em28xx_usb_resume()
3567 .name = "em28xx",
/linux-4.1.27/drivers/media/common/
H A Dtveeprom.c481 /* Different eeprom start offsets for em28xx, cx2388x and cx23418 */ tveeprom_hauppauge_analog()
486 start = 0xa0; /* Generic em28xx offset */ tveeprom_hauppauge_analog()
/linux-4.1.27/drivers/media/usb/au0828/
H A Dau0828-input.c7 Based on em28xx-input.c.
/linux-4.1.27/drivers/media/usb/cx231xx/
H A Dcx231xx-i2c.c5 Based on em28xx driver
H A Dcx231xx-audio.c5 * Based on em28xx driver
H A Dcx231xx-dvb.c5 Based on em28xx driver
H A Dcx231xx-cards.c6 Based on em28xx driver
H A Dcx231xx.h5 Based on em28xx driver
H A Dcx231xx-core.c6 Based on em28xx driver
H A Dcx231xx-video.c6 Based on em28xx driver

Completed in 289 milliseconds