strcpy(XGIhw_ext.szVBIOSVer, "0.84");
 
 
-    XGIhw_ext.pSR = vmalloc(sizeof(XGI_DSReg) * SR_BUFFER_SIZE);
+    XGIhw_ext.pSR = vmalloc(sizeof(struct XGI_DSReg) * SR_BUFFER_SIZE);
          if (XGIhw_ext.pSR == NULL)
          {
                    printk(KERN_ERR "XGIfb: Fatal error: Allocating SRReg space failed.\n");
          }
          XGIhw_ext.pSR[0].jIdx = XGIhw_ext.pSR[0].jVal = 0xFF;
 
-         XGIhw_ext.pCR = vmalloc(sizeof(XGI_DSReg) * CR_BUFFER_SIZE);
+         XGIhw_ext.pCR = vmalloc(sizeof(struct XGI_DSReg) * CR_BUFFER_SIZE);
          if (XGIhw_ext.pCR == NULL)
          {
              vfree(XGIhw_ext.pSR);
 
 };
 #endif
 
-#ifndef PXGI_DSReg
-typedef struct _XGI_DSReg
+struct XGI_DSReg
 {
   unsigned char  jIdx;
   unsigned char  jVal;
-} XGI_DSReg, *PXGI_DSReg;
-#endif
+};
+
 
 #ifndef XGI_HW_DEVICE_INFO
 
     unsigned char bIsPowerSaving;     /* True: XGIInit() is invoked by power management,
                                    otherwise by 2nd adapter's initialzation */
 
-    PXGI_DSReg  pSR;             /* restore SR registers in initial function. */
+    struct XGI_DSReg  *pSR;             /* restore SR registers in initial function. */
                                  /* end data :(idx, val) =  (FF, FF). */
                                  /* Note : restore SR registers if  */
                                  /* bSkipDramSizing = 1 */
 
-    PXGI_DSReg  pCR;             /* restore CR registers in initial function. */
+    struct XGI_DSReg  *pCR;             /* restore CR registers in initial function. */
                                  /* end data :(idx, val) =  (FF, FF) */
                                  /* Note : restore cR registers if  */
                                  /* bSkipDramSizing = 1 */