/linux-4.1.27/drivers/media/usb/em28xx/ |
H A D | Makefile | 0 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 D | em28xx.h | 2 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 D | em28xx-vbi.c | 2 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 D | em28xx-video.c | 2 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 D | em28xx-core.c | 2 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 D | em28xx-input.c | 2 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 D | em28xx-reg.h | 15 /* 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 D | em28xx-audio.c | 47 #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 D | em28xx-camera.c | 2 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 D | em28xx-i2c.c | 2 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 D | em28xx-dvb.c | 2 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 D | em28xx-cards.c | 2 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 D | tveeprom.c | 481 /* 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 D | au0828-input.c | 7 Based on em28xx-input.c.
|
/linux-4.1.27/drivers/media/usb/cx231xx/ |
H A D | cx231xx-i2c.c | 5 Based on em28xx driver
|
H A D | cx231xx-audio.c | 5 * Based on em28xx driver
|
H A D | cx231xx-dvb.c | 5 Based on em28xx driver
|
H A D | cx231xx-cards.c | 6 Based on em28xx driver
|
H A D | cx231xx.h | 5 Based on em28xx driver
|
H A D | cx231xx-core.c | 6 Based on em28xx driver
|
H A D | cx231xx-video.c | 6 Based on em28xx driver
|