drivers/video/aty/atyfb_base.c:2749: warning: `struct fb_indo' declared inside parameter list drivers/video/aty/atyfb_base.c:2749: warning: its scope is only this definition or declaration, which is probably not what you want drivers/video/aty/atyfb_base.c: In function `atyfb_setup_sparc': drivers/video/aty/atyfb_base.c:2754: error: dereferencing pointer to incomplete type drivers/video/aty/atyfb_base.c:2767: warning: assignment makes pointer from integer without a cast drivers/video/aty/atyfb_base.c:2768: error: dereferencing pointer to incomplete type drivers/video/aty/atyfb_base.c:2773: error: dereferencing pointer to incomplete type drivers/video/aty/atyfb_base.c:2774: error: dereferencing pointer to incomplete type drivers/video/aty/atyfb_base.c:2785: error: `_par' undeclared (first use in this function) drivers/video/aty/atyfb_base.c:2785: error: (Each undeclared identifier is reported only once drivers/video/aty/atyfb_base.c:2785: error: for each function it appears in.) drivers/video/aty/atyfb_base.c:2751: warning: unused variable `prom_palette' drivers/video/aty/atyfb_base.c: In function `atyfb_pci_probe': drivers/video/aty/atyfb_base.c:3371: warning: passing arg 2 of `atyfb_setup_sparc' from incompatible pointer type drivers/video/aty/atyfb_base.c:3385: error: `prom_palette' undeclared (first use in this function) drivers/video/aty/atyfb_base.c:3397: error: invalid operands to binary & make[1]: *** [drivers/video/aty/atyfb_base.o] Error 1 make: *** [drivers/video/aty/atyfb_base.o] Error 2 Signed-off-by: Andrew Morton --- 25-sparc64-akpm/drivers/video/aty/atyfb_base.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff -puN drivers/video/aty/atyfb_base.c~fbdev-various-mach64-changes-sparc64-fix drivers/video/aty/atyfb_base.c --- 25-sparc64/drivers/video/aty/atyfb_base.c~fbdev-various-mach64-changes-sparc64-fix 2004-10-22 00:57:58.400849184 -0700 +++ 25-sparc64-akpm/drivers/video/aty/atyfb_base.c 2004-10-22 00:57:58.405848424 -0700 @@ -2746,9 +2746,11 @@ static int atyfb_setcolreg(u_int regno, #ifdef __sparc__ -static int __devinit atyfb_setup_sparc(struct pci_dev *pdev, struct fb_indo *info, unsigned long addr) +extern void (*prom_palette) (int); + +static int __devinit atyfb_setup_sparc(struct pci_dev *pdev, + struct fb_info *info, unsigned long addr) { - extern void (*prom_palette) (int); extern int con_is_present(void); struct atyfb_par *par = info->par; @@ -2764,7 +2766,7 @@ static int __devinit atyfb_setup_sparc(s /* * Map memory-mapped registers. */ - par->ati_regbase = addr + 0x7ffc00UL; + par->ati_regbase = (void *)addr + 0x7ffc00UL; info->fix.mmio_start = addr + 0x7ffc00UL; /* @@ -2782,7 +2784,7 @@ static int __devinit atyfb_setup_sparc(s j = i + 4; par->mmap_map = kmalloc(j * sizeof(*par->mmap_map), GFP_ATOMIC); - if (!_par->mmap_map) { + if (!par->mmap_map) { PRINTKE("atyfb_setup_sparc() can't alloc mmap_map\n"); return -ENOMEM; } @@ -3394,7 +3396,7 @@ static int __devinit atyfb_pci_probe(str par->mmap_map[0].prot_mask = _PAGE_CACHE; par->mmap_map[0].prot_flag = _PAGE_E; par->mmap_map[1].voff = par->mmap_map[0].voff + info->fix.smem_len; - par->mmap_map[1].poff = par->ati_regbase & PAGE_MASK; + par->mmap_map[1].poff = (long)par->ati_regbase & PAGE_MASK; par->mmap_map[1].size = PAGE_SIZE; par->mmap_map[1].prot_mask = _PAGE_CACHE; par->mmap_map[1].prot_flag = _PAGE_E; _