diff options
author | Aaro Koskinen <aaro.koskinen@iki.fi> | 2011-10-11 14:47:16 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-10-12 11:51:45 -0400 |
commit | 6048d761d23958218ea0e67decafdfac81aed663 (patch) | |
tree | e6382110975e1652ac6efab035d37fba4103d50d /drivers/staging/xgifb/vb_init.c | |
parent | c62f2e466f875a5eedb4d4f52115c3e7d1cb52f6 (diff) |
staging: xgifb: inline XGIfb_query_VGA_config_space()
XGIfb_query_VGA_config_space() is used only once during the init and
can be replaced with a single PCI configuration space read.
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/xgifb/vb_init.c')
-rw-r--r-- | drivers/staging/xgifb/vb_init.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c index ce5bf6839cf..b6178b498e2 100644 --- a/drivers/staging/xgifb/vb_init.c +++ b/drivers/staging/xgifb/vb_init.c | |||
@@ -1,5 +1,7 @@ | |||
1 | #include <linux/types.h> | 1 | #include <linux/types.h> |
2 | #include <linux/delay.h> /* udelay */ | 2 | #include <linux/delay.h> /* udelay */ |
3 | #include <linux/pci.h> | ||
4 | |||
3 | #include "vgatypes.h" | 5 | #include "vgatypes.h" |
4 | #include "XGIfb.h" | 6 | #include "XGIfb.h" |
5 | 7 | ||
@@ -1427,8 +1429,10 @@ static unsigned char GetXG27FPBits(struct vb_device_info *pVBInfo) | |||
1427 | return temp; | 1429 | return temp; |
1428 | } | 1430 | } |
1429 | 1431 | ||
1430 | unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension) | 1432 | unsigned char XGIInitNew(struct pci_dev *pdev) |
1431 | { | 1433 | { |
1434 | struct video_info *xgifb_info = pci_get_drvdata(pdev); | ||
1435 | struct xgi_hw_device_info *HwDeviceExtension = &xgifb_info->hw_info; | ||
1432 | struct vb_device_info VBINF; | 1436 | struct vb_device_info VBINF; |
1433 | struct vb_device_info *pVBInfo = &VBINF; | 1437 | struct vb_device_info *pVBInfo = &VBINF; |
1434 | unsigned char i, temp = 0, temp1; | 1438 | unsigned char i, temp = 0, temp1; |
@@ -1437,8 +1441,6 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension) | |||
1437 | 1441 | ||
1438 | /* unsigned long j, k; */ | 1442 | /* unsigned long j, k; */ |
1439 | 1443 | ||
1440 | unsigned long Temp; | ||
1441 | |||
1442 | pVBInfo->ROMAddr = HwDeviceExtension->pjVirtualRomBase; | 1444 | pVBInfo->ROMAddr = HwDeviceExtension->pjVirtualRomBase; |
1443 | 1445 | ||
1444 | pVBInfo->FBAddr = HwDeviceExtension->pjVideoMemoryAddress; | 1446 | pVBInfo->FBAddr = HwDeviceExtension->pjVideoMemoryAddress; |
@@ -1578,6 +1580,8 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension) | |||
1578 | printk("12"); | 1580 | printk("12"); |
1579 | 1581 | ||
1580 | if (HwDeviceExtension->jChipType < XG20) { /* kuku 2004/06/25 */ | 1582 | if (HwDeviceExtension->jChipType < XG20) { /* kuku 2004/06/25 */ |
1583 | u32 Temp; | ||
1584 | |||
1581 | /* Set AGP Rate */ | 1585 | /* Set AGP Rate */ |
1582 | /* | 1586 | /* |
1583 | temp1 = xgifb_reg_get(pVBInfo->P3c4, 0x3B); | 1587 | temp1 = xgifb_reg_get(pVBInfo->P3c4, 0x3B); |
@@ -1644,10 +1648,7 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension) | |||
1644 | /* if (ChipsetID == 0x25308086) */ | 1648 | /* if (ChipsetID == 0x25308086) */ |
1645 | /* xgifb_reg_set(pVBInfo->P3d4, 0x77, 0xF0); */ | 1649 | /* xgifb_reg_set(pVBInfo->P3d4, 0x77, 0xF0); */ |
1646 | 1650 | ||
1647 | HwDeviceExtension->pQueryVGAConfigSpace(HwDeviceExtension, | 1651 | pci_read_config_dword(pdev, 0x50, &Temp); |
1648 | 0x50, | ||
1649 | 0, | ||
1650 | &Temp); /* Get */ | ||
1651 | Temp >>= 20; | 1652 | Temp >>= 20; |
1652 | Temp &= 0xF; | 1653 | Temp &= 0xF; |
1653 | 1654 | ||