On Fri, Sep 26, 2014 at 01:29:02PM +1000, Stephen Rothwell wrote: > Hi Bjorn, > > Today's linux-next merge of the pci tree got a conflict in > include/asm-generic/io.h between commit 4005bfe0aa45 > ("asm-generic/io.h: Implement generic {read,write}s*()") from the > asm-generic tree and commit 3aad9c969c09 ("asm-generic/io.h: Fix > ioport_map() for !CONFIG_GENERIC_IOMAP") from the pci tree. > > I fixed it up (the only difference is that the latter castes the result > to void __iomem * - see below) and can carry the fix as necessary (no > action is required). > > -- > Cheers, > Stephen Rothwell s...@canb.auug.org.au > > diff --cc include/asm-generic/io.h > index 3e976be3bdd4,2e2161b0c795..000000000000 > --- a/include/asm-generic/io.h > +++ b/include/asm-generic/io.h > @@@ -756,16 -329,11 +756,16 @@@ static inline void iounmap(void __iome > > #ifdef CONFIG_HAS_IOPORT_MAP > #ifndef CONFIG_GENERIC_IOMAP > +#ifndef ioport_map > +#define ioport_map ioport_map > static inline void __iomem *ioport_map(unsigned long port, unsigned int nr) > { > - return PCI_IOBASE + (port & IO_SPACE_LIMIT); > + return (void __iomem *)(PCI_IOBASE + (port & IO_SPACE_LIMIT));
I don't think that cast is necessary. All instances of PCI_IOBASE are already defined to be void __iomem *. Or at least they were until a few days ago. Commit f3dfddf7bd85 (ARM: Define PCI_IOBASE as the base of virtual PCI IO space) introduces one variant for ARM which isn't actually void __iomem *. I think what we should do is standardize the type of PCI_IOBASE. So how about we remove commit 3aad9c969c09 (asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP) and move the cast to void __iomem * to Liviu's definition of PCI_IOBASE for ARM? Thierry
pgpTeZMzmGPkY.pgp
Description: PGP signature