linux/drivers/staging/xgifb
Peter Huewe 6d12dae47e staging/xgifb: Cleanup vb_device_info struct
This patch cleans up the vb_device_info struct and the related
functions.
The cleanup decreases the size of the compiled module by
about 10kB.

== Remove fields in vb_device_info that are never read: ==
pOutputSelect
pRGBSenseData
pRGBSenseData2
pVideoSenseData
pVideoSenseData2
pYCSenseData
pYCSenseData2
CR49
pXGINew_I2CDefinition
pCR2E
pCR2F
pCR46
pCR47
pCRD0
pCRDE
pSR40
pSR41
pCR47

=== Remove the corresponding 'constants' ===
XGI330_RGBSenseData
XGI330_RGBSenseData2
XGI330_VideoSenseData
XGI330_VideoSenseData2
XGI330_YCSenseData
XGI330_YCSenseData2
XGI330_CR49
XG40_I2CDefinition
XG21_CR2E
XG21_CR2F
XG21_CR46
XG21_CR47
XG27_CRD0
XG27_CRDE
XGI330_OutputSelect

== Remove 'constant fields' and replace constant value with #define ==
pSR07 = XGI330_SR07 -> 0x18
pSR1F = XGI330_SR1F -> 0
pSR23 = XGI330_SR23 -> 0xf6
pSR24 = XGI330_SR24 -> 0x0d
pSR33 = XGI330_SR33 ->0
pCRT2Data_1_2 = XGI330_CRT2Data_1_2 -> 0
pCRT2Data_4_D = XGI330_CRT2Data_4_D -> 0
pCRT2Data_4_E = XGI330_CRT2Data_4_E -> 0
pCRT2Data_4_10 = XGI330_CRT2Data_4_10 -> 0x80
pSR36 = XG27_SR36 -> 0x30
pCR8F = &XG27_CR8F -> 0x0C
pSR40 = XG27_SR40 -> 0x04
pSR41 = XG27_SR41 ->0x00
pSR31 = XGI330_SR31 -> 0xc0
pSR32 = XGI330_SR32 -> 0xc0
SR25 = XGI330_sr25 -> 0 (we only use XGI330_sr25[0])

== Constant fields with 'dead' code: ==
pSoftSetting is set to XGI330_SoftSetting = 0x30
-> if (*pVBInfo->pSoftSetting & SoftDRAMType) is never true since
SoftDRAMType = 0x80
-> if (*pVBInfo->pSoftSetting & ModeSoftSetting) is never true since
ModeSoftSetting = 0x04
--> remove the code, remove pSoftSetting, remove XGI330_SoftSetting

pDVOSetting is set to XG21_DVOSetting = 0
-> if (((*pVBInfo->pDVOSetting) & 0xC0) == 0xC0) is never true
--> remove the code, remove pDVOSetting, remove XG21_DVOSetting

pXGINew_DRAMTypeDefinition is set to &XG40_DRAMTypeDefinition 0xFF
-> if (*pVBInfo->pXGINew_DRAMTypeDefinition != 0x0C) is always true
--> remove the if and remove pXGINew_DRAMTypeDefinition
remove XG40_DRAMTypeDefinition

== Replace pointer to unsigned char with unsigned char variable
and assign value of referenced pointer: ==
pSR21 -> SR21, remove XGI330_SR21
pSR22 -> SR22, remove XGI330_SR22
pXGINew_CR97 -> XGINew_CR97, remove XG20_CR97, XG27_CR97 and Z11m_CR97

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:43 -07:00
..
Kconfig
Makefile staging: xgifb: delete vb_ext.{c,h} 2011-11-26 18:03:18 -08:00
TODO staging: xgifb: update TODO 2011-09-16 20:16:48 +02:00
vb_def.h staging/xgifb: Cleanup vb_device_info struct 2012-06-13 17:15:43 -07:00
vb_init.c staging/xgifb: Cleanup vb_device_info struct 2012-06-13 17:15:43 -07:00
vb_init.h staging: xgifb: inline XGIfb_query_VGA_config_space() 2011-10-12 09:51:45 -06:00
vb_setmode.c staging/xgifb: Cleanup vb_device_info struct 2012-06-13 17:15:43 -07:00
vb_setmode.h staging: xgifb: move XGI21_LVDSCapStruct into xgifb_video_info 2011-12-08 12:26:07 -08:00
vb_struct.h staging/xgifb: Cleanup vb_device_info struct 2012-06-13 17:15:43 -07:00
vb_table.h staging/xgifb: Cleanup vb_device_info struct 2012-06-13 17:15:43 -07:00
vb_util.c staging/xgifb: Remove superfluous header includes 2012-06-13 17:14:49 -07:00
vb_util.h staging: xgifb: clean up register access types 2011-03-14 11:52:34 -07:00
vgatypes.h staging/xgifb: Remove superfluous header includes 2012-06-13 17:14:49 -07:00
XGI_main_26.c staging/xgifb: Remove superfluous header includes 2012-06-13 17:14:49 -07:00
XGI_main.h staging/xgifb: Remove superfluous header includes 2012-06-13 17:14:49 -07:00
XGIfb.h staging/xgifb: Remove superfluous header includes 2012-06-13 17:14:49 -07:00