diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-28 23:18:14 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-28 23:18:14 -0200 |
commit | 3766a9a9af7ff55a75166176dc58d5a7546e4d63 (patch) | |
tree | 78f53308ca0e445112f4e1c78e2f956401ca4ff1 /linux/drivers/media/video/em28xx/em28xx.h | |
parent | f4e951ff2cd4af2e6739e89af37c8b052976a4e2 (diff) | |
download | mediapointer-dvb-s2-3766a9a9af7ff55a75166176dc58d5a7546e4d63.tar.gz mediapointer-dvb-s2-3766a9a9af7ff55a75166176dc58d5a7546e4d63.tar.bz2 |
em28xx: move usb probe code to a proper place
From: Mauro Carvalho Chehab <mchehab@redhat.com>
em28xx-video were holding several code that are not specific to V4L2 interface.
This patch moves the core code for em28xx-core, and usb probing code into em28xx-cards.
This opens the possibility of breaking em28xx into a core module and a V4L2 module, loaded
only on devices that have analog interfaces.
Some cleanup may be done at em28xx-cards to optimize the config code.
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | linux/drivers/media/video/em28xx/em28xx.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h index 84f49934a..866f7a272 100644 --- a/linux/drivers/media/video/em28xx/em28xx.h +++ b/linux/drivers/media/video/em28xx/em28xx.h @@ -594,10 +594,21 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets, void em28xx_uninit_isoc(struct em28xx *dev); int em28xx_set_mode(struct em28xx *dev, enum em28xx_mode set_mode); int em28xx_gpio_set(struct em28xx *dev, struct em28xx_reg_seq *gpio); - -/* Provided by em28xx-video.c */ +void em28xx_wake_i2c(struct em28xx *dev); +void em28xx_remove_from_devlist(struct em28xx *dev); +void em28xx_add_into_devlist(struct em28xx *dev); +struct em28xx *em28xx_get_device(struct inode *inode, + enum v4l2_buf_type *fh_type, + int *has_radio); int em28xx_register_extension(struct em28xx_ops *dev); void em28xx_unregister_extension(struct em28xx_ops *dev); +void em28xx_init_extension(struct em28xx *dev); +void em28xx_close_extension(struct em28xx *dev); + +/* Provided by em28xx-video.c */ +int em28xx_analog_config(struct em28xx *dev); +int em28xx_register_analog_devices(struct em28xx *dev); +void em28xx_release_analog_resources(struct em28xx *dev); /* Provided by em28xx-cards.c */ extern int em2800_variant_detect(struct usb_device *udev, int model); @@ -608,6 +619,7 @@ extern struct usb_device_id em28xx_id_table[]; extern const unsigned int em28xx_bcount; void em28xx_set_ir(struct em28xx *dev, struct IR_i2c *ir); int em28xx_tuner_callback(void *ptr, int component, int command, int arg); +void em28xx_release_resources(struct em28xx *dev); /* Provided by em28xx-input.c */ int em28xx_get_key_terratec(struct IR_i2c *ir, u32 *ir_key, u32 *ir_raw); |