aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorIan Armstrong <ian@iarmst.demon.co.uk>2008-10-19 17:58:26 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-21 12:31:41 -0400
commit4e7ca40dbff522691b13dd9b5ed41891e6c68e1a (patch)
treed65cbc882b414d64ca50e53289a028ff773017b5 /drivers/media
parentc6330fb86fd0fed98b7e0d5792881a77b778fefc (diff)
V4L/DVB (9328): ivtvfb: FB_BLANK_POWERDOWN turns off video output
When using FBIOBLANK, FB_BLANK_POWERDOWN will now switch off the video output. Since some televisions turn themselves off after a while with no signal, this is the closest we can get to power-saving. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/ivtv/ivtv-i2c.c1
-rw-r--r--drivers/media/video/ivtv/ivtvfb.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-i2c.c b/drivers/media/video/ivtv/ivtv-i2c.c
index 24700c211d52..41dbbe9621a1 100644
--- a/drivers/media/video/ivtv/ivtv-i2c.c
+++ b/drivers/media/video/ivtv/ivtv-i2c.c
@@ -726,6 +726,7 @@ int ivtv_saa7127(struct ivtv *itv, unsigned int cmd, void *arg)
726{ 726{
727 return ivtv_call_i2c_client(itv, IVTV_SAA7127_I2C_ADDR, cmd, arg); 727 return ivtv_call_i2c_client(itv, IVTV_SAA7127_I2C_ADDR, cmd, arg);
728} 728}
729EXPORT_SYMBOL(ivtv_saa7127);
729 730
730int ivtv_saa717x(struct ivtv *itv, unsigned int cmd, void *arg) 731int ivtv_saa717x(struct ivtv *itv, unsigned int cmd, void *arg)
731{ 732{
diff --git a/drivers/media/video/ivtv/ivtvfb.c b/drivers/media/video/ivtv/ivtvfb.c
index 8a4a150b12fb..921e281876f8 100644
--- a/drivers/media/video/ivtv/ivtvfb.c
+++ b/drivers/media/video/ivtv/ivtvfb.c
@@ -48,6 +48,7 @@
48#endif 48#endif
49 49
50#include "ivtv-driver.h" 50#include "ivtv-driver.h"
51#include "ivtv-i2c.h"
51#include "ivtv-udma.h" 52#include "ivtv-udma.h"
52#include "ivtv-mailbox.h" 53#include "ivtv-mailbox.h"
53 54
@@ -894,11 +895,16 @@ static int ivtvfb_blank(int blank_mode, struct fb_info *info)
894 switch (blank_mode) { 895 switch (blank_mode) {
895 case FB_BLANK_UNBLANK: 896 case FB_BLANK_UNBLANK:
896 ivtv_vapi(itv, CX2341X_OSD_SET_STATE, 1, 1); 897 ivtv_vapi(itv, CX2341X_OSD_SET_STATE, 1, 1);
898 ivtv_saa7127(itv, VIDIOC_STREAMON, NULL);
897 break; 899 break;
898 case FB_BLANK_NORMAL: 900 case FB_BLANK_NORMAL:
899 case FB_BLANK_HSYNC_SUSPEND: 901 case FB_BLANK_HSYNC_SUSPEND:
900 case FB_BLANK_VSYNC_SUSPEND: 902 case FB_BLANK_VSYNC_SUSPEND:
903 ivtv_vapi(itv, CX2341X_OSD_SET_STATE, 1, 0);
904 ivtv_saa7127(itv, VIDIOC_STREAMON, NULL);
905 break;
901 case FB_BLANK_POWERDOWN: 906 case FB_BLANK_POWERDOWN:
907 ivtv_saa7127(itv, VIDIOC_STREAMOFF, NULL);
902 ivtv_vapi(itv, CX2341X_OSD_SET_STATE, 1, 0); 908 ivtv_vapi(itv, CX2341X_OSD_SET_STATE, 1, 0);
903 break; 909 break;
904 } 910 }