All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: tglx@linutronix.de, mingo@kernel.org, hpa@zytor.com
Cc: linux-fbdev@vger.kernel.org, David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	kbuild test robot <fengguang.wu@intel.com>,
	Lv Zheng <lv.zheng@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Benjamin Romer <benjamin.romer@unisys.com>,
	hch@lst.de, linux-arch@vger.kernel.org,
	linux-nvdimm@lists.01.org, Joerg Roedel <joro@8bytes.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Bob Moore <robert.moore@intel.com>,
	Mike Waychison <mikew@google.com>,
	Roland Dreier <roland@purestorage.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	rmk+kernel@arm.linux.org.uk,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	David Kershner <david.kershner@unisys.com>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	intel-gfx@lists.freedesktop.org, Len Brown <lenb@kernel.org>,
	Joerg Roedel <jroedel@suse.de>, Arnd Bergmann <arnd@arndb.de>,
	"Luis R. Rodriguez" <mcgrof@suse.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Borislav Petkov <bp@alien8.de>, Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Tony Luck <tony.luck@intel.com>,
	toshi.kani@hp.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jonathan Buzzard <jonathan@buzzard.org.uk>,
	linux-kernel@vger.kernel.org, Mike Travis <travis@sgi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brian Norris <computersforpeace@gmail.com>,
	David Woodhouse <dwmw2@infradead.org>
Subject: [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap
Date: Fri, 24 Jul 2015 22:37:54 -0400	[thread overview]
Message-ID: <20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)

Changes since v1 [1]:

1/ Drop the attempt at unifying ioremap() prototypes, just focus on
   converting ioremap_cache and ioremap_wt over to memremap (Christoph)

2/ Drop the unrelated cleanups to use %pa in __ioremap_caller (Thomas)

3/ Add support for memremap() attempts on "System RAM" to simply return
   the kernel virtual address for that range.  ARM depends on this
   functionality in ioremap_cache() and ACPI was open coding a similar
   solution. (Mark)

4/ Split the conversions of ioremap_{cache|wt} into separate patches per
   driver / arch.

5/ Fix bisection breakage and other reports from 0day-kbuild

---
While developing the pmem driver we noticed that the __iomem annotation
on the return value from ioremap_cache() was being mishandled by several
callers.  We also observed that all of the call sites expected to be
able to treat the return value from ioremap_cache() as normal
(non-__iomem) pointer to memory.

This patchset takes the opportunity to clean up the above confusion as
well as a few issues with the ioremap_{cache|wt} interface, including:

1/ Eliminating the possibility of function prototypes differing between
   architectures by defining a central memremap() prototype that takes
   flags to determine the mapping type.

2/ Returning NULL rather than falling back silently to a different
   mapping-type.  This allows drivers to be stricter about the
   mapping-type fallbacks that are permissible.

[1]: http://marc.info/?l=linux-arm-kernel&m=143735199029255&w=2

---

Dan Williams (22):
      mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed'
      arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
      cleanup IORESOURCE_CACHEABLE vs ioremap()
      intel_iommu: fix leaked ioremap mapping
      arch: introduce memremap()
      arm: switch from ioremap_cache to memremap
      x86: switch from ioremap_cache to memremap
      gma500: switch from acpi_os_ioremap to ioremap
      i915: switch from acpi_os_ioremap to ioremap
      acpi: switch from ioremap_cache to memremap
      toshiba laptop: replace ioremap_cache with ioremap
      memconsole: fix __iomem mishandling, switch to memremap
      visorbus: switch from ioremap_cache to memremap
      intel-iommu: switch from ioremap_cache to memremap
      libnvdimm, pmem: switch from ioremap_cache to memremap
      pxa2xx-flash: switch from ioremap_cache to memremap
      sfi: switch from ioremap_cache to memremap
      fbdev: switch from ioremap_wt to memremap
      pmem: switch from ioremap_wt to memremap
      arch: remove ioremap_cache, replace with arch_memremap
      arch: remove ioremap_wt, replace with arch_memremap
      pmem: convert to generic memremap

Toshi Kani (3):
      mm, x86: Fix warning in ioremap RAM check
      mm, x86: Remove region_is_ram() call from ioremap
      mm: Fix bugs in region_is_ram()


 arch/arc/include/asm/io.h                      |    1 
 arch/arm/Kconfig                               |    1 
 arch/arm/include/asm/io.h                      |   13 +++-
 arch/arm/include/asm/xen/page.h                |    4 +
 arch/arm/mach-clps711x/board-cdb89712.c        |    2 -
 arch/arm/mach-shmobile/pm-rcar.c               |    2 -
 arch/arm/mm/ioremap.c                          |   12 +++-
 arch/arm/mm/nommu.c                            |   11 ++-
 arch/arm64/Kconfig                             |    1 
 arch/arm64/include/asm/acpi.h                  |   10 +--
 arch/arm64/include/asm/dmi.h                   |    8 +--
 arch/arm64/include/asm/io.h                    |    8 ++-
 arch/arm64/kernel/efi.c                        |    9 ++-
 arch/arm64/kernel/smp_spin_table.c             |   19 +++---
 arch/arm64/mm/ioremap.c                        |   20 ++----
 arch/avr32/include/asm/io.h                    |    1 
 arch/frv/Kconfig                               |    1 
 arch/frv/include/asm/io.h                      |   17 ++---
 arch/frv/mm/kmap.c                             |    6 ++
 arch/ia64/Kconfig                              |    1 
 arch/ia64/include/asm/io.h                     |   11 +++
 arch/ia64/kernel/cyclone.c                     |    2 -
 arch/m32r/include/asm/io.h                     |    1 
 arch/m68k/Kconfig                              |    1 
 arch/m68k/include/asm/io_mm.h                  |   14 +---
 arch/m68k/include/asm/io_no.h                  |   12 ++--
 arch/m68k/include/asm/raw_io.h                 |    4 +
 arch/m68k/mm/kmap.c                            |   17 +++++
 arch/m68k/mm/sun3kmap.c                        |    6 ++
 arch/metag/include/asm/io.h                    |    3 -
 arch/microblaze/include/asm/io.h               |    1 
 arch/mn10300/include/asm/io.h                  |    1 
 arch/nios2/include/asm/io.h                    |    1 
 arch/powerpc/kernel/pci_of_scan.c              |    2 -
 arch/s390/include/asm/io.h                     |    1 
 arch/sh/Kconfig                                |    1 
 arch/sh/include/asm/io.h                       |   20 ++++--
 arch/sh/mm/ioremap.c                           |   10 +++
 arch/sparc/include/asm/io_32.h                 |    1 
 arch/sparc/include/asm/io_64.h                 |    1 
 arch/sparc/kernel/pci.c                        |    3 -
 arch/tile/include/asm/io.h                     |    1 
 arch/x86/Kconfig                               |    1 
 arch/x86/include/asm/efi.h                     |    3 +
 arch/x86/include/asm/io.h                      |   17 +++--
 arch/x86/kernel/crash_dump_64.c                |    6 +-
 arch/x86/kernel/kdebugfs.c                     |    8 +--
 arch/x86/kernel/ksysfs.c                       |   28 ++++-----
 arch/x86/mm/ioremap.c                          |   76 ++++++++++--------------
 arch/xtensa/Kconfig                            |    1 
 arch/xtensa/include/asm/io.h                   |    9 ++-
 drivers/acpi/apei/einj.c                       |    9 ++-
 drivers/acpi/apei/erst.c                       |    6 +-
 drivers/acpi/nvs.c                             |    6 +-
 drivers/acpi/osl.c                             |   70 ++++++----------------
 drivers/char/toshiba.c                         |    2 -
 drivers/firmware/google/memconsole.c           |    7 +-
 drivers/gpu/drm/gma500/opregion.c              |    2 -
 drivers/gpu/drm/i915/intel_opregion.c          |    2 -
 drivers/iommu/intel-iommu.c                    |   10 ++-
 drivers/iommu/intel_irq_remapping.c            |    4 +
 drivers/isdn/icn/icn.h                         |    2 -
 drivers/mtd/devices/slram.c                    |    2 -
 drivers/mtd/maps/pxa2xx-flash.c                |    4 +
 drivers/mtd/nand/diskonchip.c                  |    2 -
 drivers/mtd/onenand/generic.c                  |    2 -
 drivers/nvdimm/Kconfig                         |    2 -
 drivers/pci/probe.c                            |    3 -
 drivers/pnp/manager.c                          |    2 -
 drivers/scsi/aic94xx/aic94xx_init.c            |    7 --
 drivers/scsi/arcmsr/arcmsr_hba.c               |    5 --
 drivers/scsi/mvsas/mv_init.c                   |   15 +----
 drivers/scsi/sun3x_esp.c                       |    2 -
 drivers/sfi/sfi_core.c                         |    4 +
 drivers/staging/comedi/drivers/ii_pci20kc.c    |    1 
 drivers/staging/unisys/visorbus/visorchannel.c |   16 +++--
 drivers/staging/unisys/visorbus/visorchipset.c |   17 +++--
 drivers/tty/serial/8250/8250_core.c            |    2 -
 drivers/video/fbdev/Kconfig                    |    2 -
 drivers/video/fbdev/amifb.c                    |    5 +-
 drivers/video/fbdev/atafb.c                    |    5 +-
 drivers/video/fbdev/hpfb.c                     |    6 +-
 drivers/video/fbdev/ocfb.c                     |    1 
 drivers/video/fbdev/s1d13xxxfb.c               |    3 -
 drivers/video/fbdev/stifb.c                    |    1 
 include/acpi/acpi_io.h                         |    6 +-
 include/asm-generic/io.h                       |    8 ---
 include/asm-generic/iomap.h                    |    4 -
 include/linux/io-mapping.h                     |    2 -
 include/linux/io.h                             |    9 +++
 include/linux/mtd/map.h                        |    2 -
 include/linux/pmem.h                           |   26 +++++---
 include/video/vga.h                            |    2 -
 kernel/Makefile                                |    2 +
 kernel/memremap.c                              |   74 +++++++++++++++++++++++
 kernel/resource.c                              |   43 +++++++-------
 lib/Kconfig                                    |    5 +-
 lib/devres.c                                   |   13 +---
 lib/pci_iomap.c                                |    7 +-
 tools/testing/nvdimm/Kbuild                    |    4 +
 tools/testing/nvdimm/test/iomap.c              |   34 ++++++++---
 101 files changed, 482 insertions(+), 398 deletions(-)
 create mode 100644 kernel/memremap.c

WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: tglx@linutronix.de, mingo@kernel.org, hpa@zytor.com
Cc: linux-fbdev@vger.kernel.org, David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	kbuild test robot <fengguang.wu@intel.com>,
	Lv Zheng <lv.zheng@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Benjamin Romer <benjamin.romer@unisys.com>,
	hch@lst.de, linux-arch@vger.kernel.org, linux-nvdimm@ml01.01.org,
	Joerg Roedel <joro@8bytes.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Bob Moore <robert.moore@intel.com>,
	Mike Waychison <mikew@google.com>,
	Roland Dreier <roland@purestorage.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	rmk+kernel@arm.linux.org.uk,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	David Kershner <david.kershner@unisys.com>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	intel-gfx@lists.freedesktop.org, Len Brown <lenb@kernel.org>,
	Joerg Roedel <jroedel@suse.de>, Arnd Bergmann <arnd@arndb.de>,
	"Luis R. Rodriguez" <mcgrof@suse.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Borislav Petkov <bp@alien8.de>, Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	Tony Luck <tony.luck@intel.com>,
	toshi.kani@hp.com,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jonathan Buzzard <jonathan@buzzard.org.uk>,
	linux-kernel@vger.kernel.org, Mike Travis <travis@sgi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brian Norris <computersforpeace@gmail.com>,
	David Woodhouse <dwmw2@infradead.org>
Subject: [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap
Date: Fri, 24 Jul 2015 22:37:54 -0400	[thread overview]
Message-ID: <20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)

Changes since v1 [1]:

1/ Drop the attempt at unifying ioremap() prototypes, just focus on
   converting ioremap_cache and ioremap_wt over to memremap (Christoph)

2/ Drop the unrelated cleanups to use %pa in __ioremap_caller (Thomas)

3/ Add support for memremap() attempts on "System RAM" to simply return
   the kernel virtual address for that range.  ARM depends on this
   functionality in ioremap_cache() and ACPI was open coding a similar
   solution. (Mark)

4/ Split the conversions of ioremap_{cache|wt} into separate patches per
   driver / arch.

5/ Fix bisection breakage and other reports from 0day-kbuild

---
While developing the pmem driver we noticed that the __iomem annotation
on the return value from ioremap_cache() was being mishandled by several
callers.  We also observed that all of the call sites expected to be
able to treat the return value from ioremap_cache() as normal
(non-__iomem) pointer to memory.

This patchset takes the opportunity to clean up the above confusion as
well as a few issues with the ioremap_{cache|wt} interface, including:

1/ Eliminating the possibility of function prototypes differing between
   architectures by defining a central memremap() prototype that takes
   flags to determine the mapping type.

2/ Returning NULL rather than falling back silently to a different
   mapping-type.  This allows drivers to be stricter about the
   mapping-type fallbacks that are permissible.

[1]: http://marc.info/?l=linux-arm-kernel&m=143735199029255&w=2

---

Dan Williams (22):
      mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed'
      arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
      cleanup IORESOURCE_CACHEABLE vs ioremap()
      intel_iommu: fix leaked ioremap mapping
      arch: introduce memremap()
      arm: switch from ioremap_cache to memremap
      x86: switch from ioremap_cache to memremap
      gma500: switch from acpi_os_ioremap to ioremap
      i915: switch from acpi_os_ioremap to ioremap
      acpi: switch from ioremap_cache to memremap
      toshiba laptop: replace ioremap_cache with ioremap
      memconsole: fix __iomem mishandling, switch to memremap
      visorbus: switch from ioremap_cache to memremap
      intel-iommu: switch from ioremap_cache to memremap
      libnvdimm, pmem: switch from ioremap_cache to memremap
      pxa2xx-flash: switch from ioremap_cache to memremap
      sfi: switch from ioremap_cache to memremap
      fbdev: switch from ioremap_wt to memremap
      pmem: switch from ioremap_wt to memremap
      arch: remove ioremap_cache, replace with arch_memremap
      arch: remove ioremap_wt, replace with arch_memremap
      pmem: convert to generic memremap

Toshi Kani (3):
      mm, x86: Fix warning in ioremap RAM check
      mm, x86: Remove region_is_ram() call from ioremap
      mm: Fix bugs in region_is_ram()


 arch/arc/include/asm/io.h                      |    1 
 arch/arm/Kconfig                               |    1 
 arch/arm/include/asm/io.h                      |   13 +++-
 arch/arm/include/asm/xen/page.h                |    4 +
 arch/arm/mach-clps711x/board-cdb89712.c        |    2 -
 arch/arm/mach-shmobile/pm-rcar.c               |    2 -
 arch/arm/mm/ioremap.c                          |   12 +++-
 arch/arm/mm/nommu.c                            |   11 ++-
 arch/arm64/Kconfig                             |    1 
 arch/arm64/include/asm/acpi.h                  |   10 +--
 arch/arm64/include/asm/dmi.h                   |    8 +--
 arch/arm64/include/asm/io.h                    |    8 ++-
 arch/arm64/kernel/efi.c                        |    9 ++-
 arch/arm64/kernel/smp_spin_table.c             |   19 +++---
 arch/arm64/mm/ioremap.c                        |   20 ++----
 arch/avr32/include/asm/io.h                    |    1 
 arch/frv/Kconfig                               |    1 
 arch/frv/include/asm/io.h                      |   17 ++---
 arch/frv/mm/kmap.c                             |    6 ++
 arch/ia64/Kconfig                              |    1 
 arch/ia64/include/asm/io.h                     |   11 +++
 arch/ia64/kernel/cyclone.c                     |    2 -
 arch/m32r/include/asm/io.h                     |    1 
 arch/m68k/Kconfig                              |    1 
 arch/m68k/include/asm/io_mm.h                  |   14 +---
 arch/m68k/include/asm/io_no.h                  |   12 ++--
 arch/m68k/include/asm/raw_io.h                 |    4 +
 arch/m68k/mm/kmap.c                            |   17 +++++
 arch/m68k/mm/sun3kmap.c                        |    6 ++
 arch/metag/include/asm/io.h                    |    3 -
 arch/microblaze/include/asm/io.h               |    1 
 arch/mn10300/include/asm/io.h                  |    1 
 arch/nios2/include/asm/io.h                    |    1 
 arch/powerpc/kernel/pci_of_scan.c              |    2 -
 arch/s390/include/asm/io.h                     |    1 
 arch/sh/Kconfig                                |    1 
 arch/sh/include/asm/io.h                       |   20 ++++--
 arch/sh/mm/ioremap.c                           |   10 +++
 arch/sparc/include/asm/io_32.h                 |    1 
 arch/sparc/include/asm/io_64.h                 |    1 
 arch/sparc/kernel/pci.c                        |    3 -
 arch/tile/include/asm/io.h                     |    1 
 arch/x86/Kconfig                               |    1 
 arch/x86/include/asm/efi.h                     |    3 +
 arch/x86/include/asm/io.h                      |   17 +++--
 arch/x86/kernel/crash_dump_64.c                |    6 +-
 arch/x86/kernel/kdebugfs.c                     |    8 +--
 arch/x86/kernel/ksysfs.c                       |   28 ++++-----
 arch/x86/mm/ioremap.c                          |   76 ++++++++++--------------
 arch/xtensa/Kconfig                            |    1 
 arch/xtensa/include/asm/io.h                   |    9 ++-
 drivers/acpi/apei/einj.c                       |    9 ++-
 drivers/acpi/apei/erst.c                       |    6 +-
 drivers/acpi/nvs.c                             |    6 +-
 drivers/acpi/osl.c                             |   70 ++++++----------------
 drivers/char/toshiba.c                         |    2 -
 drivers/firmware/google/memconsole.c           |    7 +-
 drivers/gpu/drm/gma500/opregion.c              |    2 -
 drivers/gpu/drm/i915/intel_opregion.c          |    2 -
 drivers/iommu/intel-iommu.c                    |   10 ++-
 drivers/iommu/intel_irq_remapping.c            |    4 +
 drivers/isdn/icn/icn.h                         |    2 -
 drivers/mtd/devices/slram.c                    |    2 -
 drivers/mtd/maps/pxa2xx-flash.c                |    4 +
 drivers/mtd/nand/diskonchip.c                  |    2 -
 drivers/mtd/onenand/generic.c                  |    2 -
 drivers/nvdimm/Kconfig                         |    2 -
 drivers/pci/probe.c                            |    3 -
 drivers/pnp/manager.c                          |    2 -
 drivers/scsi/aic94xx/aic94xx_init.c            |    7 --
 drivers/scsi/arcmsr/arcmsr_hba.c               |    5 --
 drivers/scsi/mvsas/mv_init.c                   |   15 +----
 drivers/scsi/sun3x_esp.c                       |    2 -
 drivers/sfi/sfi_core.c                         |    4 +
 drivers/staging/comedi/drivers/ii_pci20kc.c    |    1 
 drivers/staging/unisys/visorbus/visorchannel.c |   16 +++--
 drivers/staging/unisys/visorbus/visorchipset.c |   17 +++--
 drivers/tty/serial/8250/8250_core.c            |    2 -
 drivers/video/fbdev/Kconfig                    |    2 -
 drivers/video/fbdev/amifb.c                    |    5 +-
 drivers/video/fbdev/atafb.c                    |    5 +-
 drivers/video/fbdev/hpfb.c                     |    6 +-
 drivers/video/fbdev/ocfb.c                     |    1 
 drivers/video/fbdev/s1d13xxxfb.c               |    3 -
 drivers/video/fbdev/stifb.c                    |    1 
 include/acpi/acpi_io.h                         |    6 +-
 include/asm-generic/io.h                       |    8 ---
 include/asm-generic/iomap.h                    |    4 -
 include/linux/io-mapping.h                     |    2 -
 include/linux/io.h                             |    9 +++
 include/linux/mtd/map.h                        |    2 -
 include/linux/pmem.h                           |   26 +++++---
 include/video/vga.h                            |    2 -
 kernel/Makefile                                |    2 +
 kernel/memremap.c                              |   74 +++++++++++++++++++++++
 kernel/resource.c                              |   43 +++++++-------
 lib/Kconfig                                    |    5 +-
 lib/devres.c                                   |   13 +---
 lib/pci_iomap.c                                |    7 +-
 tools/testing/nvdimm/Kbuild                    |    4 +
 tools/testing/nvdimm/test/iomap.c              |   34 ++++++++---
 101 files changed, 482 insertions(+), 398 deletions(-)
 create mode 100644 kernel/memremap.c

WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: tglx@linutronix.de, mingo@kernel.org, hpa@zytor.com
Cc: linux-fbdev@vger.kernel.org, David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	kbuild test robot <fengguang.wu@intel.com>,
	Lv Zheng <lv.zheng@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Benjamin Romer <benjamin.romer@unisys.com>,
	hch@lst.de, linux-arch@vger.kernel.org,
	linux-nvdimm@lists.01.org, Joerg Roedel <joro@8bytes.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Bob Moore <robert.moore@intel.com>,
	Mike Waychison <mikew@google.com>,
	Roland Dreier <roland@purestorage.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	rmk+kernel@arm.linux.org.uk,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	David Kershner <david.kershner@unisys.com>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	intel-gfx@lists.freedesktop.org, Len Brown <lenb@kernel.org>,
	Joerg Roedel <jroedel@suse.de>, Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap
Date: Fri, 24 Jul 2015 22:37:54 -0400	[thread overview]
Message-ID: <20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)

Changes since v1 [1]:

1/ Drop the attempt at unifying ioremap() prototypes, just focus on
   converting ioremap_cache and ioremap_wt over to memremap (Christoph)

2/ Drop the unrelated cleanups to use %pa in __ioremap_caller (Thomas)

3/ Add support for memremap() attempts on "System RAM" to simply return
   the kernel virtual address for that range.  ARM depends on this
   functionality in ioremap_cache() and ACPI was open coding a similar
   solution. (Mark)

4/ Split the conversions of ioremap_{cache|wt} into separate patches per
   driver / arch.

5/ Fix bisection breakage and other reports from 0day-kbuild

---
While developing the pmem driver we noticed that the __iomem annotation
on the return value from ioremap_cache() was being mishandled by several
callers.  We also observed that all of the call sites expected to be
able to treat the return value from ioremap_cache() as normal
(non-__iomem) pointer to memory.

This patchset takes the opportunity to clean up the above confusion as
well as a few issues with the ioremap_{cache|wt} interface, including:

1/ Eliminating the possibility of function prototypes differing between
   architectures by defining a central memremap() prototype that takes
   flags to determine the mapping type.

2/ Returning NULL rather than falling back silently to a different
   mapping-type.  This allows drivers to be stricter about the
   mapping-type fallbacks that are permissible.

[1]: http://marc.info/?l=linux-arm-kernel&m=143735199029255&w=2

---

Dan Williams (22):
      mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed'
      arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
      cleanup IORESOURCE_CACHEABLE vs ioremap()
      intel_iommu: fix leaked ioremap mapping
      arch: introduce memremap()
      arm: switch from ioremap_cache to memremap
      x86: switch from ioremap_cache to memremap
      gma500: switch from acpi_os_ioremap to ioremap
      i915: switch from acpi_os_ioremap to ioremap
      acpi: switch from ioremap_cache to memremap
      toshiba laptop: replace ioremap_cache with ioremap
      memconsole: fix __iomem mishandling, switch to memremap
      visorbus: switch from ioremap_cache to memremap
      intel-iommu: switch from ioremap_cache to memremap
      libnvdimm, pmem: switch from ioremap_cache to memremap
      pxa2xx-flash: switch from ioremap_cache to memremap
      sfi: switch from ioremap_cache to memremap
      fbdev: switch from ioremap_wt to memremap
      pmem: switch from ioremap_wt to memremap
      arch: remove ioremap_cache, replace with arch_memremap
      arch: remove ioremap_wt, replace with arch_memremap
      pmem: convert to generic memremap

Toshi Kani (3):
      mm, x86: Fix warning in ioremap RAM check
      mm, x86: Remove region_is_ram() call from ioremap
      mm: Fix bugs in region_is_ram()


 arch/arc/include/asm/io.h                      |    1 
 arch/arm/Kconfig                               |    1 
 arch/arm/include/asm/io.h                      |   13 +++-
 arch/arm/include/asm/xen/page.h                |    4 +
 arch/arm/mach-clps711x/board-cdb89712.c        |    2 -
 arch/arm/mach-shmobile/pm-rcar.c               |    2 -
 arch/arm/mm/ioremap.c                          |   12 +++-
 arch/arm/mm/nommu.c                            |   11 ++-
 arch/arm64/Kconfig                             |    1 
 arch/arm64/include/asm/acpi.h                  |   10 +--
 arch/arm64/include/asm/dmi.h                   |    8 +--
 arch/arm64/include/asm/io.h                    |    8 ++-
 arch/arm64/kernel/efi.c                        |    9 ++-
 arch/arm64/kernel/smp_spin_table.c             |   19 +++---
 arch/arm64/mm/ioremap.c                        |   20 ++----
 arch/avr32/include/asm/io.h                    |    1 
 arch/frv/Kconfig                               |    1 
 arch/frv/include/asm/io.h                      |   17 ++---
 arch/frv/mm/kmap.c                             |    6 ++
 arch/ia64/Kconfig                              |    1 
 arch/ia64/include/asm/io.h                     |   11 +++
 arch/ia64/kernel/cyclone.c                     |    2 -
 arch/m32r/include/asm/io.h                     |    1 
 arch/m68k/Kconfig                              |    1 
 arch/m68k/include/asm/io_mm.h                  |   14 +---
 arch/m68k/include/asm/io_no.h                  |   12 ++--
 arch/m68k/include/asm/raw_io.h                 |    4 +
 arch/m68k/mm/kmap.c                            |   17 +++++
 arch/m68k/mm/sun3kmap.c                        |    6 ++
 arch/metag/include/asm/io.h                    |    3 -
 arch/microblaze/include/asm/io.h               |    1 
 arch/mn10300/include/asm/io.h                  |    1 
 arch/nios2/include/asm/io.h                    |    1 
 arch/powerpc/kernel/pci_of_scan.c              |    2 -
 arch/s390/include/asm/io.h                     |    1 
 arch/sh/Kconfig                                |    1 
 arch/sh/include/asm/io.h                       |   20 ++++--
 arch/sh/mm/ioremap.c                           |   10 +++
 arch/sparc/include/asm/io_32.h                 |    1 
 arch/sparc/include/asm/io_64.h                 |    1 
 arch/sparc/kernel/pci.c                        |    3 -
 arch/tile/include/asm/io.h                     |    1 
 arch/x86/Kconfig                               |    1 
 arch/x86/include/asm/efi.h                     |    3 +
 arch/x86/include/asm/io.h                      |   17 +++--
 arch/x86/kernel/crash_dump_64.c                |    6 +-
 arch/x86/kernel/kdebugfs.c                     |    8 +--
 arch/x86/kernel/ksysfs.c                       |   28 ++++-----
 arch/x86/mm/ioremap.c                          |   76 ++++++++++--------------
 arch/xtensa/Kconfig                            |    1 
 arch/xtensa/include/asm/io.h                   |    9 ++-
 drivers/acpi/apei/einj.c                       |    9 ++-
 drivers/acpi/apei/erst.c                       |    6 +-
 drivers/acpi/nvs.c                             |    6 +-
 drivers/acpi/osl.c                             |   70 ++++++----------------
 drivers/char/toshiba.c                         |    2 -
 drivers/firmware/google/memconsole.c           |    7 +-
 drivers/gpu/drm/gma500/opregion.c              |    2 -
 drivers/gpu/drm/i915/intel_opregion.c          |    2 -
 drivers/iommu/intel-iommu.c                    |   10 ++-
 drivers/iommu/intel_irq_remapping.c            |    4 +
 drivers/isdn/icn/icn.h                         |    2 -
 drivers/mtd/devices/slram.c                    |    2 -
 drivers/mtd/maps/pxa2xx-flash.c                |    4 +
 drivers/mtd/nand/diskonchip.c                  |    2 -
 drivers/mtd/onenand/generic.c                  |    2 -
 drivers/nvdimm/Kconfig                         |    2 -
 drivers/pci/probe.c                            |    3 -
 drivers/pnp/manager.c                          |    2 -
 drivers/scsi/aic94xx/aic94xx_init.c            |    7 --
 drivers/scsi/arcmsr/arcmsr_hba.c               |    5 --
 drivers/scsi/mvsas/mv_init.c                   |   15 +----
 drivers/scsi/sun3x_esp.c                       |    2 -
 drivers/sfi/sfi_core.c                         |    4 +
 drivers/staging/comedi/drivers/ii_pci20kc.c    |    1 
 drivers/staging/unisys/visorbus/visorchannel.c |   16 +++--
 drivers/staging/unisys/visorbus/visorchipset.c |   17 +++--
 drivers/tty/serial/8250/8250_core.c            |    2 -
 drivers/video/fbdev/Kconfig                    |    2 -
 drivers/video/fbdev/amifb.c                    |    5 +-
 drivers/video/fbdev/atafb.c                    |    5 +-
 drivers/video/fbdev/hpfb.c                     |    6 +-
 drivers/video/fbdev/ocfb.c                     |    1 
 drivers/video/fbdev/s1d13xxxfb.c               |    3 -
 drivers/video/fbdev/stifb.c                    |    1 
 include/acpi/acpi_io.h                         |    6 +-
 include/asm-generic/io.h                       |    8 ---
 include/asm-generic/iomap.h                    |    4 -
 include/linux/io-mapping.h                     |    2 -
 include/linux/io.h                             |    9 +++
 include/linux/mtd/map.h                        |    2 -
 include/linux/pmem.h                           |   26 +++++---
 include/video/vga.h                            |    2 -
 kernel/Makefile                                |    2 +
 kernel/memremap.c                              |   74 +++++++++++++++++++++++
 kernel/resource.c                              |   43 +++++++-------
 lib/Kconfig                                    |    5 +-
 lib/devres.c                                   |   13 +---
 lib/pci_iomap.c                                |    7 +-
 tools/testing/nvdimm/Kbuild                    |    4 +
 tools/testing/nvdimm/test/iomap.c              |   34 ++++++++---
 101 files changed, 482 insertions(+), 398 deletions(-)
 create mode 100644 kernel/memremap.c

WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: tglx@linutronix.de, mingo@kernel.org, hpa@zytor.com
Cc: linux-fbdev@vger.kernel.org, David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org,
	kbuild test robot <fengguang.wu@intel.com>,
	Lv Zheng <lv.zheng@intel.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Benjamin Romer <benjamin.romer@unisys.com>,
	hch@lst.de, linux-arch@vger.kernel.org,
	linux-nvdimm@lists.01.org, Joerg Roedel <joro@8bytes.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Bob Moore <robert.moore@intel.com>,
	Mike Waychison <mikew@google.com>,
	Roland Dreier <roland@purestorage.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	rmk+kernel@arm.linux.org.uk,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	David Kershner <david.kershner@unisys.com>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	intel-gfx@lists.freedesktop.org, Len Brown <lenb@kernel.org>,
	Joerg Roedel <jroedel@suse.de>, Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap
Date: Sat, 25 Jul 2015 02:37:54 +0000	[thread overview]
Message-ID: <20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)

Changes since v1 [1]:

1/ Drop the attempt at unifying ioremap() prototypes, just focus on
   converting ioremap_cache and ioremap_wt over to memremap (Christoph)

2/ Drop the unrelated cleanups to use %pa in __ioremap_caller (Thomas)

3/ Add support for memremap() attempts on "System RAM" to simply return
   the kernel virtual address for that range.  ARM depends on this
   functionality in ioremap_cache() and ACPI was open coding a similar
   solution. (Mark)

4/ Split the conversions of ioremap_{cache|wt} into separate patches per
   driver / arch.

5/ Fix bisection breakage and other reports from 0day-kbuild

---
While developing the pmem driver we noticed that the __iomem annotation
on the return value from ioremap_cache() was being mishandled by several
callers.  We also observed that all of the call sites expected to be
able to treat the return value from ioremap_cache() as normal
(non-__iomem) pointer to memory.

This patchset takes the opportunity to clean up the above confusion as
well as a few issues with the ioremap_{cache|wt} interface, including:

1/ Eliminating the possibility of function prototypes differing between
   architectures by defining a central memremap() prototype that takes
   flags to determine the mapping type.

2/ Returning NULL rather than falling back silently to a different
   mapping-type.  This allows drivers to be stricter about the
   mapping-type fallbacks that are permissible.

[1]: http://marc.info/?l=linux-arm-kernel&m\x143735199029255&w=2

---

Dan Williams (22):
      mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed'
      arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
      cleanup IORESOURCE_CACHEABLE vs ioremap()
      intel_iommu: fix leaked ioremap mapping
      arch: introduce memremap()
      arm: switch from ioremap_cache to memremap
      x86: switch from ioremap_cache to memremap
      gma500: switch from acpi_os_ioremap to ioremap
      i915: switch from acpi_os_ioremap to ioremap
      acpi: switch from ioremap_cache to memremap
      toshiba laptop: replace ioremap_cache with ioremap
      memconsole: fix __iomem mishandling, switch to memremap
      visorbus: switch from ioremap_cache to memremap
      intel-iommu: switch from ioremap_cache to memremap
      libnvdimm, pmem: switch from ioremap_cache to memremap
      pxa2xx-flash: switch from ioremap_cache to memremap
      sfi: switch from ioremap_cache to memremap
      fbdev: switch from ioremap_wt to memremap
      pmem: switch from ioremap_wt to memremap
      arch: remove ioremap_cache, replace with arch_memremap
      arch: remove ioremap_wt, replace with arch_memremap
      pmem: convert to generic memremap

Toshi Kani (3):
      mm, x86: Fix warning in ioremap RAM check
      mm, x86: Remove region_is_ram() call from ioremap
      mm: Fix bugs in region_is_ram()


 arch/arc/include/asm/io.h                      |    1 
 arch/arm/Kconfig                               |    1 
 arch/arm/include/asm/io.h                      |   13 +++-
 arch/arm/include/asm/xen/page.h                |    4 +
 arch/arm/mach-clps711x/board-cdb89712.c        |    2 -
 arch/arm/mach-shmobile/pm-rcar.c               |    2 -
 arch/arm/mm/ioremap.c                          |   12 +++-
 arch/arm/mm/nommu.c                            |   11 ++-
 arch/arm64/Kconfig                             |    1 
 arch/arm64/include/asm/acpi.h                  |   10 +--
 arch/arm64/include/asm/dmi.h                   |    8 +--
 arch/arm64/include/asm/io.h                    |    8 ++-
 arch/arm64/kernel/efi.c                        |    9 ++-
 arch/arm64/kernel/smp_spin_table.c             |   19 +++---
 arch/arm64/mm/ioremap.c                        |   20 ++----
 arch/avr32/include/asm/io.h                    |    1 
 arch/frv/Kconfig                               |    1 
 arch/frv/include/asm/io.h                      |   17 ++---
 arch/frv/mm/kmap.c                             |    6 ++
 arch/ia64/Kconfig                              |    1 
 arch/ia64/include/asm/io.h                     |   11 +++
 arch/ia64/kernel/cyclone.c                     |    2 -
 arch/m32r/include/asm/io.h                     |    1 
 arch/m68k/Kconfig                              |    1 
 arch/m68k/include/asm/io_mm.h                  |   14 +---
 arch/m68k/include/asm/io_no.h                  |   12 ++--
 arch/m68k/include/asm/raw_io.h                 |    4 +
 arch/m68k/mm/kmap.c                            |   17 +++++
 arch/m68k/mm/sun3kmap.c                        |    6 ++
 arch/metag/include/asm/io.h                    |    3 -
 arch/microblaze/include/asm/io.h               |    1 
 arch/mn10300/include/asm/io.h                  |    1 
 arch/nios2/include/asm/io.h                    |    1 
 arch/powerpc/kernel/pci_of_scan.c              |    2 -
 arch/s390/include/asm/io.h                     |    1 
 arch/sh/Kconfig                                |    1 
 arch/sh/include/asm/io.h                       |   20 ++++--
 arch/sh/mm/ioremap.c                           |   10 +++
 arch/sparc/include/asm/io_32.h                 |    1 
 arch/sparc/include/asm/io_64.h                 |    1 
 arch/sparc/kernel/pci.c                        |    3 -
 arch/tile/include/asm/io.h                     |    1 
 arch/x86/Kconfig                               |    1 
 arch/x86/include/asm/efi.h                     |    3 +
 arch/x86/include/asm/io.h                      |   17 +++--
 arch/x86/kernel/crash_dump_64.c                |    6 +-
 arch/x86/kernel/kdebugfs.c                     |    8 +--
 arch/x86/kernel/ksysfs.c                       |   28 ++++-----
 arch/x86/mm/ioremap.c                          |   76 ++++++++++--------------
 arch/xtensa/Kconfig                            |    1 
 arch/xtensa/include/asm/io.h                   |    9 ++-
 drivers/acpi/apei/einj.c                       |    9 ++-
 drivers/acpi/apei/erst.c                       |    6 +-
 drivers/acpi/nvs.c                             |    6 +-
 drivers/acpi/osl.c                             |   70 ++++++----------------
 drivers/char/toshiba.c                         |    2 -
 drivers/firmware/google/memconsole.c           |    7 +-
 drivers/gpu/drm/gma500/opregion.c              |    2 -
 drivers/gpu/drm/i915/intel_opregion.c          |    2 -
 drivers/iommu/intel-iommu.c                    |   10 ++-
 drivers/iommu/intel_irq_remapping.c            |    4 +
 drivers/isdn/icn/icn.h                         |    2 -
 drivers/mtd/devices/slram.c                    |    2 -
 drivers/mtd/maps/pxa2xx-flash.c                |    4 +
 drivers/mtd/nand/diskonchip.c                  |    2 -
 drivers/mtd/onenand/generic.c                  |    2 -
 drivers/nvdimm/Kconfig                         |    2 -
 drivers/pci/probe.c                            |    3 -
 drivers/pnp/manager.c                          |    2 -
 drivers/scsi/aic94xx/aic94xx_init.c            |    7 --
 drivers/scsi/arcmsr/arcmsr_hba.c               |    5 --
 drivers/scsi/mvsas/mv_init.c                   |   15 +----
 drivers/scsi/sun3x_esp.c                       |    2 -
 drivers/sfi/sfi_core.c                         |    4 +
 drivers/staging/comedi/drivers/ii_pci20kc.c    |    1 
 drivers/staging/unisys/visorbus/visorchannel.c |   16 +++--
 drivers/staging/unisys/visorbus/visorchipset.c |   17 +++--
 drivers/tty/serial/8250/8250_core.c            |    2 -
 drivers/video/fbdev/Kconfig                    |    2 -
 drivers/video/fbdev/amifb.c                    |    5 +-
 drivers/video/fbdev/atafb.c                    |    5 +-
 drivers/video/fbdev/hpfb.c                     |    6 +-
 drivers/video/fbdev/ocfb.c                     |    1 
 drivers/video/fbdev/s1d13xxxfb.c               |    3 -
 drivers/video/fbdev/stifb.c                    |    1 
 include/acpi/acpi_io.h                         |    6 +-
 include/asm-generic/io.h                       |    8 ---
 include/asm-generic/iomap.h                    |    4 -
 include/linux/io-mapping.h                     |    2 -
 include/linux/io.h                             |    9 +++
 include/linux/mtd/map.h                        |    2 -
 include/linux/pmem.h                           |   26 +++++---
 include/video/vga.h                            |    2 -
 kernel/Makefile                                |    2 +
 kernel/memremap.c                              |   74 +++++++++++++++++++++++
 kernel/resource.c                              |   43 +++++++-------
 lib/Kconfig                                    |    5 +-
 lib/devres.c                                   |   13 +---
 lib/pci_iomap.c                                |    7 +-
 tools/testing/nvdimm/Kbuild                    |    4 +
 tools/testing/nvdimm/test/iomap.c              |   34 ++++++++---
 101 files changed, 482 insertions(+), 398 deletions(-)
 create mode 100644 kernel/memremap.c

WARNING: multiple messages have this Message-ID (diff)
From: dan.j.williams@intel.com (Dan Williams)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap
Date: Fri, 24 Jul 2015 22:37:54 -0400	[thread overview]
Message-ID: <20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)

Changes since v1 [1]:

1/ Drop the attempt at unifying ioremap() prototypes, just focus on
   converting ioremap_cache and ioremap_wt over to memremap (Christoph)

2/ Drop the unrelated cleanups to use %pa in __ioremap_caller (Thomas)

3/ Add support for memremap() attempts on "System RAM" to simply return
   the kernel virtual address for that range.  ARM depends on this
   functionality in ioremap_cache() and ACPI was open coding a similar
   solution. (Mark)

4/ Split the conversions of ioremap_{cache|wt} into separate patches per
   driver / arch.

5/ Fix bisection breakage and other reports from 0day-kbuild

---
While developing the pmem driver we noticed that the __iomem annotation
on the return value from ioremap_cache() was being mishandled by several
callers.  We also observed that all of the call sites expected to be
able to treat the return value from ioremap_cache() as normal
(non-__iomem) pointer to memory.

This patchset takes the opportunity to clean up the above confusion as
well as a few issues with the ioremap_{cache|wt} interface, including:

1/ Eliminating the possibility of function prototypes differing between
   architectures by defining a central memremap() prototype that takes
   flags to determine the mapping type.

2/ Returning NULL rather than falling back silently to a different
   mapping-type.  This allows drivers to be stricter about the
   mapping-type fallbacks that are permissible.

[1]: http://marc.info/?l=linux-arm-kernel&m=143735199029255&w=2

---

Dan Williams (22):
      mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed'
      arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead
      cleanup IORESOURCE_CACHEABLE vs ioremap()
      intel_iommu: fix leaked ioremap mapping
      arch: introduce memremap()
      arm: switch from ioremap_cache to memremap
      x86: switch from ioremap_cache to memremap
      gma500: switch from acpi_os_ioremap to ioremap
      i915: switch from acpi_os_ioremap to ioremap
      acpi: switch from ioremap_cache to memremap
      toshiba laptop: replace ioremap_cache with ioremap
      memconsole: fix __iomem mishandling, switch to memremap
      visorbus: switch from ioremap_cache to memremap
      intel-iommu: switch from ioremap_cache to memremap
      libnvdimm, pmem: switch from ioremap_cache to memremap
      pxa2xx-flash: switch from ioremap_cache to memremap
      sfi: switch from ioremap_cache to memremap
      fbdev: switch from ioremap_wt to memremap
      pmem: switch from ioremap_wt to memremap
      arch: remove ioremap_cache, replace with arch_memremap
      arch: remove ioremap_wt, replace with arch_memremap
      pmem: convert to generic memremap

Toshi Kani (3):
      mm, x86: Fix warning in ioremap RAM check
      mm, x86: Remove region_is_ram() call from ioremap
      mm: Fix bugs in region_is_ram()


 arch/arc/include/asm/io.h                      |    1 
 arch/arm/Kconfig                               |    1 
 arch/arm/include/asm/io.h                      |   13 +++-
 arch/arm/include/asm/xen/page.h                |    4 +
 arch/arm/mach-clps711x/board-cdb89712.c        |    2 -
 arch/arm/mach-shmobile/pm-rcar.c               |    2 -
 arch/arm/mm/ioremap.c                          |   12 +++-
 arch/arm/mm/nommu.c                            |   11 ++-
 arch/arm64/Kconfig                             |    1 
 arch/arm64/include/asm/acpi.h                  |   10 +--
 arch/arm64/include/asm/dmi.h                   |    8 +--
 arch/arm64/include/asm/io.h                    |    8 ++-
 arch/arm64/kernel/efi.c                        |    9 ++-
 arch/arm64/kernel/smp_spin_table.c             |   19 +++---
 arch/arm64/mm/ioremap.c                        |   20 ++----
 arch/avr32/include/asm/io.h                    |    1 
 arch/frv/Kconfig                               |    1 
 arch/frv/include/asm/io.h                      |   17 ++---
 arch/frv/mm/kmap.c                             |    6 ++
 arch/ia64/Kconfig                              |    1 
 arch/ia64/include/asm/io.h                     |   11 +++
 arch/ia64/kernel/cyclone.c                     |    2 -
 arch/m32r/include/asm/io.h                     |    1 
 arch/m68k/Kconfig                              |    1 
 arch/m68k/include/asm/io_mm.h                  |   14 +---
 arch/m68k/include/asm/io_no.h                  |   12 ++--
 arch/m68k/include/asm/raw_io.h                 |    4 +
 arch/m68k/mm/kmap.c                            |   17 +++++
 arch/m68k/mm/sun3kmap.c                        |    6 ++
 arch/metag/include/asm/io.h                    |    3 -
 arch/microblaze/include/asm/io.h               |    1 
 arch/mn10300/include/asm/io.h                  |    1 
 arch/nios2/include/asm/io.h                    |    1 
 arch/powerpc/kernel/pci_of_scan.c              |    2 -
 arch/s390/include/asm/io.h                     |    1 
 arch/sh/Kconfig                                |    1 
 arch/sh/include/asm/io.h                       |   20 ++++--
 arch/sh/mm/ioremap.c                           |   10 +++
 arch/sparc/include/asm/io_32.h                 |    1 
 arch/sparc/include/asm/io_64.h                 |    1 
 arch/sparc/kernel/pci.c                        |    3 -
 arch/tile/include/asm/io.h                     |    1 
 arch/x86/Kconfig                               |    1 
 arch/x86/include/asm/efi.h                     |    3 +
 arch/x86/include/asm/io.h                      |   17 +++--
 arch/x86/kernel/crash_dump_64.c                |    6 +-
 arch/x86/kernel/kdebugfs.c                     |    8 +--
 arch/x86/kernel/ksysfs.c                       |   28 ++++-----
 arch/x86/mm/ioremap.c                          |   76 ++++++++++--------------
 arch/xtensa/Kconfig                            |    1 
 arch/xtensa/include/asm/io.h                   |    9 ++-
 drivers/acpi/apei/einj.c                       |    9 ++-
 drivers/acpi/apei/erst.c                       |    6 +-
 drivers/acpi/nvs.c                             |    6 +-
 drivers/acpi/osl.c                             |   70 ++++++----------------
 drivers/char/toshiba.c                         |    2 -
 drivers/firmware/google/memconsole.c           |    7 +-
 drivers/gpu/drm/gma500/opregion.c              |    2 -
 drivers/gpu/drm/i915/intel_opregion.c          |    2 -
 drivers/iommu/intel-iommu.c                    |   10 ++-
 drivers/iommu/intel_irq_remapping.c            |    4 +
 drivers/isdn/icn/icn.h                         |    2 -
 drivers/mtd/devices/slram.c                    |    2 -
 drivers/mtd/maps/pxa2xx-flash.c                |    4 +
 drivers/mtd/nand/diskonchip.c                  |    2 -
 drivers/mtd/onenand/generic.c                  |    2 -
 drivers/nvdimm/Kconfig                         |    2 -
 drivers/pci/probe.c                            |    3 -
 drivers/pnp/manager.c                          |    2 -
 drivers/scsi/aic94xx/aic94xx_init.c            |    7 --
 drivers/scsi/arcmsr/arcmsr_hba.c               |    5 --
 drivers/scsi/mvsas/mv_init.c                   |   15 +----
 drivers/scsi/sun3x_esp.c                       |    2 -
 drivers/sfi/sfi_core.c                         |    4 +
 drivers/staging/comedi/drivers/ii_pci20kc.c    |    1 
 drivers/staging/unisys/visorbus/visorchannel.c |   16 +++--
 drivers/staging/unisys/visorbus/visorchipset.c |   17 +++--
 drivers/tty/serial/8250/8250_core.c            |    2 -
 drivers/video/fbdev/Kconfig                    |    2 -
 drivers/video/fbdev/amifb.c                    |    5 +-
 drivers/video/fbdev/atafb.c                    |    5 +-
 drivers/video/fbdev/hpfb.c                     |    6 +-
 drivers/video/fbdev/ocfb.c                     |    1 
 drivers/video/fbdev/s1d13xxxfb.c               |    3 -
 drivers/video/fbdev/stifb.c                    |    1 
 include/acpi/acpi_io.h                         |    6 +-
 include/asm-generic/io.h                       |    8 ---
 include/asm-generic/iomap.h                    |    4 -
 include/linux/io-mapping.h                     |    2 -
 include/linux/io.h                             |    9 +++
 include/linux/mtd/map.h                        |    2 -
 include/linux/pmem.h                           |   26 +++++---
 include/video/vga.h                            |    2 -
 kernel/Makefile                                |    2 +
 kernel/memremap.c                              |   74 +++++++++++++++++++++++
 kernel/resource.c                              |   43 +++++++-------
 lib/Kconfig                                    |    5 +-
 lib/devres.c                                   |   13 +---
 lib/pci_iomap.c                                |    7 +-
 tools/testing/nvdimm/Kbuild                    |    4 +
 tools/testing/nvdimm/test/iomap.c              |   34 ++++++++---
 101 files changed, 482 insertions(+), 398 deletions(-)
 create mode 100644 kernel/memremap.c

             reply	other threads:[~2015-07-25  2:37 UTC|newest]

Thread overview: 208+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-25  2:37 Dan Williams [this message]
2015-07-25  2:37 ` [PATCH v2 00/25] replace ioremap_{cache|wt} with memremap Dan Williams
2015-07-25  2:37 ` Dan Williams
2015-07-25  2:37 ` Dan Williams
2015-07-25  2:37 ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 01/25] mm, x86: Fix warning in ioremap RAM check Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 02/25] mm, x86: Remove region_is_ram() call from ioremap Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 03/25] mm: Fix bugs in region_is_ram() Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 04/25] mm: enhance region_is_ram() to distinguish 'unknown' vs 'mixed' Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-27 22:50   ` Luis R. Rodriguez
2015-07-27 22:50     ` Luis R. Rodriguez
2015-07-27 22:50     ` Luis R. Rodriguez
2015-07-28 21:33   ` Toshi Kani
2015-07-28 21:33     ` Toshi Kani
2015-07-28 21:33     ` Toshi Kani
2015-07-25  2:38 ` [PATCH v2 05/25] arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 06/25] cleanup IORESOURCE_CACHEABLE vs ioremap() Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 07/25] intel_iommu: fix leaked ioremap mapping Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 08/25] arch: introduce memremap() Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-26 17:25   ` Christoph Hellwig
2015-07-26 17:25     ` Christoph Hellwig
2015-07-26 17:25     ` Christoph Hellwig
2015-07-26 17:49     ` Dan Williams
2015-07-26 17:49       ` Dan Williams
2015-07-26 17:49       ` Dan Williams
2015-07-27  5:12       ` Christoph Hellwig
2015-07-27  5:12         ` Christoph Hellwig
2015-07-27  5:12         ` Christoph Hellwig
2015-07-27  5:12       ` Christoph Hellwig
2015-07-27  5:12         ` Christoph Hellwig
2015-07-27  5:12         ` Christoph Hellwig
2015-07-27 23:26         ` Dan Williams
2015-07-27 23:26           ` Dan Williams
2015-07-27 23:26           ` Dan Williams
2015-07-29  6:50           ` Christoph Hellwig
2015-07-29  6:50             ` Christoph Hellwig
2015-07-29  6:50             ` Christoph Hellwig
2015-07-29 18:27             ` Luis R. Rodriguez
2015-07-29 18:27               ` Luis R. Rodriguez
2015-07-29 18:27               ` Luis R. Rodriguez
2015-07-29 18:33               ` Dan Williams
2015-07-29 18:33                 ` Dan Williams
2015-07-29 18:33                 ` Dan Williams
2015-07-29 21:00                 ` Toshi Kani
2015-07-29 21:00                   ` Toshi Kani
2015-07-29 21:00                   ` Toshi Kani
2015-07-29 21:11                   ` Toshi Kani
2015-07-29 21:11                     ` Toshi Kani
2015-07-29 21:11                     ` Toshi Kani
2015-07-29 21:43                   ` Luis R. Rodriguez
2015-07-29 21:43                     ` Luis R. Rodriguez
2015-07-29 21:43                     ` Luis R. Rodriguez
2015-07-29 21:47                     ` Dan Williams
2015-07-29 21:47                       ` Dan Williams
2015-07-29 21:47                       ` Dan Williams
2015-07-29 21:52                       ` Luis R. Rodriguez
2015-07-29 21:52                         ` Luis R. Rodriguez
2015-07-29 21:52                         ` Luis R. Rodriguez
2015-07-30  0:00                     ` Toshi Kani
2015-07-30  0:00                       ` Toshi Kani
2015-07-30  0:00                       ` Toshi Kani
2015-08-11 21:30                       ` Luis R. Rodriguez
2015-08-11 21:30                         ` Luis R. Rodriguez
2015-08-11 21:30                         ` Luis R. Rodriguez
2015-08-11 22:40                         ` Toshi Kani
2015-08-11 22:40                           ` Toshi Kani
2015-08-11 22:40                           ` Toshi Kani
2015-08-11 22:52                           ` Luis R. Rodriguez
2015-08-11 22:52                             ` Luis R. Rodriguez
2015-08-11 22:52                             ` Luis R. Rodriguez
2015-08-11 23:13                             ` Dan Williams
2015-08-11 23:13                               ` Dan Williams
2015-08-11 23:13                               ` Dan Williams
2016-04-21 12:47                               ` Luis R. Rodriguez
2016-04-21 12:47                                 ` Luis R. Rodriguez
2016-04-21 12:47                                 ` Luis R. Rodriguez
2016-04-21 12:47                                 ` Luis R. Rodriguez
2015-07-27 23:17   ` Luis R. Rodriguez
2015-07-27 23:17     ` Luis R. Rodriguez
2015-07-27 23:17     ` Luis R. Rodriguez
2015-07-27 23:31     ` Dan Williams
2015-07-27 23:31       ` Dan Williams
2015-07-27 23:31       ` Dan Williams
2015-07-27 23:31       ` Dan Williams
2015-07-27 23:43       ` Luis R. Rodriguez
2015-07-27 23:43         ` Luis R. Rodriguez
2015-07-27 23:43         ` Luis R. Rodriguez
2015-07-28  0:32         ` Dan Williams
2015-07-28  0:32           ` Dan Williams
2015-07-28  0:32           ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 09/25] arm: switch from ioremap_cache to memremap Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 10/25] x86: " Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38 ` [PATCH v2 11/25] gma500: switch from acpi_os_ioremap to ioremap Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:38   ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 12/25] i915: " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-27  7:50   ` [Intel-gfx] " Daniel Vetter
2015-07-27  7:50     ` Daniel Vetter
2015-07-27  7:50     ` Daniel Vetter
2015-07-27  7:50     ` Daniel Vetter
2015-07-25  2:39 ` [PATCH v2 13/25] acpi: switch from ioremap_cache to memremap Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25 23:55   ` Rafael J. Wysocki
2015-07-25 23:55     ` Rafael J. Wysocki
2015-07-25 23:55     ` Rafael J. Wysocki
2015-07-25  2:39 ` [PATCH v2 14/25] toshiba laptop: replace ioremap_cache with ioremap Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 15/25] memconsole: fix __iomem mishandling, switch to memremap Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25 22:02   ` Sergei Shtylyov
2015-07-25 22:02     ` Sergei Shtylyov
2015-07-25 22:02     ` Sergei Shtylyov
2015-07-25  2:39 ` [PATCH v2 16/25] visorbus: switch from ioremap_cache " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 17/25] intel-iommu: " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-08-03 14:27   ` Joerg Roedel
2015-08-03 14:27     ` Joerg Roedel
2015-08-03 14:27     ` Joerg Roedel
2015-07-25  2:39 ` [PATCH v2 18/25] libnvdimm, pmem: " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-28 22:51   ` Ross Zwisler
2015-07-28 22:51     ` Ross Zwisler
2015-07-28 22:51     ` Ross Zwisler
2015-07-28 23:06     ` Dan Williams
2015-07-28 23:06       ` Dan Williams
2015-07-28 23:06       ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 19/25] pxa2xx-flash: " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-10-02 17:51   ` Brian Norris
2015-10-02 17:51     ` Brian Norris
2015-10-02 17:51     ` Brian Norris
2015-10-09 21:33     ` Dan Williams
2015-10-09 21:33       ` Dan Williams
2015-10-09 21:33       ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 20/25] sfi: " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39 ` [PATCH v2 21/25] fbdev: switch from ioremap_wt " Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:39   ` Dan Williams
2015-07-25  2:40 ` [PATCH v2 22/25] pmem: " Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-29 19:12   ` Ross Zwisler
2015-07-29 19:12     ` Ross Zwisler
2015-07-29 19:12     ` Ross Zwisler
2015-07-25  2:40 ` [PATCH v2 23/25] arch: remove ioremap_cache, replace with arch_memremap Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-26 17:31   ` Christoph Hellwig
2015-07-26 17:31     ` Christoph Hellwig
2015-07-26 17:31     ` Christoph Hellwig
2015-07-25  2:40 ` [PATCH v2 24/25] arch: remove ioremap_wt, " Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-26 17:31   ` Christoph Hellwig
2015-07-26 17:31     ` Christoph Hellwig
2015-07-26 17:31     ` Christoph Hellwig
2015-07-27  8:03   ` Christoph Hellwig
2015-07-27  8:03     ` Christoph Hellwig
2015-07-27  8:03     ` Christoph Hellwig
2015-07-29 22:21     ` Dan Williams
2015-07-29 22:21       ` Dan Williams
2015-07-29 22:21       ` Dan Williams
2015-07-25  2:40 ` [PATCH v2 25/25] pmem: convert to generic memremap Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-25  2:40   ` Dan Williams
2015-07-26 17:33   ` Christoph Hellwig
2015-07-26 17:33     ` Christoph Hellwig
2015-07-26 17:33     ` Christoph Hellwig
2015-07-26 18:11     ` Dan Williams
2015-07-26 18:11       ` Dan Williams
2015-07-26 18:11       ` Dan Williams
2015-07-27  5:14       ` Christoph Hellwig
2015-07-27  5:14         ` Christoph Hellwig
2015-07-27  5:14         ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150725023649.8664.59145.stgit@dwillia2-desk3.amr.corp.intel.com \
    --to=dan.j.williams@intel.com \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=benjamin.romer@unisys.com \
    --cc=bp@alien8.de \
    --cc=computersforpeace@gmail.com \
    --cc=daniel.vetter@intel.com \
    --cc=david.kershner@unisys.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dwmw2@infradead.org \
    --cc=fengguang.wu@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=hpa@zytor.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jonathan@buzzard.org.uk \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=lenb@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=lv.zheng@intel.com \
    --cc=mcgrof@suse.com \
    --cc=mikew@google.com \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=robert.moore@intel.com \
    --cc=roland@purestorage.com \
    --cc=ross.zwisler@linux.intel.com \
    --cc=tglx@linutronix.de \
    --cc=tomi.valkeinen@ti.com \
    --cc=tony.luck@intel.com \
    --cc=toshi.kani@hp.com \
    --cc=travis@sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.