diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-14 20:15:43 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 20:45:33 +0200 |
commit | f7ca6256bc1db4fb44adda99e082f8c80ada8957 (patch) | |
tree | 3991af6637ac5d43991e8108bfb3388d46ad117e /drivers/media | |
parent | V4L/DVB (5515): Use a better format to represent usbvision supported boards (diff) | |
download | linux-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.c | 3 | ||||
-rw-r--r-- | drivers/media/video/usbvision/usbvision-video.c | 8 | ||||
-rw-r--r-- | drivers/media/video/usbvision/usbvision.h | 6 |
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; |