On Fri, Aug 28, 2015 at 01:22:27AM -0700, Guenter Roeck wrote: > On 08/27/2015 11:06 PM, Ingo Molnar wrote: > > > >* Luis R. Rodriguez <[email protected]> wrote: > > > >>From: "Luis R. Rodriguez" <[email protected]> > >> > >>S390 requires its own implementation of pcio_iomap*() calls > >>is because it has its "BAR spaces are not disjunctive on s390 > >>so we need the bar parameter of pci_iomap to find the corresponding > >>device and create the mapping cookie" -- in summary, it has its own > >>lookup/lock solution. > >> > >>It does not include asm-generic/pci_iomap.h > >> > >>Since it currenty maps ioremap_wc() to ioremap_nocache() and that's > >>the architecture default we can easily just map the wc calls to > >>the default calls as well. > >> > >>Cc: Guenter Roeck <[email protected]> > >>Cc: Jean-Christophe Plagniol-Villard <[email protected]> > >>Cc: Tomi Valkeinen <[email protected]> > >>Cc: [email protected] > >>Cc: [email protected] > >>Cc: Borislav Petkov <[email protected]> > >>Cc: Ingo Molnar <[email protected]> > >>Cc: Fengguang Wu <[email protected]> > >>Cc: Andrew Morton <[email protected]> > >>Cc: Steven Rostedt <[email protected]> > >>Reported-by: 0 day bot > >>Signed-off-by: Luis R. Rodriguez <[email protected]> > >>--- > >> > >>This broke through some series that went into Ingo's tip tree which > >>I added. As such I *think* this should go through Ingo's tip tree. > >>Let me know. Up to you guys. > > > >I fixed the changelog to explain all this. > > > >Also, is there any other architecture that got broken by: > > > > 1b3d4200c1e0 PCI: Add pci_iomap_wc() variants > > > > Should be the only one. There are only two implementations of pci_iomap(), > one in s390 code and the generic implementation.
Indeed, sadly there is no semantics well defined to establish this requirement so the best we can do is infer: mcgrof@ergon ~/linux-next (git::20150805-pend-all)$ git grep pci_iomap_range arch/ arch/s390/include/asm/io.h:#define pci_iomap_wc_range pci_iomap_range arch/s390/pci/pci.c:void __iomem *pci_iomap_range(struct pci_dev *pdev, arch/s390/pci/pci.c:EXPORT_SYMBOL(pci_iomap_range); arch/s390/pci/pci.c: return pci_iomap_range(dev, bar, 0, maxlen); To this end a Kconfig option to implicate this might be more well suited for future lookups and make other architectures which are incompatible with generic pci_iomap clearer. Will post an RFC. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

