Hi Michael, On Sun, Mar 5, 2023 at 10:23 AM Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote: > Baoquan He <bhe@xxxxxxxxxx> 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. I originally wrote that driver for CHRP, so yes. > 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. Indeed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds