All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20170411140857.GA6821@red-moon>

diff --git a/a/1.txt b/N1/1.txt
index 521dd5a..a6f3334 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,15 +1,19 @@
 On Tue, Apr 11, 2017 at 11:38:26PM +1000, Benjamin Herrenschmidt wrote:
 > On Tue, 2017-04-11 at 13:28 +0100, Lorenzo Pieralisi wrote:
 > > This patch series[1] is a v3 of a previous version:
-> > 
+> > =
+
 > > v2: https://lkml.org/lkml/2017/3/27/220
-> 
+> =
+
 > I am not a fan of this at All.
-> 
+> =
+
 > That whole concept of "ioremap_nopost" is simply not applicable to the
 > majority of architectures and certainly not in a way that can apply to
 > arbitrary mappings.
-> 
+> =
+
 > It's also very wrong to provide a "default" operation whose semantics
 > are weaker than what it's supposed to implement. Very wrong actually.
 > People will use it assuming the non-posted behaviour and things will
@@ -54,7 +58,8 @@ PCI configuration (write) transactions."
 > sauce to provide the illusion of non-posting, then implement this in
 > the actual root complex code.
 
-> 
+> =
+
 > BTW. I'm pretty sure we "accidentally" made config writes posted at
 > least to the PHB on a number of powerpc systems forever and we *never*
 > had a problem because of it ;)
@@ -68,42 +73,48 @@ Lorenzo
 > > v2 -> v3:
 > > 	- Created a default ioremap_nopost() implementation in a
 > > separate
-> > 	  asm-generic header and patched all arches to make use of it
+> > 	=A0=A0asm-generic header and patched all arches to make use of it
 > > 	- Removed PCI drivers patches from the series to simplify the
-> > 	  review, they will be posted separately once the
+> > 	=A0=A0review, they will be posted separately once the
 > > ioremap_nopost()
-> > 	  interface is settled
+> > 	=A0=A0interface is settled
 > > 	- Fixed devm_ioremap_* BUS offset comments and implemented
-> > 	  nopost interface on top of it
+> > 	=A0=A0nopost interface on top of it
 > > 	- Added collected tags
-> > 
+> > =
+
 > > v1: https://lkml.org/lkml/2017/2/27/228
-> > 
+> > =
+
 > > v1 -> v2:
 > > 	- Changed pci_remap_cfgspace() to more generic ioremap_nopost()
-> > 	  interface
+> > 	=A0=A0interface
 > > 	- Added pgprot_nonposted
 > > 	- Fixed build errors on arches not relying on asm-generic
 > > headers
 > > 	- Added PCI versatile host controller driver patch
 > > 	- Added missing config space remapping to hisilicon host
 > > controller
-> > 
+> > =
+
 > > ---------------------
 > > Original cover letter
 > > ---------------------
-> > 
+> > =
+
 > > PCI local bus specifications (Rev3.0, 3.2.5 "Transaction Ordering
 > > and Posting") strictly require PCI configuration and I/O Address
 > > space
 > > write transactions to be non-posted.
-> > 
+> > =
+
 > > Current crop of DT/ACPI PCI host controllers drivers relies on
 > > the ioremap interface to map ECAM and ECAM-derivative PCI config
 > > regions and pci_remap_iospace() to create a VMA for mapping
 > > PCI host bridge I/O Address space transactions to CPU virtual address
 > > space.
-> > 
+> > =
+
 > > On some platforms (ie ARM/ARM64) ioremap fails to comply with the PCI
 > > configuration non-posted write transactions requirement, because it
 > > provides a memory mapping that issues "bufferable" or, in PCI terms
@@ -115,103 +126,141 @@ Lorenzo
 > > attributes that on eg ARM64 provides a memory mapping issuing
 > > posted writes transactions, which is not PCI specifications
 > > compliant.
-> > 
+> > =
+
 > > This patch series[1] addresses both issues in one go:
-> > 
+> > =
+
 > > - It updates the pci_remap_iospace() function to use a page mapping
-> >   that guarantees non-posted write transactions for I/O space
+> > =A0 that guarantees non-posted write transactions for I/O space
 > > addresses
 > > - It adds a kernel API to remap PCI config space resources, so that
-> >   architecture can override it with a mapping implementation that
-> >   guarantees PCI specifications compliancy wrt non-posted write
-> >   configuration transactions
+> > =A0 architecture can override it with a mapping implementation that
+> > =A0 guarantees PCI specifications compliancy wrt non-posted write
+> > =A0 configuration transactions
 > > - It updates all PCI host controller implementations (and the generic
-> >   ECAM layer) to use the newly introduced mapping interface
-> > 
+> > =A0 ECAM layer) to use the newly introduced mapping interface
+> > =
+
 > > Tested on Juno ECAM based interface (DT/ACPI).
-> > 
+> > =
+
 > > Non-ECAM PCI host controller drivers patches need checking to make
 > > sure that:
-> > 
+> > =
+
 > > - I patched the correct resource region mapping for config space
 > > - There are not any other ways to ensure posted-write completion
-> >   in the respective pci_ops that make the relevant patch unnecessary
-> > 
+> > =A0 in the respective pci_ops that make the relevant patch unnecessary
+> > =
+
 > > [1]
 > > git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git
 > > pci/config-io-mappings-fix-v3
-> > 
+> > =
+
 > > Lorenzo Pieralisi (32):
-> >   PCI: remove __weak tag from pci_remap_iospace()
-> >   asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute
-> >   PCI: fix pci_remap_iospace() remap attribute
-> >   asm-generic: add ioremap_nopost() remap interface
-> >   alpha: include default ioremap_nopost() implementation
-> >   avr32: include default ioremap_nopost() implementation
-> >   arc: include default ioremap_nopost() implementation
-> >   cris: include default ioremap_nopost() implementation
-> >   frv: include default ioremap_nopost() implementation
-> >   hexagon: include default ioremap_nopost() implementation
-> >   ia64: include default ioremap_nopost() implementation
-> >   m32r: include default ioremap_nopost() implementation
-> >   m68k: include default ioremap_nopost() implementation
-> >   metag: include default ioremap_nopost() implementation
-> >   microblaze: include default ioremap_nopost() implementation
-> >   mips: include default ioremap_nopost() implementation
-> >   mn10300: include default ioremap_nopost() implementation
-> >   nios2: include default ioremap_nopost() implementation
-> >   openrisc: include default ioremap_nopost() implementation
-> >   parisc: include default ioremap_nopost() implementation
-> >   powerpc: include default ioremap_nopost() implementation
-> >   s390: include default ioremap_nopost() implementation
-> >   sh: include default ioremap_nopost() implementation
-> >   sparc: include default ioremap_nopost() implementation
-> >   tile: include default ioremap_nopost() implementation
-> >   unicore32: include default ioremap_nopost() implementation
-> >   x86: include default ioremap_nopost() implementation
-> >   xtensa: include default ioremap_nopost() implementation
-> >   arm64: implement ioremap_nopost() interface
-> >   arm: implement ioremap_nopost() interface
-> >   lib: fix Devres devm_ioremap_* offset parameter kerneldoc
+> > =A0 PCI: remove __weak tag from pci_remap_iospace()
+> > =A0 asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute
+> > =A0 PCI: fix pci_remap_iospace() remap attribute
+> > =A0 asm-generic: add ioremap_nopost() remap interface
+> > =A0 alpha: include default ioremap_nopost() implementation
+> > =A0 avr32: include default ioremap_nopost() implementation
+> > =A0 arc: include default ioremap_nopost() implementation
+> > =A0 cris: include default ioremap_nopost() implementation
+> > =A0 frv: include default ioremap_nopost() implementation
+> > =A0 hexagon: include default ioremap_nopost() implementation
+> > =A0 ia64: include default ioremap_nopost() implementation
+> > =A0 m32r: include default ioremap_nopost() implementation
+> > =A0 m68k: include default ioremap_nopost() implementation
+> > =A0 metag: include default ioremap_nopost() implementation
+> > =A0 microblaze: include default ioremap_nopost() implementation
+> > =A0 mips: include default ioremap_nopost() implementation
+> > =A0 mn10300: include default ioremap_nopost() implementation
+> > =A0 nios2: include default ioremap_nopost() implementation
+> > =A0 openrisc: include default ioremap_nopost() implementation
+> > =A0 parisc: include default ioremap_nopost() implementation
+> > =A0 powerpc: include default ioremap_nopost() implementation
+> > =A0 s390: include default ioremap_nopost() implementation
+> > =A0 sh: include default ioremap_nopost() implementation
+> > =A0 sparc: include default ioremap_nopost() implementation
+> > =A0 tile: include default ioremap_nopost() implementation
+> > =A0 unicore32: include default ioremap_nopost() implementation
+> > =A0 x86: include default ioremap_nopost() implementation
+> > =A0 xtensa: include default ioremap_nopost() implementation
+> > =A0 arm64: implement ioremap_nopost() interface
+> > =A0 arm: implement ioremap_nopost() interface
+> > =A0 lib: fix Devres devm_ioremap_* offset parameter kerneldoc
 > > description
-> >   lib: implement Devres ioremap_nopost() interface
-> > 
-> >  Documentation/driver-model/devres.txt |  3 ++
-> >  arch/alpha/include/asm/io.h           |  1 +
-> >  arch/arc/include/asm/io.h             |  1 +
-> >  arch/arm/include/asm/io.h             |  9 ++++
-> >  arch/arm/mm/ioremap.c                 |  7 +++
-> >  arch/arm/mm/nommu.c                   |  9 ++++
-> >  arch/arm64/include/asm/io.h           | 12 +++++
-> >  arch/avr32/include/asm/io.h           |  1 +
-> >  arch/cris/include/asm/io.h            |  1 +
-> >  arch/frv/include/asm/io.h             |  1 +
-> >  arch/hexagon/include/asm/io.h         |  2 +
-> >  arch/ia64/include/asm/io.h            |  1 +
-> >  arch/m32r/include/asm/io.h            |  1 +
-> >  arch/m68k/include/asm/io.h            |  1 +
-> >  arch/metag/include/asm/io.h           |  2 +
-> >  arch/microblaze/include/asm/io.h      |  1 +
-> >  arch/mips/include/asm/io.h            |  1 +
-> >  arch/mn10300/include/asm/io.h         |  1 +
-> >  arch/nios2/include/asm/io.h           |  1 +
-> >  arch/openrisc/include/asm/io.h        |  2 +
-> >  arch/parisc/include/asm/io.h          |  1 +
-> >  arch/powerpc/include/asm/io.h         |  1 +
-> >  arch/s390/include/asm/io.h            |  1 +
-> >  arch/sh/include/asm/io.h              |  1 +
-> >  arch/sparc/include/asm/io.h           |  1 +
-> >  arch/tile/include/asm/io.h            |  1 +
-> >  arch/unicore32/include/asm/io.h       |  1 +
-> >  arch/x86/include/asm/io.h             |  1 +
-> >  arch/xtensa/include/asm/io.h          |  1 +
-> >  drivers/pci/pci.c                     |  4 +-
-> >  include/asm-generic/ioremap-nopost.h  |  9 ++++
-> >  include/asm-generic/pgtable.h         |  4 ++
-> >  include/linux/device.h                |  2 +
-> >  include/linux/io.h                    |  2 +
-> >  lib/devres.c                          | 84
+> > =A0 lib: implement Devres ioremap_nopost() interface
+> > =
+
+> > =A0Documentation/driver-model/devres.txt |=A0=A03 ++
+> > =A0arch/alpha/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=
+ +
+> > =A0arch/arc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/arm/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A09 ++++
+> > =A0arch/arm/mm/ioremap.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0=A0|=A0=A07 +++
+> > =A0arch/arm/mm/nommu.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0=A0=A0|=A0=A09 ++++
+> > =A0arch/arm64/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0| 12 +++=
+++
+> > =A0arch/avr32/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=
+ +
+> > =A0arch/cris/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/frv/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/hexagon/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02 +
+> > =A0arch/ia64/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/m32r/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/m68k/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/metag/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02=
+ +
+> > =A0arch/microblaze/include/asm/io.h=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0arch/mips/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/mn10300/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0arch/nios2/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=
+ +
+> > =A0arch/openrisc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02 +
+> > =A0arch/parisc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0arch/powerpc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0arch/s390/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/sh/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=
+=A0=A01 +
+> > =A0arch/sparc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=
+ +
+> > =A0arch/tile/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/unicore32/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0arch/x86/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=
+=A01 +
+> > =A0arch/xtensa/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +
+> > =A0drivers/pci/pci.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0=A0=A0=A0|=A0=A04 +-
+> > =A0include/asm-generic/ioremap-nopost.h=A0=A0|=A0=A09 ++++
+> > =A0include/asm-generic/pgtable.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A04 ++
+> > =A0include/linux/device.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0|=A0=A02 +
+> > =A0include/linux/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0=A0=A0=A0|=A0=A02 +
+> > =A0lib/devres.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
+=A0=A0=A0=A0=A0=A0=A0=A0| 84
 > > +++++++++++++++++++++++++++++++++--
-> >  35 files changed, 167 insertions(+), 5 deletions(-)
-> >  create mode 100644 include/asm-generic/ioremap-nopost.h
-> >
+> > =A035 files changed, 167 insertions(+), 5 deletions(-)
+> > =A0create mode 100644 include/asm-generic/ioremap-nopost.h
+> > =
+
+
+_______________________________________________
+linux-arm-kernel mailing list
+linux-arm-kernel@lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff --git a/a/content_digest b/N1/content_digest
index 4e4a1ea..7c9b93a 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -27,21 +27,48 @@
   Catalin Marinas <catalin.marinas@arm.com>
   Matt Turner <mattst88@gmail.com>
   Haavard Skinnemoen <hskinnemoen@gmail.com>
- " Fenghua Yu <fenghua.yu@intel.co>\0"
+  Fenghua Yu <fenghua.yu@intel.com>
+  James Hogan <james.hogan@imgtec.com>
+  Chris Metcalf <cmetcalf@mellanox.com>
+  Arnd Bergmann <arnd@arndb.de>
+  Heiko Carstens <heiko.carstens@de.ibm.com>
+  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+  Mikael Starvik <starvik@axis.com>
+  Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+  Bjorn Helgaas <bhelgaas@google.com>
+  Stafford Horne <shorne@gmail.com>
+  linux-arm-kernel@lists.infradead.org
+  Richard Henderson <rth@twiddle.net>
+  Chris Zankel <chris@zankel.net>
+  Michal Simek <monstr@monstr.eu>
+  Tony Luck <tony.luck@intel.com>
+  Vineet Gupta <vgupta@synopsys.com>
+  linux-kernel@vger.kernel.org
+  Ralf Baechle <ralf@linux-mips.org>
+  Richard Kuo <rkuo@codeaurora.org>
+  Niklas Cassel <nks@flawful.org>
+  Luis R. Rodriguez <mcgrof@kernel.org>
+  Martin Schwidefsky <schwidefsky@de.ibm.com>
+  Ley Foon Tan <lftan@altera.com>
+ " David S. Miller <davem@davemloft.net>\0"
  "\00:1\0"
  "b\0"
  "On Tue, Apr 11, 2017 at 11:38:26PM +1000, Benjamin Herrenschmidt wrote:\n"
  "> On Tue, 2017-04-11 at 13:28 +0100, Lorenzo Pieralisi wrote:\n"
  "> > This patch series[1] is a v3 of a previous version:\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > v2: https://lkml.org/lkml/2017/3/27/220\n"
- "> \n"
+ "> =\n"
+ "\n"
  "> I am not a fan of this at All.\n"
- "> \n"
+ "> =\n"
+ "\n"
  "> That whole concept of \"ioremap_nopost\" is simply not applicable to the\n"
  "> majority of architectures and certainly not in a way that can apply to\n"
  "> arbitrary mappings.\n"
- "> \n"
+ "> =\n"
+ "\n"
  "> It's also very wrong to provide a \"default\" operation whose semantics\n"
  "> are weaker than what it's supposed to implement. Very wrong actually.\n"
  "> People will use it assuming the non-posted behaviour and things will\n"
@@ -86,7 +113,8 @@
  "> sauce to provide the illusion of non-posting, then implement this in\n"
  "> the actual root complex code.\n"
  "\n"
- "> \n"
+ "> =\n"
+ "\n"
  "> BTW. I'm pretty sure we \"accidentally\" made config writes posted at\n"
  "> least to the PHB on a number of powerpc systems forever and we *never*\n"
  "> had a problem because of it ;)\n"
@@ -100,42 +128,48 @@
  "> > v2 -> v3:\n"
  "> > \t- Created a default ioremap_nopost() implementation in a\n"
  "> > separate\n"
- "> > \t\302\240\302\240asm-generic header and patched all arches to make use of it\n"
+ "> > \t=A0=A0asm-generic header and patched all arches to make use of it\n"
  "> > \t- Removed PCI drivers patches from the series to simplify the\n"
- "> > \t\302\240\302\240review, they will be posted separately once the\n"
+ "> > \t=A0=A0review, they will be posted separately once the\n"
  "> > ioremap_nopost()\n"
- "> > \t\302\240\302\240interface is settled\n"
+ "> > \t=A0=A0interface is settled\n"
  "> > \t- Fixed devm_ioremap_* BUS offset comments and implemented\n"
- "> > \t\302\240\302\240nopost interface on top of it\n"
+ "> > \t=A0=A0nopost interface on top of it\n"
  "> > \t- Added collected tags\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > v1: https://lkml.org/lkml/2017/2/27/228\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > v1 -> v2:\n"
  "> > \t- Changed pci_remap_cfgspace() to more generic ioremap_nopost()\n"
- "> > \t\302\240\302\240interface\n"
+ "> > \t=A0=A0interface\n"
  "> > \t- Added pgprot_nonposted\n"
  "> > \t- Fixed build errors on arches not relying on asm-generic\n"
  "> > headers\n"
  "> > \t- Added PCI versatile host controller driver patch\n"
  "> > \t- Added missing config space remapping to hisilicon host\n"
  "> > controller\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > ---------------------\n"
  "> > Original cover letter\n"
  "> > ---------------------\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > PCI local bus specifications (Rev3.0, 3.2.5 \"Transaction Ordering\n"
  "> > and Posting\") strictly require PCI configuration and I/O Address\n"
  "> > space\n"
  "> > write transactions to be non-posted.\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > Current crop of DT/ACPI PCI host controllers drivers relies on\n"
  "> > the ioremap interface to map ECAM and ECAM-derivative PCI config\n"
  "> > regions and pci_remap_iospace() to create a VMA for mapping\n"
  "> > PCI host bridge I/O Address space transactions to CPU virtual address\n"
  "> > space.\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > On some platforms (ie ARM/ARM64) ioremap fails to comply with the PCI\n"
  "> > configuration non-posted write transactions requirement, because it\n"
  "> > provides a memory mapping that issues \"bufferable\" or, in PCI terms\n"
@@ -147,105 +181,143 @@
  "> > attributes that on eg ARM64 provides a memory mapping issuing\n"
  "> > posted writes transactions, which is not PCI specifications\n"
  "> > compliant.\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > This patch series[1] addresses both issues in one go:\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > - It updates the pci_remap_iospace() function to use a page mapping\n"
- "> > \302\240 that guarantees non-posted write transactions for I/O space\n"
+ "> > =A0 that guarantees non-posted write transactions for I/O space\n"
  "> > addresses\n"
  "> > - It adds a kernel API to remap PCI config space resources, so that\n"
- "> > \302\240 architecture can override it with a mapping implementation that\n"
- "> > \302\240 guarantees PCI specifications compliancy wrt non-posted write\n"
- "> > \302\240 configuration transactions\n"
+ "> > =A0 architecture can override it with a mapping implementation that\n"
+ "> > =A0 guarantees PCI specifications compliancy wrt non-posted write\n"
+ "> > =A0 configuration transactions\n"
  "> > - It updates all PCI host controller implementations (and the generic\n"
- "> > \302\240 ECAM layer) to use the newly introduced mapping interface\n"
- "> > \n"
+ "> > =A0 ECAM layer) to use the newly introduced mapping interface\n"
+ "> > =\n"
+ "\n"
  "> > Tested on Juno ECAM based interface (DT/ACPI).\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > Non-ECAM PCI host controller drivers patches need checking to make\n"
  "> > sure that:\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > - I patched the correct resource region mapping for config space\n"
  "> > - There are not any other ways to ensure posted-write completion\n"
- "> > \302\240 in the respective pci_ops that make the relevant patch unnecessary\n"
- "> > \n"
+ "> > =A0 in the respective pci_ops that make the relevant patch unnecessary\n"
+ "> > =\n"
+ "\n"
  "> > [1]\n"
  "> > git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git\n"
  "> > pci/config-io-mappings-fix-v3\n"
- "> > \n"
+ "> > =\n"
+ "\n"
  "> > Lorenzo Pieralisi (32):\n"
- "> > \302\240 PCI: remove __weak tag from pci_remap_iospace()\n"
- "> > \302\240 asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute\n"
- "> > \302\240 PCI: fix pci_remap_iospace() remap attribute\n"
- "> > \302\240 asm-generic: add ioremap_nopost() remap interface\n"
- "> > \302\240 alpha: include default ioremap_nopost() implementation\n"
- "> > \302\240 avr32: include default ioremap_nopost() implementation\n"
- "> > \302\240 arc: include default ioremap_nopost() implementation\n"
- "> > \302\240 cris: include default ioremap_nopost() implementation\n"
- "> > \302\240 frv: include default ioremap_nopost() implementation\n"
- "> > \302\240 hexagon: include default ioremap_nopost() implementation\n"
- "> > \302\240 ia64: include default ioremap_nopost() implementation\n"
- "> > \302\240 m32r: include default ioremap_nopost() implementation\n"
- "> > \302\240 m68k: include default ioremap_nopost() implementation\n"
- "> > \302\240 metag: include default ioremap_nopost() implementation\n"
- "> > \302\240 microblaze: include default ioremap_nopost() implementation\n"
- "> > \302\240 mips: include default ioremap_nopost() implementation\n"
- "> > \302\240 mn10300: include default ioremap_nopost() implementation\n"
- "> > \302\240 nios2: include default ioremap_nopost() implementation\n"
- "> > \302\240 openrisc: include default ioremap_nopost() implementation\n"
- "> > \302\240 parisc: include default ioremap_nopost() implementation\n"
- "> > \302\240 powerpc: include default ioremap_nopost() implementation\n"
- "> > \302\240 s390: include default ioremap_nopost() implementation\n"
- "> > \302\240 sh: include default ioremap_nopost() implementation\n"
- "> > \302\240 sparc: include default ioremap_nopost() implementation\n"
- "> > \302\240 tile: include default ioremap_nopost() implementation\n"
- "> > \302\240 unicore32: include default ioremap_nopost() implementation\n"
- "> > \302\240 x86: include default ioremap_nopost() implementation\n"
- "> > \302\240 xtensa: include default ioremap_nopost() implementation\n"
- "> > \302\240 arm64: implement ioremap_nopost() interface\n"
- "> > \302\240 arm: implement ioremap_nopost() interface\n"
- "> > \302\240 lib: fix Devres devm_ioremap_* offset parameter kerneldoc\n"
+ "> > =A0 PCI: remove __weak tag from pci_remap_iospace()\n"
+ "> > =A0 asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute\n"
+ "> > =A0 PCI: fix pci_remap_iospace() remap attribute\n"
+ "> > =A0 asm-generic: add ioremap_nopost() remap interface\n"
+ "> > =A0 alpha: include default ioremap_nopost() implementation\n"
+ "> > =A0 avr32: include default ioremap_nopost() implementation\n"
+ "> > =A0 arc: include default ioremap_nopost() implementation\n"
+ "> > =A0 cris: include default ioremap_nopost() implementation\n"
+ "> > =A0 frv: include default ioremap_nopost() implementation\n"
+ "> > =A0 hexagon: include default ioremap_nopost() implementation\n"
+ "> > =A0 ia64: include default ioremap_nopost() implementation\n"
+ "> > =A0 m32r: include default ioremap_nopost() implementation\n"
+ "> > =A0 m68k: include default ioremap_nopost() implementation\n"
+ "> > =A0 metag: include default ioremap_nopost() implementation\n"
+ "> > =A0 microblaze: include default ioremap_nopost() implementation\n"
+ "> > =A0 mips: include default ioremap_nopost() implementation\n"
+ "> > =A0 mn10300: include default ioremap_nopost() implementation\n"
+ "> > =A0 nios2: include default ioremap_nopost() implementation\n"
+ "> > =A0 openrisc: include default ioremap_nopost() implementation\n"
+ "> > =A0 parisc: include default ioremap_nopost() implementation\n"
+ "> > =A0 powerpc: include default ioremap_nopost() implementation\n"
+ "> > =A0 s390: include default ioremap_nopost() implementation\n"
+ "> > =A0 sh: include default ioremap_nopost() implementation\n"
+ "> > =A0 sparc: include default ioremap_nopost() implementation\n"
+ "> > =A0 tile: include default ioremap_nopost() implementation\n"
+ "> > =A0 unicore32: include default ioremap_nopost() implementation\n"
+ "> > =A0 x86: include default ioremap_nopost() implementation\n"
+ "> > =A0 xtensa: include default ioremap_nopost() implementation\n"
+ "> > =A0 arm64: implement ioremap_nopost() interface\n"
+ "> > =A0 arm: implement ioremap_nopost() interface\n"
+ "> > =A0 lib: fix Devres devm_ioremap_* offset parameter kerneldoc\n"
  "> > description\n"
- "> > \302\240 lib: implement Devres ioremap_nopost() interface\n"
- "> > \n"
- "> > \302\240Documentation/driver-model/devres.txt |\302\240\302\2403 ++\n"
- "> > \302\240arch/alpha/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/arc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/arm/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240arch/arm/mm/ioremap.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2407 +++\n"
- "> > \302\240arch/arm/mm/nommu.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240arch/arm64/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 12 +++++\n"
- "> > \302\240arch/avr32/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/cris/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/frv/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/hexagon/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/ia64/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/m32r/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/m68k/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/metag/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/microblaze/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/mips/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/mn10300/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/nios2/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/openrisc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/parisc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/powerpc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/s390/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/sh/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/sparc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/tile/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/unicore32/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/x86/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/xtensa/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240drivers/pci/pci.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 +-\n"
- "> > \302\240include/asm-generic/ioremap-nopost.h\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240include/asm-generic/pgtable.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 ++\n"
- "> > \302\240include/linux/device.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240include/linux/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240lib/devres.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 84\n"
+ "> > =A0 lib: implement Devres ioremap_nopost() interface\n"
+ "> > =\n"
+ "\n"
+ "> > =A0Documentation/driver-model/devres.txt |=A0=A03 ++\n"
+ "> > =A0arch/alpha/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=\n"
+ " +\n"
+ "> > =A0arch/arc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/arm/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A09 ++++\n"
+ "> > =A0arch/arm/mm/ioremap.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0=A0|=A0=A07 +++\n"
+ "> > =A0arch/arm/mm/nommu.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0=A0=A0|=A0=A09 ++++\n"
+ "> > =A0arch/arm64/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0| 12 +++=\n"
+ "++\n"
+ "> > =A0arch/avr32/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=\n"
+ " +\n"
+ "> > =A0arch/cris/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/frv/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/hexagon/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02 +\n"
+ "> > =A0arch/ia64/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/m32r/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/m68k/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/metag/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02=\n"
+ " +\n"
+ "> > =A0arch/microblaze/include/asm/io.h=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0arch/mips/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/mn10300/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0arch/nios2/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=\n"
+ " +\n"
+ "> > =A0arch/openrisc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A02 +\n"
+ "> > =A0arch/parisc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0arch/powerpc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0arch/s390/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/sh/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=\n"
+ "=A0=A01 +\n"
+ "> > =A0arch/sparc/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01=\n"
+ " +\n"
+ "> > =A0arch/tile/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/unicore32/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0arch/x86/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=\n"
+ "=A01 +\n"
+ "> > =A0arch/xtensa/include/asm/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A01 +\n"
+ "> > =A0drivers/pci/pci.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0=A0=A0=A0|=A0=A04 +-\n"
+ "> > =A0include/asm-generic/ioremap-nopost.h=A0=A0|=A0=A09 ++++\n"
+ "> > =A0include/asm-generic/pgtable.h=A0=A0=A0=A0=A0=A0=A0=A0=A0|=A0=A04 ++\n"
+ "> > =A0include/linux/device.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0|=A0=A02 +\n"
+ "> > =A0include/linux/io.h=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0=A0=A0=A0|=A0=A02 +\n"
+ "> > =A0lib/devres.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n"
+ "=A0=A0=A0=A0=A0=A0=A0=A0| 84\n"
  "> > +++++++++++++++++++++++++++++++++--\n"
- "> > \302\24035 files changed, 167 insertions(+), 5 deletions(-)\n"
- "> > \302\240create mode 100644 include/asm-generic/ioremap-nopost.h\n"
- > >
+ "> > =A035 files changed, 167 insertions(+), 5 deletions(-)\n"
+ "> > =A0create mode 100644 include/asm-generic/ioremap-nopost.h\n"
+ "> > =\n"
+ "\n"
+ "\n"
+ "_______________________________________________\n"
+ "linux-arm-kernel mailing list\n"
+ "linux-arm-kernel@lists.infradead.org\n"
+ http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
 
-1b367d87c4f35bd7c92992471e5826d5ede4ddfd7bd12a4a9b69e66ae706feec
+64d5c6e99cf2ca67777cb8a0dda0006a82b4f99e6b38a8edeed1ca1730114a49

diff --git a/a/1.txt b/N2/1.txt
index 521dd5a..8c92313 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -68,20 +68,20 @@ Lorenzo
 > > v2 -> v3:
 > > 	- Created a default ioremap_nopost() implementation in a
 > > separate
-> > 	  asm-generic header and patched all arches to make use of it
+> > 	??asm-generic header and patched all arches to make use of it
 > > 	- Removed PCI drivers patches from the series to simplify the
-> > 	  review, they will be posted separately once the
+> > 	??review, they will be posted separately once the
 > > ioremap_nopost()
-> > 	  interface is settled
+> > 	??interface is settled
 > > 	- Fixed devm_ioremap_* BUS offset comments and implemented
-> > 	  nopost interface on top of it
+> > 	??nopost interface on top of it
 > > 	- Added collected tags
 > > 
 > > v1: https://lkml.org/lkml/2017/2/27/228
 > > 
 > > v1 -> v2:
 > > 	- Changed pci_remap_cfgspace() to more generic ioremap_nopost()
-> > 	  interface
+> > 	??interface
 > > 	- Added pgprot_nonposted
 > > 	- Fixed build errors on arches not relying on asm-generic
 > > headers
@@ -119,14 +119,14 @@ Lorenzo
 > > This patch series[1] addresses both issues in one go:
 > > 
 > > - It updates the pci_remap_iospace() function to use a page mapping
-> >   that guarantees non-posted write transactions for I/O space
+> > ? that guarantees non-posted write transactions for I/O space
 > > addresses
 > > - It adds a kernel API to remap PCI config space resources, so that
-> >   architecture can override it with a mapping implementation that
-> >   guarantees PCI specifications compliancy wrt non-posted write
-> >   configuration transactions
+> > ? architecture can override it with a mapping implementation that
+> > ? guarantees PCI specifications compliancy wrt non-posted write
+> > ? configuration transactions
 > > - It updates all PCI host controller implementations (and the generic
-> >   ECAM layer) to use the newly introduced mapping interface
+> > ? ECAM layer) to use the newly introduced mapping interface
 > > 
 > > Tested on Juno ECAM based interface (DT/ACPI).
 > > 
@@ -135,83 +135,83 @@ Lorenzo
 > > 
 > > - I patched the correct resource region mapping for config space
 > > - There are not any other ways to ensure posted-write completion
-> >   in the respective pci_ops that make the relevant patch unnecessary
+> > ? in the respective pci_ops that make the relevant patch unnecessary
 > > 
 > > [1]
 > > git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git
 > > pci/config-io-mappings-fix-v3
 > > 
 > > Lorenzo Pieralisi (32):
-> >   PCI: remove __weak tag from pci_remap_iospace()
-> >   asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute
-> >   PCI: fix pci_remap_iospace() remap attribute
-> >   asm-generic: add ioremap_nopost() remap interface
-> >   alpha: include default ioremap_nopost() implementation
-> >   avr32: include default ioremap_nopost() implementation
-> >   arc: include default ioremap_nopost() implementation
-> >   cris: include default ioremap_nopost() implementation
-> >   frv: include default ioremap_nopost() implementation
-> >   hexagon: include default ioremap_nopost() implementation
-> >   ia64: include default ioremap_nopost() implementation
-> >   m32r: include default ioremap_nopost() implementation
-> >   m68k: include default ioremap_nopost() implementation
-> >   metag: include default ioremap_nopost() implementation
-> >   microblaze: include default ioremap_nopost() implementation
-> >   mips: include default ioremap_nopost() implementation
-> >   mn10300: include default ioremap_nopost() implementation
-> >   nios2: include default ioremap_nopost() implementation
-> >   openrisc: include default ioremap_nopost() implementation
-> >   parisc: include default ioremap_nopost() implementation
-> >   powerpc: include default ioremap_nopost() implementation
-> >   s390: include default ioremap_nopost() implementation
-> >   sh: include default ioremap_nopost() implementation
-> >   sparc: include default ioremap_nopost() implementation
-> >   tile: include default ioremap_nopost() implementation
-> >   unicore32: include default ioremap_nopost() implementation
-> >   x86: include default ioremap_nopost() implementation
-> >   xtensa: include default ioremap_nopost() implementation
-> >   arm64: implement ioremap_nopost() interface
-> >   arm: implement ioremap_nopost() interface
-> >   lib: fix Devres devm_ioremap_* offset parameter kerneldoc
+> > ? PCI: remove __weak tag from pci_remap_iospace()
+> > ? asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute
+> > ? PCI: fix pci_remap_iospace() remap attribute
+> > ? asm-generic: add ioremap_nopost() remap interface
+> > ? alpha: include default ioremap_nopost() implementation
+> > ? avr32: include default ioremap_nopost() implementation
+> > ? arc: include default ioremap_nopost() implementation
+> > ? cris: include default ioremap_nopost() implementation
+> > ? frv: include default ioremap_nopost() implementation
+> > ? hexagon: include default ioremap_nopost() implementation
+> > ? ia64: include default ioremap_nopost() implementation
+> > ? m32r: include default ioremap_nopost() implementation
+> > ? m68k: include default ioremap_nopost() implementation
+> > ? metag: include default ioremap_nopost() implementation
+> > ? microblaze: include default ioremap_nopost() implementation
+> > ? mips: include default ioremap_nopost() implementation
+> > ? mn10300: include default ioremap_nopost() implementation
+> > ? nios2: include default ioremap_nopost() implementation
+> > ? openrisc: include default ioremap_nopost() implementation
+> > ? parisc: include default ioremap_nopost() implementation
+> > ? powerpc: include default ioremap_nopost() implementation
+> > ? s390: include default ioremap_nopost() implementation
+> > ? sh: include default ioremap_nopost() implementation
+> > ? sparc: include default ioremap_nopost() implementation
+> > ? tile: include default ioremap_nopost() implementation
+> > ? unicore32: include default ioremap_nopost() implementation
+> > ? x86: include default ioremap_nopost() implementation
+> > ? xtensa: include default ioremap_nopost() implementation
+> > ? arm64: implement ioremap_nopost() interface
+> > ? arm: implement ioremap_nopost() interface
+> > ? lib: fix Devres devm_ioremap_* offset parameter kerneldoc
 > > description
-> >   lib: implement Devres ioremap_nopost() interface
+> > ? lib: implement Devres ioremap_nopost() interface
 > > 
-> >  Documentation/driver-model/devres.txt |  3 ++
-> >  arch/alpha/include/asm/io.h           |  1 +
-> >  arch/arc/include/asm/io.h             |  1 +
-> >  arch/arm/include/asm/io.h             |  9 ++++
-> >  arch/arm/mm/ioremap.c                 |  7 +++
-> >  arch/arm/mm/nommu.c                   |  9 ++++
-> >  arch/arm64/include/asm/io.h           | 12 +++++
-> >  arch/avr32/include/asm/io.h           |  1 +
-> >  arch/cris/include/asm/io.h            |  1 +
-> >  arch/frv/include/asm/io.h             |  1 +
-> >  arch/hexagon/include/asm/io.h         |  2 +
-> >  arch/ia64/include/asm/io.h            |  1 +
-> >  arch/m32r/include/asm/io.h            |  1 +
-> >  arch/m68k/include/asm/io.h            |  1 +
-> >  arch/metag/include/asm/io.h           |  2 +
-> >  arch/microblaze/include/asm/io.h      |  1 +
-> >  arch/mips/include/asm/io.h            |  1 +
-> >  arch/mn10300/include/asm/io.h         |  1 +
-> >  arch/nios2/include/asm/io.h           |  1 +
-> >  arch/openrisc/include/asm/io.h        |  2 +
-> >  arch/parisc/include/asm/io.h          |  1 +
-> >  arch/powerpc/include/asm/io.h         |  1 +
-> >  arch/s390/include/asm/io.h            |  1 +
-> >  arch/sh/include/asm/io.h              |  1 +
-> >  arch/sparc/include/asm/io.h           |  1 +
-> >  arch/tile/include/asm/io.h            |  1 +
-> >  arch/unicore32/include/asm/io.h       |  1 +
-> >  arch/x86/include/asm/io.h             |  1 +
-> >  arch/xtensa/include/asm/io.h          |  1 +
-> >  drivers/pci/pci.c                     |  4 +-
-> >  include/asm-generic/ioremap-nopost.h  |  9 ++++
-> >  include/asm-generic/pgtable.h         |  4 ++
-> >  include/linux/device.h                |  2 +
-> >  include/linux/io.h                    |  2 +
-> >  lib/devres.c                          | 84
+> > ?Documentation/driver-model/devres.txt |??3 ++
+> > ?arch/alpha/include/asm/io.h???????????|??1 +
+> > ?arch/arc/include/asm/io.h?????????????|??1 +
+> > ?arch/arm/include/asm/io.h?????????????|??9 ++++
+> > ?arch/arm/mm/ioremap.c?????????????????|??7 +++
+> > ?arch/arm/mm/nommu.c???????????????????|??9 ++++
+> > ?arch/arm64/include/asm/io.h???????????| 12 +++++
+> > ?arch/avr32/include/asm/io.h???????????|??1 +
+> > ?arch/cris/include/asm/io.h????????????|??1 +
+> > ?arch/frv/include/asm/io.h?????????????|??1 +
+> > ?arch/hexagon/include/asm/io.h?????????|??2 +
+> > ?arch/ia64/include/asm/io.h????????????|??1 +
+> > ?arch/m32r/include/asm/io.h????????????|??1 +
+> > ?arch/m68k/include/asm/io.h????????????|??1 +
+> > ?arch/metag/include/asm/io.h???????????|??2 +
+> > ?arch/microblaze/include/asm/io.h??????|??1 +
+> > ?arch/mips/include/asm/io.h????????????|??1 +
+> > ?arch/mn10300/include/asm/io.h?????????|??1 +
+> > ?arch/nios2/include/asm/io.h???????????|??1 +
+> > ?arch/openrisc/include/asm/io.h????????|??2 +
+> > ?arch/parisc/include/asm/io.h??????????|??1 +
+> > ?arch/powerpc/include/asm/io.h?????????|??1 +
+> > ?arch/s390/include/asm/io.h????????????|??1 +
+> > ?arch/sh/include/asm/io.h??????????????|??1 +
+> > ?arch/sparc/include/asm/io.h???????????|??1 +
+> > ?arch/tile/include/asm/io.h????????????|??1 +
+> > ?arch/unicore32/include/asm/io.h???????|??1 +
+> > ?arch/x86/include/asm/io.h?????????????|??1 +
+> > ?arch/xtensa/include/asm/io.h??????????|??1 +
+> > ?drivers/pci/pci.c?????????????????????|??4 +-
+> > ?include/asm-generic/ioremap-nopost.h??|??9 ++++
+> > ?include/asm-generic/pgtable.h?????????|??4 ++
+> > ?include/linux/device.h????????????????|??2 +
+> > ?include/linux/io.h????????????????????|??2 +
+> > ?lib/devres.c??????????????????????????| 84
 > > +++++++++++++++++++++++++++++++++--
-> >  35 files changed, 167 insertions(+), 5 deletions(-)
-> >  create mode 100644 include/asm-generic/ioremap-nopost.h
+> > ?35 files changed, 167 insertions(+), 5 deletions(-)
+> > ?create mode 100644 include/asm-generic/ioremap-nopost.h
 > >
diff --git a/a/content_digest b/N2/content_digest
index 4e4a1ea..69e31bb 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,33 +1,9 @@
  "ref\020170411122923.6285-1-lorenzo.pieralisi@arm.com\0"
  "ref\01491917906.7236.7.camel@kernel.crashing.org\0"
- "From\0Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>\0"
- "Subject\0Re: [PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0"
+ "From\0lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)\0"
+ "Subject\0[PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0"
  "Date\0Tue, 11 Apr 2017 15:08:57 +0100\0"
- "To\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0"
- "Cc\0Jonas Bonn <jonas@southpole.se>"
-  Rich Felker <dalias@libc.org>
-  linux-pci@vger.kernel.org
-  Will Deacon <will.deacon@arm.com>
-  James E.J. Bottomley <jejb@parisc-linux.org>
-  David Howells <dhowells@redhat.com>
-  Max Filippov <jcmvbkbc@gmail.com>
-  Paul Mackerras <paulus@samba.org>
-  Huacai Chen <chenhc@lemote.com>
-  Guan Xuetao <gxt@mprc.pku.edu.cn>
-  Thomas Gleixner <tglx@linutronix.de>
-  Hans-Christian Egtvedt <egtvedt@samfundet.no>
-  linux-arch@vger.kernel.org
-  Jesper Nilsson <jesper.nilsson@axis.com>
-  Yoshinori Sato <ysato@users.sourceforge.jp>
-  Michael Ellerman <mpe@ellerman.id.au>
-  Helge Deller <deller@gmx.de>
-  Russell King <linux@armlinux.org.uk>
-  Ingo Molnar <mingo@redhat.com>
-  Geert Uytterhoeven <geert@linux-m68k.org>
-  Catalin Marinas <catalin.marinas@arm.com>
-  Matt Turner <mattst88@gmail.com>
-  Haavard Skinnemoen <hskinnemoen@gmail.com>
- " Fenghua Yu <fenghua.yu@intel.co>\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "On Tue, Apr 11, 2017 at 11:38:26PM +1000, Benjamin Herrenschmidt wrote:\n"
@@ -100,20 +76,20 @@
  "> > v2 -> v3:\n"
  "> > \t- Created a default ioremap_nopost() implementation in a\n"
  "> > separate\n"
- "> > \t\302\240\302\240asm-generic header and patched all arches to make use of it\n"
+ "> > \t??asm-generic header and patched all arches to make use of it\n"
  "> > \t- Removed PCI drivers patches from the series to simplify the\n"
- "> > \t\302\240\302\240review, they will be posted separately once the\n"
+ "> > \t??review, they will be posted separately once the\n"
  "> > ioremap_nopost()\n"
- "> > \t\302\240\302\240interface is settled\n"
+ "> > \t??interface is settled\n"
  "> > \t- Fixed devm_ioremap_* BUS offset comments and implemented\n"
- "> > \t\302\240\302\240nopost interface on top of it\n"
+ "> > \t??nopost interface on top of it\n"
  "> > \t- Added collected tags\n"
  "> > \n"
  "> > v1: https://lkml.org/lkml/2017/2/27/228\n"
  "> > \n"
  "> > v1 -> v2:\n"
  "> > \t- Changed pci_remap_cfgspace() to more generic ioremap_nopost()\n"
- "> > \t\302\240\302\240interface\n"
+ "> > \t??interface\n"
  "> > \t- Added pgprot_nonposted\n"
  "> > \t- Fixed build errors on arches not relying on asm-generic\n"
  "> > headers\n"
@@ -151,14 +127,14 @@
  "> > This patch series[1] addresses both issues in one go:\n"
  "> > \n"
  "> > - It updates the pci_remap_iospace() function to use a page mapping\n"
- "> > \302\240 that guarantees non-posted write transactions for I/O space\n"
+ "> > ? that guarantees non-posted write transactions for I/O space\n"
  "> > addresses\n"
  "> > - It adds a kernel API to remap PCI config space resources, so that\n"
- "> > \302\240 architecture can override it with a mapping implementation that\n"
- "> > \302\240 guarantees PCI specifications compliancy wrt non-posted write\n"
- "> > \302\240 configuration transactions\n"
+ "> > ? architecture can override it with a mapping implementation that\n"
+ "> > ? guarantees PCI specifications compliancy wrt non-posted write\n"
+ "> > ? configuration transactions\n"
  "> > - It updates all PCI host controller implementations (and the generic\n"
- "> > \302\240 ECAM layer) to use the newly introduced mapping interface\n"
+ "> > ? ECAM layer) to use the newly introduced mapping interface\n"
  "> > \n"
  "> > Tested on Juno ECAM based interface (DT/ACPI).\n"
  "> > \n"
@@ -167,85 +143,85 @@
  "> > \n"
  "> > - I patched the correct resource region mapping for config space\n"
  "> > - There are not any other ways to ensure posted-write completion\n"
- "> > \302\240 in the respective pci_ops that make the relevant patch unnecessary\n"
+ "> > ? in the respective pci_ops that make the relevant patch unnecessary\n"
  "> > \n"
  "> > [1]\n"
  "> > git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git\n"
  "> > pci/config-io-mappings-fix-v3\n"
  "> > \n"
  "> > Lorenzo Pieralisi (32):\n"
- "> > \302\240 PCI: remove __weak tag from pci_remap_iospace()\n"
- "> > \302\240 asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute\n"
- "> > \302\240 PCI: fix pci_remap_iospace() remap attribute\n"
- "> > \302\240 asm-generic: add ioremap_nopost() remap interface\n"
- "> > \302\240 alpha: include default ioremap_nopost() implementation\n"
- "> > \302\240 avr32: include default ioremap_nopost() implementation\n"
- "> > \302\240 arc: include default ioremap_nopost() implementation\n"
- "> > \302\240 cris: include default ioremap_nopost() implementation\n"
- "> > \302\240 frv: include default ioremap_nopost() implementation\n"
- "> > \302\240 hexagon: include default ioremap_nopost() implementation\n"
- "> > \302\240 ia64: include default ioremap_nopost() implementation\n"
- "> > \302\240 m32r: include default ioremap_nopost() implementation\n"
- "> > \302\240 m68k: include default ioremap_nopost() implementation\n"
- "> > \302\240 metag: include default ioremap_nopost() implementation\n"
- "> > \302\240 microblaze: include default ioremap_nopost() implementation\n"
- "> > \302\240 mips: include default ioremap_nopost() implementation\n"
- "> > \302\240 mn10300: include default ioremap_nopost() implementation\n"
- "> > \302\240 nios2: include default ioremap_nopost() implementation\n"
- "> > \302\240 openrisc: include default ioremap_nopost() implementation\n"
- "> > \302\240 parisc: include default ioremap_nopost() implementation\n"
- "> > \302\240 powerpc: include default ioremap_nopost() implementation\n"
- "> > \302\240 s390: include default ioremap_nopost() implementation\n"
- "> > \302\240 sh: include default ioremap_nopost() implementation\n"
- "> > \302\240 sparc: include default ioremap_nopost() implementation\n"
- "> > \302\240 tile: include default ioremap_nopost() implementation\n"
- "> > \302\240 unicore32: include default ioremap_nopost() implementation\n"
- "> > \302\240 x86: include default ioremap_nopost() implementation\n"
- "> > \302\240 xtensa: include default ioremap_nopost() implementation\n"
- "> > \302\240 arm64: implement ioremap_nopost() interface\n"
- "> > \302\240 arm: implement ioremap_nopost() interface\n"
- "> > \302\240 lib: fix Devres devm_ioremap_* offset parameter kerneldoc\n"
+ "> > ? PCI: remove __weak tag from pci_remap_iospace()\n"
+ "> > ? asm-generic/pgtable.h: introduce pgprot_nonposted remap attribute\n"
+ "> > ? PCI: fix pci_remap_iospace() remap attribute\n"
+ "> > ? asm-generic: add ioremap_nopost() remap interface\n"
+ "> > ? alpha: include default ioremap_nopost() implementation\n"
+ "> > ? avr32: include default ioremap_nopost() implementation\n"
+ "> > ? arc: include default ioremap_nopost() implementation\n"
+ "> > ? cris: include default ioremap_nopost() implementation\n"
+ "> > ? frv: include default ioremap_nopost() implementation\n"
+ "> > ? hexagon: include default ioremap_nopost() implementation\n"
+ "> > ? ia64: include default ioremap_nopost() implementation\n"
+ "> > ? m32r: include default ioremap_nopost() implementation\n"
+ "> > ? m68k: include default ioremap_nopost() implementation\n"
+ "> > ? metag: include default ioremap_nopost() implementation\n"
+ "> > ? microblaze: include default ioremap_nopost() implementation\n"
+ "> > ? mips: include default ioremap_nopost() implementation\n"
+ "> > ? mn10300: include default ioremap_nopost() implementation\n"
+ "> > ? nios2: include default ioremap_nopost() implementation\n"
+ "> > ? openrisc: include default ioremap_nopost() implementation\n"
+ "> > ? parisc: include default ioremap_nopost() implementation\n"
+ "> > ? powerpc: include default ioremap_nopost() implementation\n"
+ "> > ? s390: include default ioremap_nopost() implementation\n"
+ "> > ? sh: include default ioremap_nopost() implementation\n"
+ "> > ? sparc: include default ioremap_nopost() implementation\n"
+ "> > ? tile: include default ioremap_nopost() implementation\n"
+ "> > ? unicore32: include default ioremap_nopost() implementation\n"
+ "> > ? x86: include default ioremap_nopost() implementation\n"
+ "> > ? xtensa: include default ioremap_nopost() implementation\n"
+ "> > ? arm64: implement ioremap_nopost() interface\n"
+ "> > ? arm: implement ioremap_nopost() interface\n"
+ "> > ? lib: fix Devres devm_ioremap_* offset parameter kerneldoc\n"
  "> > description\n"
- "> > \302\240 lib: implement Devres ioremap_nopost() interface\n"
+ "> > ? lib: implement Devres ioremap_nopost() interface\n"
  "> > \n"
- "> > \302\240Documentation/driver-model/devres.txt |\302\240\302\2403 ++\n"
- "> > \302\240arch/alpha/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/arc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/arm/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240arch/arm/mm/ioremap.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2407 +++\n"
- "> > \302\240arch/arm/mm/nommu.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240arch/arm64/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 12 +++++\n"
- "> > \302\240arch/avr32/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/cris/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/frv/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/hexagon/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/ia64/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/m32r/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/m68k/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/metag/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/microblaze/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/mips/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/mn10300/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/nios2/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/openrisc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240arch/parisc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/powerpc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/s390/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/sh/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/sparc/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/tile/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/unicore32/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/x86/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240arch/xtensa/include/asm/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n"
- "> > \302\240drivers/pci/pci.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 +-\n"
- "> > \302\240include/asm-generic/ioremap-nopost.h\302\240\302\240|\302\240\302\2409 ++++\n"
- "> > \302\240include/asm-generic/pgtable.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2404 ++\n"
- "> > \302\240include/linux/device.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240include/linux/io.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2402 +\n"
- "> > \302\240lib/devres.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 84\n"
+ "> > ?Documentation/driver-model/devres.txt |??3 ++\n"
+ "> > ?arch/alpha/include/asm/io.h???????????|??1 +\n"
+ "> > ?arch/arc/include/asm/io.h?????????????|??1 +\n"
+ "> > ?arch/arm/include/asm/io.h?????????????|??9 ++++\n"
+ "> > ?arch/arm/mm/ioremap.c?????????????????|??7 +++\n"
+ "> > ?arch/arm/mm/nommu.c???????????????????|??9 ++++\n"
+ "> > ?arch/arm64/include/asm/io.h???????????| 12 +++++\n"
+ "> > ?arch/avr32/include/asm/io.h???????????|??1 +\n"
+ "> > ?arch/cris/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/frv/include/asm/io.h?????????????|??1 +\n"
+ "> > ?arch/hexagon/include/asm/io.h?????????|??2 +\n"
+ "> > ?arch/ia64/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/m32r/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/m68k/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/metag/include/asm/io.h???????????|??2 +\n"
+ "> > ?arch/microblaze/include/asm/io.h??????|??1 +\n"
+ "> > ?arch/mips/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/mn10300/include/asm/io.h?????????|??1 +\n"
+ "> > ?arch/nios2/include/asm/io.h???????????|??1 +\n"
+ "> > ?arch/openrisc/include/asm/io.h????????|??2 +\n"
+ "> > ?arch/parisc/include/asm/io.h??????????|??1 +\n"
+ "> > ?arch/powerpc/include/asm/io.h?????????|??1 +\n"
+ "> > ?arch/s390/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/sh/include/asm/io.h??????????????|??1 +\n"
+ "> > ?arch/sparc/include/asm/io.h???????????|??1 +\n"
+ "> > ?arch/tile/include/asm/io.h????????????|??1 +\n"
+ "> > ?arch/unicore32/include/asm/io.h???????|??1 +\n"
+ "> > ?arch/x86/include/asm/io.h?????????????|??1 +\n"
+ "> > ?arch/xtensa/include/asm/io.h??????????|??1 +\n"
+ "> > ?drivers/pci/pci.c?????????????????????|??4 +-\n"
+ "> > ?include/asm-generic/ioremap-nopost.h??|??9 ++++\n"
+ "> > ?include/asm-generic/pgtable.h?????????|??4 ++\n"
+ "> > ?include/linux/device.h????????????????|??2 +\n"
+ "> > ?include/linux/io.h????????????????????|??2 +\n"
+ "> > ?lib/devres.c??????????????????????????| 84\n"
  "> > +++++++++++++++++++++++++++++++++--\n"
- "> > \302\24035 files changed, 167 insertions(+), 5 deletions(-)\n"
- "> > \302\240create mode 100644 include/asm-generic/ioremap-nopost.h\n"
+ "> > ?35 files changed, 167 insertions(+), 5 deletions(-)\n"
+ "> > ?create mode 100644 include/asm-generic/ioremap-nopost.h\n"
  > >
 
-1b367d87c4f35bd7c92992471e5826d5ede4ddfd7bd12a4a9b69e66ae706feec
+4ce4581fb4af6f32114e259feb863d06f87c2c63ac4549148138aa775d654c79

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.