All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1491917906.7236.7.camel@kernel.crashing.org>

diff --git a/a/1.txt b/N1/1.txt
index fdab112..191f723 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,181 +1,149 @@
-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
-break in subtle way when it cannot be provided.
-
-What exactly are you trying to fix here ?
-
-If a given PCIe host bridge (architecture specific) require a special
-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 ;)
-
-> v2 -> v3:
-> 	- Created a default ioremap_nopost() implementation in a
-> separate
-> 	  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
-> ioremap_nopost()
-> 	  interface is settled
-> 	- Fixed devm_ioremap_* BUS offset comments and implemented
-> 	  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
-> 	- 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
-> "posted" write transactions. Likewise, the current
-> pci_remap_iospace()
-> implementation maps the physical address range that the PCI
-> translates
-> to I/O space cycles to virtual address space through pgprot_device()
-> 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
-> 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
-> - It updates all PCI host controller implementations (and the generic
->   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
-> 
-> [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
-> 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
-> +++++++++++++++++++++++++++++++++--
->  35 files changed, 167 insertions(+), 5 deletions(-)
->  create 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
+T24gVHVlLCAyMDE3LTA0LTExIGF0IDEzOjI4ICswMTAwLCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90
+ZToKPiBUaGlzIHBhdGNoIHNlcmllc1sxXSBpcyBhIHYzIG9mIGEgcHJldmlvdXMgdmVyc2lvbjoK
+PiAKPiB2MjogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTcvMy8yNy8yMjAKCkkgYW0gbm90IGEg
+ZmFuIG9mIHRoaXMgYXQgQWxsLgoKVGhhdCB3aG9sZSBjb25jZXB0IG9mICJpb3JlbWFwX25vcG9z
+dCIgaXMgc2ltcGx5IG5vdCBhcHBsaWNhYmxlIHRvIHRoZQptYWpvcml0eSBvZiBhcmNoaXRlY3R1
+cmVzIGFuZCBjZXJ0YWlubHkgbm90IGluIGEgd2F5IHRoYXQgY2FuIGFwcGx5IHRvCmFyYml0cmFy
+eSBtYXBwaW5ncy4KCkl0J3MgYWxzbyB2ZXJ5IHdyb25nIHRvIHByb3ZpZGUgYSAiZGVmYXVsdCIg
+b3BlcmF0aW9uIHdob3NlIHNlbWFudGljcwphcmUgd2Vha2VyIHRoYW4gd2hhdCBpdCdzIHN1cHBv
+c2VkIHRvIGltcGxlbWVudC4gVmVyeSB3cm9uZyBhY3R1YWxseS4KUGVvcGxlIHdpbGwgdXNlIGl0
+IGFzc3VtaW5nIHRoZSBub24tcG9zdGVkIGJlaGF2aW91ciBhbmQgdGhpbmdzIHdpbGwKYnJlYWsg
+aW4gc3VidGxlIHdheSB3aGVuIGl0IGNhbm5vdCBiZSBwcm92aWRlZC4KCldoYXQgZXhhY3RseSBh
+cmUgeW91IHRyeWluZyB0byBmaXggaGVyZSA/CgpJZiBhIGdpdmVuIFBDSWUgaG9zdCBicmlkZ2Ug
+KGFyY2hpdGVjdHVyZSBzcGVjaWZpYykgcmVxdWlyZSBhIHNwZWNpYWwKc2F1Y2UgdG8gcHJvdmlk
+ZSB0aGUgaWxsdXNpb24gb2Ygbm9uLXBvc3RpbmcsIHRoZW4gaW1wbGVtZW50IHRoaXMgaW4KdGhl
+IGFjdHVhbCByb290IGNvbXBsZXggY29kZS4KCkJUVy4gSSdtIHByZXR0eSBzdXJlIHdlICJhY2Np
+ZGVudGFsbHkiIG1hZGUgY29uZmlnIHdyaXRlcyBwb3N0ZWQgYXQKbGVhc3QgdG8gdGhlIFBIQiBv
+biBhIG51bWJlciBvZiBwb3dlcnBjIHN5c3RlbXMgZm9yZXZlciBhbmQgd2UgKm5ldmVyKgpoYWQg
+YSBwcm9ibGVtIGJlY2F1c2Ugb2YgaXQgOykKCj4gdjIgLT4gdjM6Cj4gCS0gQ3JlYXRlZCBhIGRl
+ZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlvbiBpbiBhCj4gc2VwYXJhdGUKPiAJ
+wqDCoGFzbS1nZW5lcmljIGhlYWRlciBhbmQgcGF0Y2hlZCBhbGwgYXJjaGVzIHRvIG1ha2UgdXNl
+IG9mIGl0Cj4gCS0gUmVtb3ZlZCBQQ0kgZHJpdmVycyBwYXRjaGVzIGZyb20gdGhlIHNlcmllcyB0
+byBzaW1wbGlmeSB0aGUKPiAJwqDCoHJldmlldywgdGhleSB3aWxsIGJlIHBvc3RlZCBzZXBhcmF0
+ZWx5IG9uY2UgdGhlCj4gaW9yZW1hcF9ub3Bvc3QoKQo+IAnCoMKgaW50ZXJmYWNlIGlzIHNldHRs
+ZWQKPiAJLSBGaXhlZCBkZXZtX2lvcmVtYXBfKiBCVVMgb2Zmc2V0IGNvbW1lbnRzIGFuZCBpbXBs
+ZW1lbnRlZAo+IAnCoMKgbm9wb3N0IGludGVyZmFjZSBvbiB0b3Agb2YgaXQKPiAJLSBBZGRlZCBj
+b2xsZWN0ZWQgdGFncwo+IAo+IHYxOiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNy8yLzI3LzIy
+OAo+IAo+IHYxIC0+IHYyOgo+IAktIENoYW5nZWQgcGNpX3JlbWFwX2NmZ3NwYWNlKCkgdG8gbW9y
+ZSBnZW5lcmljIGlvcmVtYXBfbm9wb3N0KCkKPiAJwqDCoGludGVyZmFjZQo+IAktIEFkZGVkIHBn
+cHJvdF9ub25wb3N0ZWQKPiAJLSBGaXhlZCBidWlsZCBlcnJvcnMgb24gYXJjaGVzIG5vdCByZWx5
+aW5nIG9uIGFzbS1nZW5lcmljCj4gaGVhZGVycwo+IAktIEFkZGVkIFBDSSB2ZXJzYXRpbGUgaG9z
+dCBjb250cm9sbGVyIGRyaXZlciBwYXRjaAo+IAktIEFkZGVkIG1pc3NpbmcgY29uZmlnIHNwYWNl
+IHJlbWFwcGluZyB0byBoaXNpbGljb24gaG9zdAo+IGNvbnRyb2xsZXIKPiAKPiAtLS0tLS0tLS0t
+LS0tLS0tLS0tLS0KPiBPcmlnaW5hbCBjb3ZlciBsZXR0ZXIKPiAtLS0tLS0tLS0tLS0tLS0tLS0t
+LS0KPiAKPiBQQ0kgbG9jYWwgYnVzIHNwZWNpZmljYXRpb25zIChSZXYzLjAsIDMuMi41ICJUcmFu
+c2FjdGlvbiBPcmRlcmluZwo+IGFuZCBQb3N0aW5nIikgc3RyaWN0bHkgcmVxdWlyZSBQQ0kgY29u
+ZmlndXJhdGlvbiBhbmQgSS9PIEFkZHJlc3MKPiBzcGFjZQo+IHdyaXRlIHRyYW5zYWN0aW9ucyB0
+byBiZSBub24tcG9zdGVkLgo+IAo+IEN1cnJlbnQgY3JvcCBvZiBEVC9BQ1BJIFBDSSBob3N0IGNv
+bnRyb2xsZXJzIGRyaXZlcnMgcmVsaWVzIG9uCj4gdGhlIGlvcmVtYXAgaW50ZXJmYWNlIHRvIG1h
+cCBFQ0FNIGFuZCBFQ0FNLWRlcml2YXRpdmUgUENJIGNvbmZpZwo+IHJlZ2lvbnMgYW5kIHBjaV9y
+ZW1hcF9pb3NwYWNlKCkgdG8gY3JlYXRlIGEgVk1BIGZvciBtYXBwaW5nCj4gUENJIGhvc3QgYnJp
+ZGdlIEkvTyBBZGRyZXNzIHNwYWNlIHRyYW5zYWN0aW9ucyB0byBDUFUgdmlydHVhbCBhZGRyZXNz
+Cj4gc3BhY2UuCj4gCj4gT24gc29tZSBwbGF0Zm9ybXMgKGllIEFSTS9BUk02NCkgaW9yZW1hcCBm
+YWlscyB0byBjb21wbHkgd2l0aCB0aGUgUENJCj4gY29uZmlndXJhdGlvbiBub24tcG9zdGVkIHdy
+aXRlIHRyYW5zYWN0aW9ucyByZXF1aXJlbWVudCwgYmVjYXVzZSBpdAo+IHByb3ZpZGVzIGEgbWVt
+b3J5IG1hcHBpbmcgdGhhdCBpc3N1ZXMgImJ1ZmZlcmFibGUiIG9yLCBpbiBQQ0kgdGVybXMKPiAi
+cG9zdGVkIiB3cml0ZSB0cmFuc2FjdGlvbnMuIExpa2V3aXNlLCB0aGUgY3VycmVudAo+IHBjaV9y
+ZW1hcF9pb3NwYWNlKCkKPiBpbXBsZW1lbnRhdGlvbiBtYXBzIHRoZSBwaHlzaWNhbCBhZGRyZXNz
+IHJhbmdlIHRoYXQgdGhlIFBDSQo+IHRyYW5zbGF0ZXMKPiB0byBJL08gc3BhY2UgY3ljbGVzIHRv
+IHZpcnR1YWwgYWRkcmVzcyBzcGFjZSB0aHJvdWdoIHBncHJvdF9kZXZpY2UoKQo+IGF0dHJpYnV0
+ZXMgdGhhdCBvbiBlZyBBUk02NCBwcm92aWRlcyBhIG1lbW9yeSBtYXBwaW5nIGlzc3VpbmcKPiBw
+b3N0ZWQgd3JpdGVzIHRyYW5zYWN0aW9ucywgd2hpY2ggaXMgbm90IFBDSSBzcGVjaWZpY2F0aW9u
+cwo+IGNvbXBsaWFudC4KPiAKPiBUaGlzIHBhdGNoIHNlcmllc1sxXSBhZGRyZXNzZXMgYm90aCBp
+c3N1ZXMgaW4gb25lIGdvOgo+IAo+IC0gSXQgdXBkYXRlcyB0aGUgcGNpX3JlbWFwX2lvc3BhY2Uo
+KSBmdW5jdGlvbiB0byB1c2UgYSBwYWdlIG1hcHBpbmcKPiDCoCB0aGF0IGd1YXJhbnRlZXMgbm9u
+LXBvc3RlZCB3cml0ZSB0cmFuc2FjdGlvbnMgZm9yIEkvTyBzcGFjZQo+IGFkZHJlc3Nlcwo+IC0g
+SXQgYWRkcyBhIGtlcm5lbCBBUEkgdG8gcmVtYXAgUENJIGNvbmZpZyBzcGFjZSByZXNvdXJjZXMs
+IHNvIHRoYXQKPiDCoCBhcmNoaXRlY3R1cmUgY2FuIG92ZXJyaWRlIGl0IHdpdGggYSBtYXBwaW5n
+IGltcGxlbWVudGF0aW9uIHRoYXQKPiDCoCBndWFyYW50ZWVzIFBDSSBzcGVjaWZpY2F0aW9ucyBj
+b21wbGlhbmN5IHdydCBub24tcG9zdGVkIHdyaXRlCj4gwqAgY29uZmlndXJhdGlvbiB0cmFuc2Fj
+dGlvbnMKPiAtIEl0IHVwZGF0ZXMgYWxsIFBDSSBob3N0IGNvbnRyb2xsZXIgaW1wbGVtZW50YXRp
+b25zIChhbmQgdGhlIGdlbmVyaWMKPiDCoCBFQ0FNIGxheWVyKSB0byB1c2UgdGhlIG5ld2x5IGlu
+dHJvZHVjZWQgbWFwcGluZyBpbnRlcmZhY2UKPiAKPiBUZXN0ZWQgb24gSnVubyBFQ0FNIGJhc2Vk
+IGludGVyZmFjZSAoRFQvQUNQSSkuCj4gCj4gTm9uLUVDQU0gUENJIGhvc3QgY29udHJvbGxlciBk
+cml2ZXJzIHBhdGNoZXMgbmVlZCBjaGVja2luZyB0byBtYWtlCj4gc3VyZSB0aGF0Ogo+IAo+IC0g
+SSBwYXRjaGVkIHRoZSBjb3JyZWN0IHJlc291cmNlIHJlZ2lvbiBtYXBwaW5nIGZvciBjb25maWcg
+c3BhY2UKPiAtIFRoZXJlIGFyZSBub3QgYW55IG90aGVyIHdheXMgdG8gZW5zdXJlIHBvc3RlZC13
+cml0ZSBjb21wbGV0aW9uCj4gwqAgaW4gdGhlIHJlc3BlY3RpdmUgcGNpX29wcyB0aGF0IG1ha2Ug
+dGhlIHJlbGV2YW50IHBhdGNoIHVubmVjZXNzYXJ5Cj4gCj4gWzFdCj4gZ2l0Oi8vZ2l0Lmtlcm5l
+bC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2xwaWVyYWxpc2kvbGludXguZ2l0Cj4gcGNp
+L2NvbmZpZy1pby1tYXBwaW5ncy1maXgtdjMKPiAKPiBMb3JlbnpvIFBpZXJhbGlzaSAoMzIpOgo+
+IMKgIFBDSTogcmVtb3ZlIF9fd2VhayB0YWcgZnJvbSBwY2lfcmVtYXBfaW9zcGFjZSgpCj4gwqAg
+YXNtLWdlbmVyaWMvcGd0YWJsZS5oOiBpbnRyb2R1Y2UgcGdwcm90X25vbnBvc3RlZCByZW1hcCBh
+dHRyaWJ1dGUKPiDCoCBQQ0k6IGZpeCBwY2lfcmVtYXBfaW9zcGFjZSgpIHJlbWFwIGF0dHJpYnV0
+ZQo+IMKgIGFzbS1nZW5lcmljOiBhZGQgaW9yZW1hcF9ub3Bvc3QoKSByZW1hcCBpbnRlcmZhY2UK
+PiDCoCBhbHBoYTogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRp
+b24KPiDCoCBhdnIzMjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50
+YXRpb24KPiDCoCBhcmM6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVu
+dGF0aW9uCj4gwqAgY3JpczogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVt
+ZW50YXRpb24KPiDCoCBmcnY6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxl
+bWVudGF0aW9uCj4gwqAgaGV4YWdvbjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkg
+aW1wbGVtZW50YXRpb24KPiDCoCBpYTY0OiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3Qo
+KSBpbXBsZW1lbnRhdGlvbgo+IMKgIG0zMnI6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9z
+dCgpIGltcGxlbWVudGF0aW9uCj4gwqAgbTY4azogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9w
+b3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBtZXRhZzogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBf
+bm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBtaWNyb2JsYXplOiBpbmNsdWRlIGRlZmF1bHQg
+aW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlvbgo+IMKgIG1pcHM6IGluY2x1ZGUgZGVmYXVs
+dCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVudGF0aW9uCj4gwqAgbW4xMDMwMDogaW5jbHVkZSBk
+ZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBuaW9zMjogaW5jbHVk
+ZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBvcGVucmlzYzog
+aW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBwYXJp
+c2M6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVudGF0aW9uCj4gwqAg
+cG93ZXJwYzogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24K
+PiDCoCBzMzkwOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlv
+bgo+IMKgIHNoOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlv
+bgo+IMKgIHNwYXJjOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRh
+dGlvbgo+IMKgIHRpbGU6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVu
+dGF0aW9uCj4gwqAgdW5pY29yZTMyOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBp
+bXBsZW1lbnRhdGlvbgo+IMKgIHg4NjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkg
+aW1wbGVtZW50YXRpb24KPiDCoCB4dGVuc2E6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9z
+dCgpIGltcGxlbWVudGF0aW9uCj4gwqAgYXJtNjQ6IGltcGxlbWVudCBpb3JlbWFwX25vcG9zdCgp
+IGludGVyZmFjZQo+IMKgIGFybTogaW1wbGVtZW50IGlvcmVtYXBfbm9wb3N0KCkgaW50ZXJmYWNl
+Cj4gwqAgbGliOiBmaXggRGV2cmVzIGRldm1faW9yZW1hcF8qIG9mZnNldCBwYXJhbWV0ZXIga2Vy
+bmVsZG9jCj4gZGVzY3JpcHRpb24KPiDCoCBsaWI6IGltcGxlbWVudCBEZXZyZXMgaW9yZW1hcF9u
+b3Bvc3QoKSBpbnRlcmZhY2UKPiAKPiDCoERvY3VtZW50YXRpb24vZHJpdmVyLW1vZGVsL2RldnJl
+cy50eHQgfMKgwqAzICsrCj4gwqBhcmNoL2FscGhhL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKg
+wqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvYXJjL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDC
+oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2FybS9pbmNsdWRlL2FzbS9pby5o
+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDkgKysrKwo+IMKgYXJjaC9hcm0vbW0vaW9y
+ZW1hcC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgNyArKysKPiDCoGFy
+Y2gvYXJtL21tL25vbW11LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzC
+oMKgOSArKysrCj4gwqBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKg
+wqDCoMKgfCAxMiArKysrKwo+IMKgYXJjaC9hdnIzMi9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDC
+oMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2NyaXMvaW5jbHVkZS9hc20vaW8uaMKgwqDC
+oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2Zydi9pbmNsdWRlL2FzbS9pby5o
+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9oZXhhZ29uL2luY2x1
+ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgYXJjaC9pYTY0L2luY2x1
+ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9tMzJy
+L2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJj
+aC9tNjhrL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+
+IMKgYXJjaC9tZXRhZy9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKg
+MiArCj4gwqBhcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoHzCoMKg
+MSArCj4gwqBhcmNoL21pcHMvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
+oHzCoMKgMSArCj4gwqBhcmNoL21uMTAzMDAvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKg
+wqDCoHzCoMKgMSArCj4gwqBhcmNoL25pb3MyL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDC
+oMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvb3BlbnJpc2MvaW5jbHVkZS9hc20vaW8uaMKgwqDC
+oMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vaW8uaMKgwqDC
+oMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9pby5o
+wqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvczM5MC9pbmNsdWRlL2FzbS9pby5o
+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvc2gvaW5jbHVkZS9hc20v
+aW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9zcGFyYy9p
+bmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL3Rp
+bGUvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBh
+cmNoL3VuaWNvcmUzMi9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKg
+YXJjaC94ODYvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAx
+ICsKPiDCoGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoHzC
+oMKgMSArCj4gwqBkcml2ZXJzL3BjaS9wY2kuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
+oMKgwqDCoMKgwqDCoHzCoMKgNCArLQo+IMKgaW5jbHVkZS9hc20tZ2VuZXJpYy9pb3JlbWFwLW5v
+cG9zdC5owqDCoHzCoMKgOSArKysrCj4gwqBpbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaMKg
+wqDCoMKgwqDCoMKgwqDCoHzCoMKgNCArKwo+IMKgaW5jbHVkZS9saW51eC9kZXZpY2UuaMKgwqDC
+oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAyICsKPiDCoGluY2x1ZGUvbGludXgvaW8u
+aMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgbGli
+L2RldnJlcy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
+wqDCoHwgODQKPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+IMKgMzUgZmls
+ZXMgY2hhbmdlZCwgMTY3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gwqBjcmVhdGUg
+bW9kZSAxMDA2NDQgaW5jbHVkZS9hc20tZ2VuZXJpYy9pb3JlbWFwLW5vcG9zdC5oCj4gCgpfX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy
+bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0
+cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs
+Cg==
diff --git a/a/content_digest b/N1/content_digest
index 36bf506..889838e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -27,189 +27,179 @@
   Matt Turner <mattst88@gmail.com>
   Haavard Skinnemoen <hskinnemoen@gmail.com>
   Fenghua Yu <fenghua.yu@intel.com>
- " James Hogan <james.hoga>\0"
+  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, 2017-04-11 at 13:28 +0100, Lorenzo Pieralisi wrote:\n"
- "> This patch series[1] is a v3 of a previous version:\n"
- "> \n"
- "> v2: https://lkml.org/lkml/2017/3/27/220\n"
- "\n"
- "I am not a fan of this at All.\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"
- "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"
- "break in subtle way when it cannot be provided.\n"
- "\n"
- "What exactly are you trying to fix here ?\n"
- "\n"
- "If a given PCIe host bridge (architecture specific) require a special\n"
- "sauce to provide the illusion of non-posting, then implement this in\n"
- "the actual root complex code.\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"
- "\n"
- "> 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- Removed PCI drivers patches from the series to simplify the\n"
- "> \t\302\240\302\240review, they will be posted separately once the\n"
- "> ioremap_nopost()\n"
- "> \t\302\240\302\240interface 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- 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- 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"
- "> Original cover letter\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"
- "> 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"
- "> 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"
- "> \"posted\" write transactions. Likewise, the current\n"
- "> pci_remap_iospace()\n"
- "> implementation maps the physical address range that the PCI\n"
- "> translates\n"
- "> to I/O space cycles to virtual address space through pgprot_device()\n"
- "> attributes that on eg ARM64 provides a memory mapping issuing\n"
- "> posted writes transactions, which is not PCI specifications\n"
- "> compliant.\n"
- "> \n"
- "> 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"
- "> 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"
- "> - It updates all PCI host controller implementations (and the generic\n"
- "> \302\240 ECAM layer) to use the newly introduced mapping interface\n"
- "> \n"
- "> Tested on Juno ECAM based interface (DT/ACPI).\n"
- "> \n"
- "> Non-ECAM PCI host controller drivers patches need checking to make\n"
- "> sure that:\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"
- "> [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"
- "> 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"
- "> +++++++++++++++++++++++++++++++++--\n"
- "> \302\24035 files changed, 167 insertions(+), 5 deletions(-)\n"
- "> \302\240create mode 100644 include/asm-generic/ioremap-nopost.h\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
+ "T24gVHVlLCAyMDE3LTA0LTExIGF0IDEzOjI4ICswMTAwLCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90\n"
+ "ZToKPiBUaGlzIHBhdGNoIHNlcmllc1sxXSBpcyBhIHYzIG9mIGEgcHJldmlvdXMgdmVyc2lvbjoK\n"
+ "PiAKPiB2MjogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTcvMy8yNy8yMjAKCkkgYW0gbm90IGEg\n"
+ "ZmFuIG9mIHRoaXMgYXQgQWxsLgoKVGhhdCB3aG9sZSBjb25jZXB0IG9mICJpb3JlbWFwX25vcG9z\n"
+ "dCIgaXMgc2ltcGx5IG5vdCBhcHBsaWNhYmxlIHRvIHRoZQptYWpvcml0eSBvZiBhcmNoaXRlY3R1\n"
+ "cmVzIGFuZCBjZXJ0YWlubHkgbm90IGluIGEgd2F5IHRoYXQgY2FuIGFwcGx5IHRvCmFyYml0cmFy\n"
+ "eSBtYXBwaW5ncy4KCkl0J3MgYWxzbyB2ZXJ5IHdyb25nIHRvIHByb3ZpZGUgYSAiZGVmYXVsdCIg\n"
+ "b3BlcmF0aW9uIHdob3NlIHNlbWFudGljcwphcmUgd2Vha2VyIHRoYW4gd2hhdCBpdCdzIHN1cHBv\n"
+ "c2VkIHRvIGltcGxlbWVudC4gVmVyeSB3cm9uZyBhY3R1YWxseS4KUGVvcGxlIHdpbGwgdXNlIGl0\n"
+ "IGFzc3VtaW5nIHRoZSBub24tcG9zdGVkIGJlaGF2aW91ciBhbmQgdGhpbmdzIHdpbGwKYnJlYWsg\n"
+ "aW4gc3VidGxlIHdheSB3aGVuIGl0IGNhbm5vdCBiZSBwcm92aWRlZC4KCldoYXQgZXhhY3RseSBh\n"
+ "cmUgeW91IHRyeWluZyB0byBmaXggaGVyZSA/CgpJZiBhIGdpdmVuIFBDSWUgaG9zdCBicmlkZ2Ug\n"
+ "KGFyY2hpdGVjdHVyZSBzcGVjaWZpYykgcmVxdWlyZSBhIHNwZWNpYWwKc2F1Y2UgdG8gcHJvdmlk\n"
+ "ZSB0aGUgaWxsdXNpb24gb2Ygbm9uLXBvc3RpbmcsIHRoZW4gaW1wbGVtZW50IHRoaXMgaW4KdGhl\n"
+ "IGFjdHVhbCByb290IGNvbXBsZXggY29kZS4KCkJUVy4gSSdtIHByZXR0eSBzdXJlIHdlICJhY2Np\n"
+ "ZGVudGFsbHkiIG1hZGUgY29uZmlnIHdyaXRlcyBwb3N0ZWQgYXQKbGVhc3QgdG8gdGhlIFBIQiBv\n"
+ "biBhIG51bWJlciBvZiBwb3dlcnBjIHN5c3RlbXMgZm9yZXZlciBhbmQgd2UgKm5ldmVyKgpoYWQg\n"
+ "YSBwcm9ibGVtIGJlY2F1c2Ugb2YgaXQgOykKCj4gdjIgLT4gdjM6Cj4gCS0gQ3JlYXRlZCBhIGRl\n"
+ "ZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlvbiBpbiBhCj4gc2VwYXJhdGUKPiAJ\n"
+ "wqDCoGFzbS1nZW5lcmljIGhlYWRlciBhbmQgcGF0Y2hlZCBhbGwgYXJjaGVzIHRvIG1ha2UgdXNl\n"
+ "IG9mIGl0Cj4gCS0gUmVtb3ZlZCBQQ0kgZHJpdmVycyBwYXRjaGVzIGZyb20gdGhlIHNlcmllcyB0\n"
+ "byBzaW1wbGlmeSB0aGUKPiAJwqDCoHJldmlldywgdGhleSB3aWxsIGJlIHBvc3RlZCBzZXBhcmF0\n"
+ "ZWx5IG9uY2UgdGhlCj4gaW9yZW1hcF9ub3Bvc3QoKQo+IAnCoMKgaW50ZXJmYWNlIGlzIHNldHRs\n"
+ "ZWQKPiAJLSBGaXhlZCBkZXZtX2lvcmVtYXBfKiBCVVMgb2Zmc2V0IGNvbW1lbnRzIGFuZCBpbXBs\n"
+ "ZW1lbnRlZAo+IAnCoMKgbm9wb3N0IGludGVyZmFjZSBvbiB0b3Agb2YgaXQKPiAJLSBBZGRlZCBj\n"
+ "b2xsZWN0ZWQgdGFncwo+IAo+IHYxOiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNy8yLzI3LzIy\n"
+ "OAo+IAo+IHYxIC0+IHYyOgo+IAktIENoYW5nZWQgcGNpX3JlbWFwX2NmZ3NwYWNlKCkgdG8gbW9y\n"
+ "ZSBnZW5lcmljIGlvcmVtYXBfbm9wb3N0KCkKPiAJwqDCoGludGVyZmFjZQo+IAktIEFkZGVkIHBn\n"
+ "cHJvdF9ub25wb3N0ZWQKPiAJLSBGaXhlZCBidWlsZCBlcnJvcnMgb24gYXJjaGVzIG5vdCByZWx5\n"
+ "aW5nIG9uIGFzbS1nZW5lcmljCj4gaGVhZGVycwo+IAktIEFkZGVkIFBDSSB2ZXJzYXRpbGUgaG9z\n"
+ "dCBjb250cm9sbGVyIGRyaXZlciBwYXRjaAo+IAktIEFkZGVkIG1pc3NpbmcgY29uZmlnIHNwYWNl\n"
+ "IHJlbWFwcGluZyB0byBoaXNpbGljb24gaG9zdAo+IGNvbnRyb2xsZXIKPiAKPiAtLS0tLS0tLS0t\n"
+ "LS0tLS0tLS0tLS0KPiBPcmlnaW5hbCBjb3ZlciBsZXR0ZXIKPiAtLS0tLS0tLS0tLS0tLS0tLS0t\n"
+ "LS0KPiAKPiBQQ0kgbG9jYWwgYnVzIHNwZWNpZmljYXRpb25zIChSZXYzLjAsIDMuMi41ICJUcmFu\n"
+ "c2FjdGlvbiBPcmRlcmluZwo+IGFuZCBQb3N0aW5nIikgc3RyaWN0bHkgcmVxdWlyZSBQQ0kgY29u\n"
+ "ZmlndXJhdGlvbiBhbmQgSS9PIEFkZHJlc3MKPiBzcGFjZQo+IHdyaXRlIHRyYW5zYWN0aW9ucyB0\n"
+ "byBiZSBub24tcG9zdGVkLgo+IAo+IEN1cnJlbnQgY3JvcCBvZiBEVC9BQ1BJIFBDSSBob3N0IGNv\n"
+ "bnRyb2xsZXJzIGRyaXZlcnMgcmVsaWVzIG9uCj4gdGhlIGlvcmVtYXAgaW50ZXJmYWNlIHRvIG1h\n"
+ "cCBFQ0FNIGFuZCBFQ0FNLWRlcml2YXRpdmUgUENJIGNvbmZpZwo+IHJlZ2lvbnMgYW5kIHBjaV9y\n"
+ "ZW1hcF9pb3NwYWNlKCkgdG8gY3JlYXRlIGEgVk1BIGZvciBtYXBwaW5nCj4gUENJIGhvc3QgYnJp\n"
+ "ZGdlIEkvTyBBZGRyZXNzIHNwYWNlIHRyYW5zYWN0aW9ucyB0byBDUFUgdmlydHVhbCBhZGRyZXNz\n"
+ "Cj4gc3BhY2UuCj4gCj4gT24gc29tZSBwbGF0Zm9ybXMgKGllIEFSTS9BUk02NCkgaW9yZW1hcCBm\n"
+ "YWlscyB0byBjb21wbHkgd2l0aCB0aGUgUENJCj4gY29uZmlndXJhdGlvbiBub24tcG9zdGVkIHdy\n"
+ "aXRlIHRyYW5zYWN0aW9ucyByZXF1aXJlbWVudCwgYmVjYXVzZSBpdAo+IHByb3ZpZGVzIGEgbWVt\n"
+ "b3J5IG1hcHBpbmcgdGhhdCBpc3N1ZXMgImJ1ZmZlcmFibGUiIG9yLCBpbiBQQ0kgdGVybXMKPiAi\n"
+ "cG9zdGVkIiB3cml0ZSB0cmFuc2FjdGlvbnMuIExpa2V3aXNlLCB0aGUgY3VycmVudAo+IHBjaV9y\n"
+ "ZW1hcF9pb3NwYWNlKCkKPiBpbXBsZW1lbnRhdGlvbiBtYXBzIHRoZSBwaHlzaWNhbCBhZGRyZXNz\n"
+ "IHJhbmdlIHRoYXQgdGhlIFBDSQo+IHRyYW5zbGF0ZXMKPiB0byBJL08gc3BhY2UgY3ljbGVzIHRv\n"
+ "IHZpcnR1YWwgYWRkcmVzcyBzcGFjZSB0aHJvdWdoIHBncHJvdF9kZXZpY2UoKQo+IGF0dHJpYnV0\n"
+ "ZXMgdGhhdCBvbiBlZyBBUk02NCBwcm92aWRlcyBhIG1lbW9yeSBtYXBwaW5nIGlzc3VpbmcKPiBw\n"
+ "b3N0ZWQgd3JpdGVzIHRyYW5zYWN0aW9ucywgd2hpY2ggaXMgbm90IFBDSSBzcGVjaWZpY2F0aW9u\n"
+ "cwo+IGNvbXBsaWFudC4KPiAKPiBUaGlzIHBhdGNoIHNlcmllc1sxXSBhZGRyZXNzZXMgYm90aCBp\n"
+ "c3N1ZXMgaW4gb25lIGdvOgo+IAo+IC0gSXQgdXBkYXRlcyB0aGUgcGNpX3JlbWFwX2lvc3BhY2Uo\n"
+ "KSBmdW5jdGlvbiB0byB1c2UgYSBwYWdlIG1hcHBpbmcKPiDCoCB0aGF0IGd1YXJhbnRlZXMgbm9u\n"
+ "LXBvc3RlZCB3cml0ZSB0cmFuc2FjdGlvbnMgZm9yIEkvTyBzcGFjZQo+IGFkZHJlc3Nlcwo+IC0g\n"
+ "SXQgYWRkcyBhIGtlcm5lbCBBUEkgdG8gcmVtYXAgUENJIGNvbmZpZyBzcGFjZSByZXNvdXJjZXMs\n"
+ "IHNvIHRoYXQKPiDCoCBhcmNoaXRlY3R1cmUgY2FuIG92ZXJyaWRlIGl0IHdpdGggYSBtYXBwaW5n\n"
+ "IGltcGxlbWVudGF0aW9uIHRoYXQKPiDCoCBndWFyYW50ZWVzIFBDSSBzcGVjaWZpY2F0aW9ucyBj\n"
+ "b21wbGlhbmN5IHdydCBub24tcG9zdGVkIHdyaXRlCj4gwqAgY29uZmlndXJhdGlvbiB0cmFuc2Fj\n"
+ "dGlvbnMKPiAtIEl0IHVwZGF0ZXMgYWxsIFBDSSBob3N0IGNvbnRyb2xsZXIgaW1wbGVtZW50YXRp\n"
+ "b25zIChhbmQgdGhlIGdlbmVyaWMKPiDCoCBFQ0FNIGxheWVyKSB0byB1c2UgdGhlIG5ld2x5IGlu\n"
+ "dHJvZHVjZWQgbWFwcGluZyBpbnRlcmZhY2UKPiAKPiBUZXN0ZWQgb24gSnVubyBFQ0FNIGJhc2Vk\n"
+ "IGludGVyZmFjZSAoRFQvQUNQSSkuCj4gCj4gTm9uLUVDQU0gUENJIGhvc3QgY29udHJvbGxlciBk\n"
+ "cml2ZXJzIHBhdGNoZXMgbmVlZCBjaGVja2luZyB0byBtYWtlCj4gc3VyZSB0aGF0Ogo+IAo+IC0g\n"
+ "SSBwYXRjaGVkIHRoZSBjb3JyZWN0IHJlc291cmNlIHJlZ2lvbiBtYXBwaW5nIGZvciBjb25maWcg\n"
+ "c3BhY2UKPiAtIFRoZXJlIGFyZSBub3QgYW55IG90aGVyIHdheXMgdG8gZW5zdXJlIHBvc3RlZC13\n"
+ "cml0ZSBjb21wbGV0aW9uCj4gwqAgaW4gdGhlIHJlc3BlY3RpdmUgcGNpX29wcyB0aGF0IG1ha2Ug\n"
+ "dGhlIHJlbGV2YW50IHBhdGNoIHVubmVjZXNzYXJ5Cj4gCj4gWzFdCj4gZ2l0Oi8vZ2l0Lmtlcm5l\n"
+ "bC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2xwaWVyYWxpc2kvbGludXguZ2l0Cj4gcGNp\n"
+ "L2NvbmZpZy1pby1tYXBwaW5ncy1maXgtdjMKPiAKPiBMb3JlbnpvIFBpZXJhbGlzaSAoMzIpOgo+\n"
+ "IMKgIFBDSTogcmVtb3ZlIF9fd2VhayB0YWcgZnJvbSBwY2lfcmVtYXBfaW9zcGFjZSgpCj4gwqAg\n"
+ "YXNtLWdlbmVyaWMvcGd0YWJsZS5oOiBpbnRyb2R1Y2UgcGdwcm90X25vbnBvc3RlZCByZW1hcCBh\n"
+ "dHRyaWJ1dGUKPiDCoCBQQ0k6IGZpeCBwY2lfcmVtYXBfaW9zcGFjZSgpIHJlbWFwIGF0dHJpYnV0\n"
+ "ZQo+IMKgIGFzbS1nZW5lcmljOiBhZGQgaW9yZW1hcF9ub3Bvc3QoKSByZW1hcCBpbnRlcmZhY2UK\n"
+ "PiDCoCBhbHBoYTogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRp\n"
+ "b24KPiDCoCBhdnIzMjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50\n"
+ "YXRpb24KPiDCoCBhcmM6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVu\n"
+ "dGF0aW9uCj4gwqAgY3JpczogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVt\n"
+ "ZW50YXRpb24KPiDCoCBmcnY6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxl\n"
+ "bWVudGF0aW9uCj4gwqAgaGV4YWdvbjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkg\n"
+ "aW1wbGVtZW50YXRpb24KPiDCoCBpYTY0OiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3Qo\n"
+ "KSBpbXBsZW1lbnRhdGlvbgo+IMKgIG0zMnI6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9z\n"
+ "dCgpIGltcGxlbWVudGF0aW9uCj4gwqAgbTY4azogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9w\n"
+ "b3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBtZXRhZzogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBf\n"
+ "bm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBtaWNyb2JsYXplOiBpbmNsdWRlIGRlZmF1bHQg\n"
+ "aW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlvbgo+IMKgIG1pcHM6IGluY2x1ZGUgZGVmYXVs\n"
+ "dCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVudGF0aW9uCj4gwqAgbW4xMDMwMDogaW5jbHVkZSBk\n"
+ "ZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBuaW9zMjogaW5jbHVk\n"
+ "ZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBvcGVucmlzYzog\n"
+ "aW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24KPiDCoCBwYXJp\n"
+ "c2M6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVudGF0aW9uCj4gwqAg\n"
+ "cG93ZXJwYzogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkgaW1wbGVtZW50YXRpb24K\n"
+ "PiDCoCBzMzkwOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlv\n"
+ "bgo+IMKgIHNoOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRhdGlv\n"
+ "bgo+IMKgIHNwYXJjOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBpbXBsZW1lbnRh\n"
+ "dGlvbgo+IMKgIHRpbGU6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9zdCgpIGltcGxlbWVu\n"
+ "dGF0aW9uCj4gwqAgdW5pY29yZTMyOiBpbmNsdWRlIGRlZmF1bHQgaW9yZW1hcF9ub3Bvc3QoKSBp\n"
+ "bXBsZW1lbnRhdGlvbgo+IMKgIHg4NjogaW5jbHVkZSBkZWZhdWx0IGlvcmVtYXBfbm9wb3N0KCkg\n"
+ "aW1wbGVtZW50YXRpb24KPiDCoCB4dGVuc2E6IGluY2x1ZGUgZGVmYXVsdCBpb3JlbWFwX25vcG9z\n"
+ "dCgpIGltcGxlbWVudGF0aW9uCj4gwqAgYXJtNjQ6IGltcGxlbWVudCBpb3JlbWFwX25vcG9zdCgp\n"
+ "IGludGVyZmFjZQo+IMKgIGFybTogaW1wbGVtZW50IGlvcmVtYXBfbm9wb3N0KCkgaW50ZXJmYWNl\n"
+ "Cj4gwqAgbGliOiBmaXggRGV2cmVzIGRldm1faW9yZW1hcF8qIG9mZnNldCBwYXJhbWV0ZXIga2Vy\n"
+ "bmVsZG9jCj4gZGVzY3JpcHRpb24KPiDCoCBsaWI6IGltcGxlbWVudCBEZXZyZXMgaW9yZW1hcF9u\n"
+ "b3Bvc3QoKSBpbnRlcmZhY2UKPiAKPiDCoERvY3VtZW50YXRpb24vZHJpdmVyLW1vZGVsL2RldnJl\n"
+ "cy50eHQgfMKgwqAzICsrCj4gwqBhcmNoL2FscGhhL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKg\n"
+ "wqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvYXJjL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2FybS9pbmNsdWRlL2FzbS9pby5o\n"
+ "wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDkgKysrKwo+IMKgYXJjaC9hcm0vbW0vaW9y\n"
+ "ZW1hcC5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgNyArKysKPiDCoGFy\n"
+ "Y2gvYXJtL21tL25vbW11LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzC\n"
+ "oMKgOSArKysrCj4gwqBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKg\n"
+ "wqDCoMKgfCAxMiArKysrKwo+IMKgYXJjaC9hdnIzMi9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2NyaXMvaW5jbHVkZS9hc20vaW8uaMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL2Zydi9pbmNsdWRlL2FzbS9pby5o\n"
+ "wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9oZXhhZ29uL2luY2x1\n"
+ "ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgYXJjaC9pYTY0L2luY2x1\n"
+ "ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9tMzJy\n"
+ "L2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJj\n"
+ "aC9tNjhrL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+\n"
+ "IMKgYXJjaC9tZXRhZy9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKg\n"
+ "MiArCj4gwqBhcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoHzCoMKg\n"
+ "MSArCj4gwqBhcmNoL21pcHMvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC\n"
+ "oHzCoMKgMSArCj4gwqBhcmNoL21uMTAzMDAvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKg\n"
+ "wqDCoHzCoMKgMSArCj4gwqBhcmNoL25pb3MyL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDC\n"
+ "oMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvb3BlbnJpc2MvaW5jbHVkZS9hc20vaW8uaMKgwqDC\n"
+ "oMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vaW8uaMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9pby5o\n"
+ "wqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvczM5MC9pbmNsdWRlL2FzbS9pby5o\n"
+ "wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxICsKPiDCoGFyY2gvc2gvaW5jbHVkZS9hc20v\n"
+ "aW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKgYXJjaC9zcGFyYy9p\n"
+ "bmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBhcmNoL3Rp\n"
+ "bGUvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMSArCj4gwqBh\n"
+ "cmNoL3VuaWNvcmUzMi9pbmNsdWRlL2FzbS9pby5owqDCoMKgwqDCoMKgwqB8wqDCoDEgKwo+IMKg\n"
+ "YXJjaC94ODYvaW5jbHVkZS9hc20vaW8uaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAx\n"
+ "ICsKPiDCoGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL2lvLmjCoMKgwqDCoMKgwqDCoMKgwqDCoHzC\n"
+ "oMKgMSArCj4gwqBkcml2ZXJzL3BjaS9wY2kuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoHzCoMKgNCArLQo+IMKgaW5jbHVkZS9hc20tZ2VuZXJpYy9pb3JlbWFwLW5v\n"
+ "cG9zdC5owqDCoHzCoMKgOSArKysrCj4gwqBpbmNsdWRlL2FzbS1nZW5lcmljL3BndGFibGUuaMKg\n"
+ "wqDCoMKgwqDCoMKgwqDCoHzCoMKgNCArKwo+IMKgaW5jbHVkZS9saW51eC9kZXZpY2UuaMKgwqDC\n"
+ "oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAyICsKPiDCoGluY2x1ZGUvbGludXgvaW8u\n"
+ "aMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDIgKwo+IMKgbGli\n"
+ "L2RldnJlcy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg\n"
+ "wqDCoHwgODQKPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+IMKgMzUgZmls\n"
+ "ZXMgY2hhbmdlZCwgMTY3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gwqBjcmVhdGUg\n"
+ "bW9kZSAxMDA2NDQgaW5jbHVkZS9hc20tZ2VuZXJpYy9pb3JlbWFwLW5vcG9zdC5oCj4gCgpfX19f\n"
+ "X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy\n"
+ "bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0\n"
+ "cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs\n"
+ Cg==
 
-b9c210a7eaa66949f43020505d10c26670e3ad662003275e5f518ff89e2fbabe
+4ebb9f14a671848e4cdb9eff828f6b9cdbaec870664c45ea763db967516f7bb2

diff --git a/a/1.txt b/N2/1.txt
index fdab112..587c508 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -27,20 +27,20 @@ had a problem because of it ;)
 > 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
@@ -78,14 +78,14 @@ had a problem because of it ;)
 > 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).
 > 
@@ -94,88 +94,83 @@ had a problem because of it ;)
 > 
 > - 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
-> 
->  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
+> ? 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
 > +++++++++++++++++++++++++++++++++--
->  35 files changed, 167 insertions(+), 5 deletions(-)
->  create 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
+> ?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 36bf506..c98b8dd 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,33 +1,8 @@
  "ref\020170411122923.6285-1-lorenzo.pieralisi@arm.com\0"
- "From\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0"
- "Subject\0Re: [PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0"
+ "From\0benh@kernel.crashing.org (Benjamin Herrenschmidt)\0"
+ "Subject\0[PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0"
  "Date\0Tue, 11 Apr 2017 23:38:26 +1000\0"
- "To\0Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>"
- " linux-pci@vger.kernel.org\0"
- "Cc\0Jonas Bonn <jonas@southpole.se>"
-  Rich Felker <dalias@libc.org>
-  Catalin Marinas <catalin.marinas@arm.com>
-  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>
-  Matt Turner <mattst88@gmail.com>
-  Haavard Skinnemoen <hskinnemoen@gmail.com>
-  Fenghua Yu <fenghua.yu@intel.com>
- " James Hogan <james.hoga>\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "On Tue, 2017-04-11 at 13:28 +0100, Lorenzo Pieralisi wrote:\n"
@@ -59,20 +34,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"
@@ -110,14 +85,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"
@@ -126,90 +101,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"
- "> \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"
+ "> ? lib: implement Devres ioremap_nopost() interface\n"
+ "> \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"
- "> \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
+ "> ?35 files changed, 167 insertions(+), 5 deletions(-)\n"
+ "> ?create mode 100644 include/asm-generic/ioremap-nopost.h\n"
+ >
 
-b9c210a7eaa66949f43020505d10c26670e3ad662003275e5f518ff89e2fbabe
+42125c0e633314ad99e7a71bf542ee0541fca5fe3bd56d4c0c8320ff4efbea22

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.