[PATCH v3 2/2] arch/*/io.h: remove ioremap_uc in some architectures
Michael Ellerman
mpe at ellerman.id.au
Sun Mar 5 20:23:05 AEDT 2023
Baoquan He <bhe at redhat.com> writes:
> 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.
>
> Here, remove the ioremap_uc() definition in architecutures other
> than x86 and ia64. These architectures all have asm-generic/io.h
> included and will have the default ioremap_uc() definition which
> returns NULL.
>
> Note: This changes the existing behaviour and could break code
> calling ioremap_uc(). If any ARCH meets this breakage and really
> needs a specific ioremap_uc() for its own usage, one ioremap_uc()
> can be added in the ARCH.
I see one use in:
drivers/video/fbdev/aty/atyfb_base.c: par->ati_regbase = ioremap_uc(info->fix.mmio_start, 0x1000);
Which isn't obviously x86/ia64 specific.
I'm pretty sure some powermacs (powerpc) use that driver.
Maybe that exact code path is only reachable on x86/ia64? But if so
please explain why.
Otherwise it looks like this series could break that driver on powerpc
at least.
cheers
More information about the Linuxppc-dev
mailing list