Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
On 20/07/17 06:36 AM, Horia Geantă wrote: > include/asm-generic/iomap.h is included before > include/linux/io-64-nonatomic-lo-hi.h: > > include/linux/io.h -> arch/powerpc/include/asm/io.h -> > include/asm-generic/iomap.h > > Thus, the "extern" version of ioread64_lo_hi and friends will be used > (and not the inline version from io-64-nonatomic-lo-hi.h). > > But for this kernel .config: > -CONFIG_GENERIC_IOMAP=n and > -there is no implementation of io{read|write}64[be]{_lo_hi|_hi_lo} in > arch/powerpc/kernel/iomap.c Ah, thanks for the triage. I'll take a look at fixing this for a v5. Logan
Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
On 7/20/2017 1:27 PM, Horia Geantă wrote: > On 7/19/2017 7:04 PM, Logan Gunthorpe wrote: >> >> >> On 18/07/17 11:57 PM, Michael Ellerman wrote: >>> Seems fair enough, have you tested it at all? >> >> It's only been compile tested and the kbuild robot has beat up on it a bit. >> > Looks like the patch set does not compile on PPC (.config generated > using make corenet64_smp_defconfig): > > [...] > LD vmlinux.o > MODPOST vmlinux.o > drivers/crypto/caam/jr.o: In function `rd_reg64': > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154: > undefined reference to `.ioread64be_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151: > undefined reference to `.ioread64_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151: > undefined reference to `.ioread64_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154: > undefined reference to `.ioread64be_lo_hi' > drivers/crypto/caam/jr.o: In function `wr_reg64': > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141: > undefined reference to `.iowrite64_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141: > undefined reference to `.iowrite64_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144: > undefined reference to `.iowrite64be_lo_hi' > /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144: > undefined reference to `.iowrite64be_lo_hi' > make: *** [vmlinux] Error 1 > include/asm-generic/iomap.h is included before include/linux/io-64-nonatomic-lo-hi.h: include/linux/io.h -> arch/powerpc/include/asm/io.h -> include/asm-generic/iomap.h Thus, the "extern" version of ioread64_lo_hi and friends will be used (and not the inline version from io-64-nonatomic-lo-hi.h). But for this kernel .config: -CONFIG_GENERIC_IOMAP=n and -there is no implementation of io{read|write}64[be]{_lo_hi|_hi_lo} in arch/powerpc/kernel/iomap.c Regards, Horia
Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
Logan Gunthorpewrites: > On 18/07/17 11:57 PM, Michael Ellerman wrote: >> Seems fair enough, have you tested it at all? > > It's only been compile tested and the kbuild robot has beat up on it a bit. OK. I don't think I see any way it can break anything, so feel free to merge it, it'll get boot testing on powerpc once it's in linux-next. Acked-by: Michael Ellerman cheers
Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
On 7/19/2017 7:04 PM, Logan Gunthorpe wrote: > > > On 18/07/17 11:57 PM, Michael Ellerman wrote: >> Seems fair enough, have you tested it at all? > > It's only been compile tested and the kbuild robot has beat up on it a bit. > Looks like the patch set does not compile on PPC (.config generated using make corenet64_smp_defconfig): [...] LD vmlinux.o MODPOST vmlinux.o drivers/crypto/caam/jr.o: In function `rd_reg64': /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154: undefined reference to `.ioread64be_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151: undefined reference to `.ioread64_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151: undefined reference to `.ioread64_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154: undefined reference to `.ioread64be_lo_hi' drivers/crypto/caam/jr.o: In function `wr_reg64': /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141: undefined reference to `.iowrite64_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141: undefined reference to `.iowrite64_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144: undefined reference to `.iowrite64be_lo_hi' /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144: undefined reference to `.iowrite64be_lo_hi' make: *** [vmlinux] Error 1 Regards, Horia
Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
On 18/07/17 11:57 PM, Michael Ellerman wrote: > Seems fair enough, have you tested it at all? It's only been compile tested and the kbuild robot has beat up on it a bit. Thanks, Logan
Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs
Logan Gunthorpewrites: > Subsequent patches in this series makes use of the readq and writeq > defines in iomap.h. However, as is, they get missed on the powerpc > platform seeing the include comes before the define. This patch > moves the include down to fix this. > > Signed-off-by: Logan Gunthorpe > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Michael Ellerman > Cc: Nicholas Piggin > Cc: Suresh Warrier > Cc: "Oliver O'Halloran" > --- > arch/powerpc/include/asm/io.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Seems fair enough, have you tested it at all? cheers