aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAaro Koskinen <aaro.koskinen@iki.fi>2011-10-11 14:47:30 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-12 11:51:48 -0400
commitf2df8c097a3cf0436c22358e11033c2d3b320aa4 (patch)
tree7cd2e96576637e611a2d281089dddf26de386e96 /drivers
parent7d2ab0c62dd3eb283853340e8aab095bdb6f6ac7 (diff)
staging: xgifb: eliminate global XGI_Pr data
Move vb_device_info into xgifb_video_info. 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')
-rw-r--r--drivers/staging/xgifb/XGI_main.h21
-rw-r--r--drivers/staging/xgifb/XGI_main_26.c15
-rw-r--r--drivers/staging/xgifb/XGIfb.h2
3 files changed, 21 insertions, 17 deletions
diff --git a/drivers/staging/xgifb/XGI_main.h b/drivers/staging/xgifb/XGI_main.h
index 6c1f5e0a1bf..731262adee9 100644
--- a/drivers/staging/xgifb/XGI_main.h
+++ b/drivers/staging/xgifb/XGI_main.h
@@ -52,15 +52,15 @@ MODULE_DEVICE_TABLE(pci, xgifb_pci_table);
52 52
53#define SEQ_DATA 0x15 53#define SEQ_DATA 0x15
54 54
55#define XGISR XGI_Pr.P3c4 55#define XGISR (xgifb_info->dev_info.P3c4)
56#define XGICR XGI_Pr.P3d4 56#define XGICR (xgifb_info->dev_info.P3d4)
57#define XGIDACA XGI_Pr.P3c8 57#define XGIDACA (xgifb_info->dev_info.P3c8)
58#define XGIDACD XGI_Pr.P3c9 58#define XGIDACD (xgifb_info->dev_info.P3c9)
59#define XGIPART1 XGI_Pr.Part1Port 59#define XGIPART1 (xgifb_info->dev_info.Part1Port)
60#define XGIPART2 XGI_Pr.Part2Port 60#define XGIPART2 (xgifb_info->dev_info.Part2Port)
61#define XGIPART3 XGI_Pr.Part3Port 61#define XGIPART3 (xgifb_info->dev_info.Part3Port)
62#define XGIPART4 XGI_Pr.Part4Port 62#define XGIPART4 (xgifb_info->dev_info.Part4Port)
63#define XGIPART5 XGI_Pr.Part5Port 63#define XGIPART5 (xgifb_info->dev_info.Part5Port)
64#define XGIDAC2A XGIPART5 64#define XGIDAC2A XGIPART5
65#define XGIDAC2D (XGIPART5 + 1) 65#define XGIDAC2D (XGIPART5 + 1)
66 66
@@ -143,9 +143,6 @@ static int XGIfb_tvplug = -1;
143/* TW: For ioctl XGIFB_GET_INFO */ 143/* TW: For ioctl XGIFB_GET_INFO */
144/* XGIfb_info XGIfbinfo; */ 144/* XGIfb_info XGIfbinfo; */
145 145
146/* TW: XGI private structure */
147static struct vb_device_info XGI_Pr;
148
149#define MD_XGI300 1 146#define MD_XGI300 1
150#define MD_XGI315 2 147#define MD_XGI315 2
151 148
diff --git a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c
index bbbcdb7e50e..dc6a9a8faf7 100644
--- a/drivers/staging/xgifb/XGI_main_26.c
+++ b/drivers/staging/xgifb/XGI_main_26.c
@@ -1650,6 +1650,7 @@ static int XGIfb_pan_display(struct fb_var_screeninfo *var,
1650 1650
1651static int XGIfb_blank(int blank, struct fb_info *info) 1651static int XGIfb_blank(int blank, struct fb_info *info)
1652{ 1652{
1653 struct xgifb_video_info *xgifb_info = info->par;
1653 u8 reg; 1654 u8 reg;
1654 1655
1655 reg = xgifb_reg_get(XGICR, 0x17); 1656 reg = xgifb_reg_get(XGICR, 0x17);
@@ -2002,14 +2003,15 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,
2002 hw_info->pjIOAddress = (unsigned char *)xgifb_info->vga_base; 2003 hw_info->pjIOAddress = (unsigned char *)xgifb_info->vga_base;
2003 /* XGI_Pr.RelIO = ioremap(pci_resource_start(pdev, 2), 128) + 0x30; */ 2004 /* XGI_Pr.RelIO = ioremap(pci_resource_start(pdev, 2), 128) + 0x30; */
2004 printk("XGIfb: Relocate IO address: %lx [%08lx]\n", 2005 printk("XGIfb: Relocate IO address: %lx [%08lx]\n",
2005 (unsigned long)pci_resource_start(pdev, 2), XGI_Pr.RelIO); 2006 (unsigned long)pci_resource_start(pdev, 2),
2007 xgifb_info->dev_info.RelIO);
2006 2008
2007 if (pci_enable_device(pdev)) { 2009 if (pci_enable_device(pdev)) {
2008 ret = -EIO; 2010 ret = -EIO;
2009 goto error; 2011 goto error;
2010 } 2012 }
2011 2013
2012 XGIRegInit(&XGI_Pr, (unsigned long)hw_info->pjIOAddress); 2014 XGIRegInit(&xgifb_info->dev_info, (unsigned long)hw_info->pjIOAddress);
2013 2015
2014 xgifb_reg_set(XGISR, IND_XGI_PASSWORD, XGI_PASSWORD); 2016 xgifb_reg_set(XGISR, IND_XGI_PASSWORD, XGI_PASSWORD);
2015 reg1 = xgifb_reg_get(XGISR, IND_XGI_PASSWORD); 2017 reg1 = xgifb_reg_get(XGISR, IND_XGI_PASSWORD);
@@ -2292,7 +2294,9 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,
2292 XGIbios_mode[xgifb_info->mode_idx].xres) && 2294 XGIbios_mode[xgifb_info->mode_idx].xres) &&
2293 (XGI21_LCDCapList[m].LVDSVDE == 2295 (XGI21_LCDCapList[m].LVDSVDE ==
2294 XGIbios_mode[xgifb_info->mode_idx].yres)) { 2296 XGIbios_mode[xgifb_info->mode_idx].yres)) {
2295 xgifb_reg_set(XGI_Pr.P3d4, 0x36, m); 2297 xgifb_reg_set(xgifb_info->dev_info.P3d4,
2298 0x36,
2299 m);
2296 break; 2300 break;
2297 } 2301 }
2298 } 2302 }
@@ -2364,11 +2368,12 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,
2364 XGIfb_bpp_to_var(xgifb_info, &fb_info->var); 2368 XGIfb_bpp_to_var(xgifb_info, &fb_info->var);
2365 2369
2366 fb_info->var.pixclock = (u32) (1000000000 / 2370 fb_info->var.pixclock = (u32) (1000000000 /
2367 XGIfb_mode_rate_to_dclock(&XGI_Pr, hw_info, 2371 XGIfb_mode_rate_to_dclock(&xgifb_info->dev_info,
2372 hw_info,
2368 XGIbios_mode[xgifb_info->mode_idx].mode_no, 2373 XGIbios_mode[xgifb_info->mode_idx].mode_no,
2369 xgifb_info->rate_idx)); 2374 xgifb_info->rate_idx));
2370 2375
2371 if (XGIfb_mode_rate_to_ddata(&XGI_Pr, hw_info, 2376 if (XGIfb_mode_rate_to_ddata(&xgifb_info->dev_info, hw_info,
2372 XGIbios_mode[xgifb_info->mode_idx].mode_no, 2377 XGIbios_mode[xgifb_info->mode_idx].mode_no,
2373 xgifb_info->rate_idx, 2378 xgifb_info->rate_idx,
2374 &fb_info->var.left_margin, 2379 &fb_info->var.left_margin,
diff --git a/drivers/staging/xgifb/XGIfb.h b/drivers/staging/xgifb/XGIfb.h
index efcfac86500..7d2b970991b 100644
--- a/drivers/staging/xgifb/XGIfb.h
+++ b/drivers/staging/xgifb/XGIfb.h
@@ -3,6 +3,7 @@
3#include <linux/ioctl.h> 3#include <linux/ioctl.h>
4#include <linux/types.h> 4#include <linux/types.h>
5 5
6#include "vb_struct.h"
6#include "vgatypes.h" 7#include "vgatypes.h"
7 8
8#define DISPTYPE_CRT1 0x00000008L 9#define DISPTYPE_CRT1 0x00000008L
@@ -57,6 +58,7 @@ enum xgi_tv_plug { /* vicki@030226 */
57struct xgifb_video_info { 58struct xgifb_video_info {
58 struct fb_info *fb_info; 59 struct fb_info *fb_info;
59 struct xgi_hw_device_info hw_info; 60 struct xgi_hw_device_info hw_info;
61 struct vb_device_info dev_info;
60 62
61 int mode_idx; 63 int mode_idx;
62 int rate_idx; 64 int rate_idx;