summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-04-14 20:15:43 +0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-04-27 20:45:33 +0200
commitf7ca6256bc1db4fb44adda99e082f8c80ada8957 (patch)
tree3991af6637ac5d43991e8108bfb3388d46ad117e /drivers/media
parentV4L/DVB (5515): Use a better format to represent usbvision supported boards (diff)
downloadlinux-f7ca6256bc1db4fb44adda99e082f8c80ada8957.tar.xz
linux-f7ca6256bc1db4fb44adda99e082f8c80ada8957.zip
V4L/DVB (5516): Reduce usbvision data size
This patch reduces usbvision driver on about 1Kb on i386 over the original version with the old struct: text data bss dec hex filename 52312 11848 60 64220 fadc old/usbvision.ko 52474 10708 60 63242 f70a new/usbvision.ko Acked-by: Thierry MERLE <thierry.merle@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/usbvision/usbvision-cards.c3
-rw-r--r--drivers/media/video/usbvision/usbvision-video.c8
-rw-r--r--drivers/media/video/usbvision/usbvision.h6
3 files changed, 8 insertions, 9 deletions
diff --git a/drivers/media/video/usbvision/usbvision-cards.c b/drivers/media/video/usbvision/usbvision-cards.c
index c63048da9713..4ba96349e76b 100644
--- a/drivers/media/video/usbvision/usbvision-cards.c
+++ b/drivers/media/video/usbvision/usbvision-cards.c
@@ -1137,7 +1137,6 @@ struct usbvision_device_data_st usbvision_device_data[] = {
.Dvi_yuv = -1,
.ModelString = "Hauppauge WinTv-USB",
},
- {} /* Terminating entry */
};
/* Supported Devices */
@@ -1208,8 +1207,6 @@ struct usb_device_id usbvision_table [] = {
{ USB_DEVICE(0x2304, 0x0301), .driver_info=PINNA_LINX_VD_IN_CAB_PAL },
{ USB_DEVICE(0x2304, 0x0419), .driver_info=PINNA_PCTV_BUNGEE_PAL_FM },
{ USB_DEVICE(0x2400, 0x4200), .driver_info=HPG_WINTV },
-
- { } /* Terminating entry */
};
MODULE_DEVICE_TABLE (usb, usbvision_table);
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c
index 22c2889d3b5c..49281ffa84cb 100644
--- a/drivers/media/video/usbvision/usbvision-video.c
+++ b/drivers/media/video/usbvision/usbvision-video.c
@@ -1949,7 +1949,7 @@ static struct usb_driver usbvision_driver = {
*/
static void customdevice_process(void)
{
- unsigned int id_vend,id_prod;
+ unsigned int id_vend,id_prod,radio,tuner;
usbvision_device_data[0]=usbvision_device_data[1];
usbvision_table[0]=usbvision_table[1];
@@ -2030,10 +2030,12 @@ static void customdevice_process(void)
sscanf(parse,"%d",&usbvision_device_data[0].AudioChannels);
goto2next(parse);
PDEBUG(DBG_PROBE, "AudioChannels=%d", usbvision_device_data[0].AudioChannels);
- sscanf(parse,"%d",&usbvision_device_data[0].Radio);
+ sscanf(parse,"%d",&radio);
+ usbvision_device_data[0].Radio=(radio?1:0);
goto2next(parse);
PDEBUG(DBG_PROBE, "Radio=%d", usbvision_device_data[0].Radio);
- sscanf(parse,"%d",&usbvision_device_data[0].Tuner);
+ sscanf(parse,"%d",&tuner);
+ usbvision_device_data[0].Tuner=(tuner?1:0);
goto2next(parse);
PDEBUG(DBG_PROBE, "Tuner=%d", usbvision_device_data[0].Tuner);
sscanf(parse,"%d",&usbvision_device_data[0].TunerType);
diff --git a/drivers/media/video/usbvision/usbvision.h b/drivers/media/video/usbvision/usbvision.h
index 4639f3485e76..b4412a5014ad 100644
--- a/drivers/media/video/usbvision/usbvision.h
+++ b/drivers/media/video/usbvision/usbvision.h
@@ -347,9 +347,9 @@ struct usbvision_device_data_st {
int VideoChannels;
__u64 VideoNorm;
int AudioChannels;
- int Radio;
- int vbi;
- int Tuner;
+ int Radio:1;
+ int vbi:1;
+ int Tuner:1;
int TunerType;
int Vin_Reg1;
int Vin_Reg2;