diff options
author | Thierry MERLE <thierry.merle@free.fr> | 2008-01-09 21:34:53 +0100 |
---|---|---|
committer | Thierry MERLE <thierry.merle@free.fr> | 2008-01-09 21:34:53 +0100 |
commit | 8e53f8116552eb5c0d207265d210c76040e2dbea (patch) | |
tree | b2276fadd49116ca38347edffec0631d73ad7794 /linux/drivers/media/video/usbvision | |
parent | 99256ac509514ee0e54c0b79ff65389297131fc2 (diff) | |
download | mediapointer-dvb-s2-8e53f8116552eb5c0d207265d210c76040e2dbea.tar.gz mediapointer-dvb-s2-8e53f8116552eb5c0d207265d210c76040e2dbea.tar.bz2 |
ubvision: add adjust_X_Offset/adjust_Y_Offset parms
From: Thierry MERLE <thierry.merle@free.fr>
Add adjust_X_Offset/adjust_Y_Offset module parameters to allow users
to tune X and Y picture offsets for their almost-working tuners without
repetitive recompilation.
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Diffstat (limited to 'linux/drivers/media/video/usbvision')
-rw-r--r-- | linux/drivers/media/video/usbvision/usbvision-core.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/linux/drivers/media/video/usbvision/usbvision-core.c b/linux/drivers/media/video/usbvision/usbvision-core.c index 96fcd5987..945616613 100644 --- a/linux/drivers/media/video/usbvision/usbvision-core.c +++ b/linux/drivers/media/video/usbvision/usbvision-core.c @@ -75,6 +75,15 @@ static int SwitchSVideoInput = 0; // To help people with Black and White outpu module_param(SwitchSVideoInput, int, 0444); MODULE_PARM_DESC(SwitchSVideoInput, " Set the S-Video input. Some cables and input device are wired differently. Default: 0 (Off)"); +static unsigned int adjust_X_Offset = -1; +module_param(adjust_X_Offset, int, 0644); +MODULE_PARM_DESC(adjust_X_Offset, "adjust X offset display [core]"); + +static unsigned int adjust_Y_Offset = -1; +module_param(adjust_Y_Offset, int, 0644); +MODULE_PARM_DESC(adjust_Y_Offset, "adjust Y offset display [core]"); + + #define ENABLE_HEXDUMP 0 /* Enable if you need it */ @@ -2159,11 +2168,21 @@ int usbvision_set_input(struct usb_usbvision *usbvision) value[5]=(usbvision_device_data[usbvision->DevModel].X_Offset & 0x0300) >> 8; } + if (adjust_X_Offset != -1) { + value[4] = adjust_X_Offset & 0xff; + value[5] = (adjust_X_Offset & 0x0300) >> 8; + } + if (usbvision_device_data[usbvision->DevModel].Y_Offset >= 0) { value[6]=usbvision_device_data[usbvision->DevModel].Y_Offset & 0xff; value[7]=(usbvision_device_data[usbvision->DevModel].Y_Offset & 0x0300) >> 8; } + if (adjust_Y_Offset != -1) { + value[6] = adjust_Y_Offset & 0xff; + value[7] = (adjust_Y_Offset & 0x0300) >> 8; + } + rc = usb_control_msg(usbvision->dev, usb_sndctrlpipe(usbvision->dev, 1), USBVISION_OP_CODE, /* USBVISION specific code */ USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_ENDPOINT, 0, |