On Fri, 3 Jan 2014, Russell King - ARM Linux wrote:
On Fri, Jan 03, 2014 at 01:13:57PM +0000, Stefano Stabellini wrote:
quoted
On Mon, 30 Dec 2013, Mark Salter wrote:
quoted
On Mon, 2013-12-30 at 14:55 +0800, Chen Baozi wrote:
quoted
xen_remap used to be defined as ioremap_cached on arm64. In commit
c04e8e2fe, a new ioremap_cache was implemented, and ioremap_cached
was deleted, while xen_remap stays the same. This would lead to
the failure when building with CONFIG_HVC_XEN. Redefined xen_remap
on arm64 as ioremap_cache on arm64 to fix it.
I missed that include of arm header by arm64 when looking for users
of arm64's ioremap_cached() when working on commit c04e8e2fe. Anyway,
grepping the kernel tree, I see:
ioremap_cached()
defined by: arm, metag, unicore32
used by: arch/arm/include/asm/xen/page.h
drivers/mtd/maps/pxa2xx-flash.c
ioremap_cache()
defined by: arm64, sh, xtensa, ia64, x86
used by: drivers/video/vesafb.c
drivers/char/toshiba.c
drivers/acpi/apei
drivers/lguest/lguest_device.c
drivers/sfi/sfi_core.c
include/linux/acpi_io.h
I think it would be better to just avoid the confusion and the ifdef in
asm/xen/page.h by globally changing ioremap_cached to ioremap_cache.
While I welcome the suggestion, this is a critical fix for a regression
that I think should go in as soon as possible, maybe 3.13-rc7, while I
don't think that a global s/ioremap_cached/ioremap_cache would be
acceptable at this stage.
Since it's just one driver, just make the change for ARM (provided the
grep is accurate.) pxa2xx-flash is only used on ARM and not the other
two listed there, so looks like metag and unicore just decided to copy
ARM.
My grep concurs with yours.
So... just change ioremap_cached -> ioremap_cache in
arch/arm/include/asm/io.h
arch/arm/include/asm/xen/page.h
drivers/mtd/maps/pxa2xx-flash.c
to fix the problem.
OK. That would be Rob's patch below.
Are you going to take care of sending it to Linus?
Thanks for the quick reply.