diff options
author | Ian Armstrong <ian@iarmst.demon.co.uk> | 2008-10-19 17:58:26 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-21 12:31:41 -0400 |
commit | 4e7ca40dbff522691b13dd9b5ed41891e6c68e1a (patch) | |
tree | d65cbc882b414d64ca50e53289a028ff773017b5 /drivers/media/video/ivtv | |
parent | c6330fb86fd0fed98b7e0d5792881a77b778fefc (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/video/ivtv')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-i2c.c | 1 | ||||
-rw-r--r-- | drivers/media/video/ivtv/ivtvfb.c | 6 |
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 | } |
729 | EXPORT_SYMBOL(ivtv_saa7127); | ||
729 | 730 | ||
730 | int ivtv_saa717x(struct ivtv *itv, unsigned int cmd, void *arg) | 731 | int 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 | } |