Skip to content

Commit c1a8d1d

Browse files
arndbhdeller
authored andcommitted
fbdev: atyfb: only use ioremap_uc() on i386 and ia64
ioremap_uc() is only meaningful on old x86-32 systems with the PAT extension, and on ia64 with its slightly unconventional ioremap() behavior, everywhere else this is the same as ioremap() anyway. Change the only driver that still references ioremap_uc() to only do so on x86-32/ia64 in order to allow removing that interface at some point in the future for the other architectures. On some architectures, ioremap_uc() just returns NULL, changing the driver to call ioremap() means that they now have a chance of working correctly. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Baoquan He <[email protected]> Reviewed-by: Luis Chamberlain <[email protected]> Cc: Helge Deller <[email protected]> Cc: Thomas Zimmermann <[email protected]> Cc: Christophe Leroy <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Helge Deller <[email protected]>
1 parent e348725 commit c1a8d1d

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/video/fbdev/aty/atyfb_base.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3440,11 +3440,15 @@ static int atyfb_setup_generic(struct pci_dev *pdev, struct fb_info *info,
34403440
}
34413441

34423442
info->fix.mmio_start = raddr;
3443+
#if defined(__i386__) || defined(__ia64__)
34433444
/*
34443445
* By using strong UC we force the MTRR to never have an
34453446
* effect on the MMIO region on both non-PAT and PAT systems.
34463447
*/
34473448
par->ati_regbase = ioremap_uc(info->fix.mmio_start, 0x1000);
3449+
#else
3450+
par->ati_regbase = ioremap(info->fix.mmio_start, 0x1000);
3451+
#endif
34483452
if (par->ati_regbase == NULL)
34493453
return -ENOMEM;
34503454

0 commit comments

Comments
 (0)