diff options
author | Frank Schaefer <fschaefer.oss@googlemail.com> | 2014-03-24 20:33:15 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-05-23 18:16:03 +0200 |
commit | 9297285e51c0f0305b660d6330a7916da18451c8 (patch) | |
tree | 28e6491a3ab6cc1b31feb83117b617614f1eb2d8 /drivers/media/usb/em28xx | |
parent | [media] em28xx: move v4l2 frame resolutions and scale data from struct em28xx... (diff) | |
download | linux-9297285e51c0f0305b660d6330a7916da18451c8.tar.xz linux-9297285e51c0f0305b660d6330a7916da18451c8.zip |
[media] em28xx: move vinmode and vinctrl data from struct em28xx to struct v4l2
The video input mode and control data also belong only to the
analog side. move them to struct em28xx_v4l.
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/usb/em28xx')
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-camera.c | 16 | ||||
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-video.c | 10 | ||||
-rw-r--r-- | drivers/media/usb/em28xx/em28xx.h | 6 |
3 files changed, 16 insertions, 16 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-camera.c b/drivers/media/usb/em28xx/em28xx-camera.c index c2672b4f4540..3a888674dc27 100644 --- a/drivers/media/usb/em28xx/em28xx-camera.c +++ b/drivers/media/usb/em28xx/em28xx-camera.c @@ -372,8 +372,8 @@ int em28xx_init_camera(struct em28xx *dev) break; } /* probably means GRGB 16 bit bayer */ - dev->vinmode = 0x0d; - dev->vinctl = 0x00; + v4l2->vinmode = 0x0d; + v4l2->vinctl = 0x00; break; } @@ -384,8 +384,8 @@ int em28xx_init_camera(struct em28xx *dev) em28xx_initialize_mt9m001(dev); /* probably means BGGR 16 bit bayer */ - dev->vinmode = 0x0c; - dev->vinctl = 0x00; + v4l2->vinmode = 0x0c; + v4l2->vinctl = 0x00; break; case EM28XX_MT9M111: @@ -396,8 +396,8 @@ int em28xx_init_camera(struct em28xx *dev) em28xx_write_reg(dev, EM28XX_R0F_XCLK, dev->board.xclk); em28xx_initialize_mt9m111(dev); - dev->vinmode = 0x0a; - dev->vinctl = 0x00; + v4l2->vinmode = 0x0a; + v4l2->vinctl = 0x00; break; case EM28XX_OV2640: @@ -438,8 +438,8 @@ int em28xx_init_camera(struct em28xx *dev) /* NOTE: for UXGA=1600x1200 switch to 12MHz */ dev->board.xclk = EM28XX_XCLK_FREQUENCY_24MHZ; em28xx_write_reg(dev, EM28XX_R0F_XCLK, dev->board.xclk); - dev->vinmode = 0x08; - dev->vinctl = 0x00; + v4l2->vinmode = 0x08; + v4l2->vinctl = 0x00; break; } diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c index eeb58ebd98f6..9adecb996bf0 100644 --- a/drivers/media/usb/em28xx/em28xx-video.c +++ b/drivers/media/usb/em28xx/em28xx-video.c @@ -236,11 +236,11 @@ static int em28xx_set_outfmt(struct em28xx *dev) if (ret < 0) return ret; - ret = em28xx_write_reg(dev, EM28XX_R10_VINMODE, dev->vinmode); + ret = em28xx_write_reg(dev, EM28XX_R10_VINMODE, v4l2->vinmode); if (ret < 0) return ret; - vinctrl = dev->vinctl; + vinctrl = v4l2->vinctl; if (em28xx_vbi_supported(dev) == 1) { vinctrl |= EM28XX_VINCTRL_VBI_RAW; em28xx_write_reg(dev, EM28XX_R34_VBI_START_H, 0x00); @@ -2312,9 +2312,9 @@ static int em28xx_v4l2_init(struct em28xx *dev) /* * Default format, used for tvp5150 or saa711x output formats */ - dev->vinmode = 0x10; - dev->vinctl = EM28XX_VINCTRL_INTERLACED | - EM28XX_VINCTRL_CCIR656_ENABLE; + v4l2->vinmode = 0x10; + v4l2->vinctl = EM28XX_VINCTRL_INTERLACED | + EM28XX_VINCTRL_CCIR656_ENABLE; /* request some modules */ diff --git a/drivers/media/usb/em28xx/em28xx.h b/drivers/media/usb/em28xx/em28xx.h index a1b76f796f55..ccb9cd5f8947 100644 --- a/drivers/media/usb/em28xx/em28xx.h +++ b/drivers/media/usb/em28xx/em28xx.h @@ -516,6 +516,9 @@ struct em28xx_v4l2 { struct mutex vb_queue_lock; struct mutex vb_vbi_queue_lock; + u8 vinmode; + u8 vinctl; + /* Frame properties */ int width; /* current frame width */ int height; /* current frame height */ @@ -598,9 +601,6 @@ struct em28xx { /* Progressive (non-interlaced) mode */ int progressive; - /* Vinmode/Vinctl used at the driver */ - int vinmode, vinctl; - /* Controls audio streaming */ struct work_struct wq_trigger; /* Trigger to start/stop audio for alsa module */ atomic_t stream_started; /* stream should be running if true */ |