Hello Stephen The root of the issue is that iowrite/ioread behaves differently in different arches. 1) It does not necesary need to be a symbol in all the arches. It can be declared as a function macro: #define iowrite32(a,b) iowrite32(a,b) 2) Sometimes, even the function has a different prototype. include/asm-generic/iomap.h extern unsigned int ioread16be(void __iomem *); include/asm-generic/io.h extern unsigned int ioread16be(void __iomem *); Since the patch that you have reverted was only to clean the code it is perfectly fine to revert it. Sorry for the mess, I did only tried to build it on the platforms that I had available and I could have never guess that iowrite32 was implemented differently on other arches. Thanks! On Fri, Jan 30, 2015 at 4:02 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi Mark, > > After merging the spi tree, today's linux-next build (arm > multi_v7_defconfig) failed like this: > > drivers/spi/spi-xilinx.c: In function 'xilinx_spi_probe': > drivers/spi/spi-xilinx.c:391:16: warning: assignment from incompatible pointer type > xspi->read_fn = ioread32; > ^ > drivers/spi/spi-xilinx.c:392:17: warning: assignment from incompatible pointer type > xspi->write_fn = iowrite32; > ^ > drivers/spi/spi-xilinx.c:398:19: error: 'ioread32be' undeclared (first use in this function) > xspi->read_fn = ioread32be; > ^ > drivers/spi/spi-xilinx.c:398:19: note: each undeclared identifier is reported only once for each function it appears in > drivers/spi/spi-xilinx.c:399:20: error: 'iowrite32be' undeclared (first use in this function) > xspi->write_fn = iowrite32be; > ^ > > Caused by commit 99082eab6344 ("spi/xilinx: Remove iowrite/ioread > wrappers"). Its not obvious why this is so, but reverting that commit > fixed the build problem. > > I have reverted that commit for today. > > -- > Cheers, > Stephen Rothwell sfr@xxxxxxxxxxxxxxxx -- Ricardo Ribalda -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html