diff options
author | Aaro Koskinen <aaro.koskinen@iki.fi> | 2011-10-11 14:47:30 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-10-12 11:51:48 -0400 |
commit | f2df8c097a3cf0436c22358e11033c2d3b320aa4 (patch) | |
tree | 7cd2e96576637e611a2d281089dddf26de386e96 /drivers | |
parent | 7d2ab0c62dd3eb283853340e8aab095bdb6f6ac7 (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.h | 21 | ||||
-rw-r--r-- | drivers/staging/xgifb/XGI_main_26.c | 15 | ||||
-rw-r--r-- | drivers/staging/xgifb/XGIfb.h | 2 |
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 */ | ||
147 | static 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 | ||
1651 | static int XGIfb_blank(int blank, struct fb_info *info) | 1651 | static 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 */ | |||
57 | struct xgifb_video_info { | 58 | struct 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; |