From: Mauro Carvalho Chehab Date: Sat, 14 Apr 2007 18:15:43 +0000 (-0300) Subject: V4L/DVB (5516): Reduce usbvision data size X-Git-Tag: v2.6.22-rc1~1118^2~38 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7ca6256bc1db4fb44adda99e082f8c80ada8957;p=linux-2.6 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 Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/usbvision/usbvision-cards.c b/drivers/media/video/usbvision/usbvision-cards.c index c63048da97..4ba96349e7 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 22c2889d3b..49281ffa84 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 4639f3485e..b4412a5014 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;