diff --git a/drivers/staging/xgifb/XGIfb.h b/drivers/staging/xgifb/XGIfb.h index 12e1a3e330b7..f778293b553e 100644 --- a/drivers/staging/xgifb/XGIfb.h +++ b/drivers/staging/xgifb/XGIfb.h @@ -56,7 +56,7 @@ struct video_info { int chip_id; unsigned int video_size; unsigned long video_base; - char *video_vbase; + void __iomem *video_vbase; unsigned long mmio_base; unsigned long mmio_size; void __iomem *mmio_vbase; diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c index c7fd406be1a4..ce5bf6839cf6 100644 --- a/drivers/staging/xgifb/vb_init.c +++ b/drivers/staging/xgifb/vb_init.c @@ -678,12 +678,13 @@ static int XGINew_ReadWriteRest(unsigned short StopAddr, { int i; unsigned long Position = 0; + void __iomem *fbaddr = pVBInfo->FBAddr; - *((unsigned long *) (pVBInfo->FBAddr + Position)) = Position; + writel(Position, fbaddr + Position); for (i = StartAddr; i <= StopAddr; i++) { Position = 1 << i; - *((unsigned long *) (pVBInfo->FBAddr + Position)) = Position; + writel(Position, fbaddr + Position); } udelay(500); /* [Vicent] 2004/04/16. @@ -691,13 +692,12 @@ static int XGINew_ReadWriteRest(unsigned short StopAddr, Position = 0; - if ((*(unsigned long *) (pVBInfo->FBAddr + Position)) != Position) + if (readl(fbaddr + Position) != Position) return 0; for (i = StartAddr; i <= StopAddr; i++) { Position = 1 << i; - if ((*(unsigned long *) (pVBInfo->FBAddr + Position)) != - Position) + if (readl(fbaddr + Position) != Position) return 0; } return 1; diff --git a/drivers/staging/xgifb/vb_struct.h b/drivers/staging/xgifb/vb_struct.h index 6f13442bd6aa..860c98649bff 100644 --- a/drivers/staging/xgifb/vb_struct.h +++ b/drivers/staging/xgifb/vb_struct.h @@ -300,7 +300,7 @@ struct vb_device_info { unsigned short SelectCRT2Rate; unsigned char *ROMAddr; - unsigned char *FBAddr; + void __iomem *FBAddr; unsigned long BaseAddr; unsigned long RelIO; diff --git a/drivers/staging/xgifb/vgatypes.h b/drivers/staging/xgifb/vgatypes.h index 7f911f1ac32d..76e2d81cbd51 100644 --- a/drivers/staging/xgifb/vgatypes.h +++ b/drivers/staging/xgifb/vgatypes.h @@ -53,7 +53,7 @@ struct xgi_hw_device_info { unsigned char *pjVirtualRomBase; /* ROM image */ - unsigned char *pjVideoMemoryAddress;/* base virtual memory address */ + void __iomem *pjVideoMemoryAddress;/* base virtual memory address */ /* of Linear VGA memory */ unsigned long ulVideoMemorySize; /* size, in bytes, of the