linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/16] libnvdimm: non-volatile memory devices
@ 2015-06-17 23:13 Dan Williams
  2015-06-17 23:13 ` [PATCH v7 01/16] e820, efi: add ACPI 6.0 persistent memory types Dan Williams
                   ` (17 more replies)
  0 siblings, 18 replies; 23+ messages in thread
From: Dan Williams @ 2015-06-17 23:13 UTC (permalink / raw)
  To: linux-nvdimm
  Cc: Boaz Harrosh, rafael, neilb, Lv Zheng, H. Peter Anvin, mingo, sfr,
	Rafael J. Wysocki, Robert Moore, hch, linux-acpi, jmoyer,
	Nicholas Moulin, Matthew Wilcox, Ross Zwisler, Jens Axboe,
	Borislav Petkov, Thomas Gleixner, axboe, gregkh, linux-kernel,
	Andy Lutomirski, linux-api, akpm, Linus Torvalds

A new sub-system in support of non-volatile memory storage devices.

Stephen, please add libnvdimm-for-next to -next:

  git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm libnvdimm-for-next

Changes since v6 [1]:

1/ Deferred the patches dependent on ->rw_bytes() (BTT - stacked block
   driver, BLK - mmio aperture windows driver, NFIT_TEST - unit test
   infrastructure for all libnvdimm + nfit components) to their own
   patchset. Make the ->rw_bytes() implementation the first patch in
   that series (Christoph)

2/ Collected acks from Christoph and Rafael!

3/ Add a HAS_IOMEM dependency to CONFIG_BLK_DEV_PMEM following commit
   b6f2098fb708 "block: pmem: Add dependency on HAS_IOMEM" in 4.1-rc8.

4/ Move libnvdimm to subsys_initcall() and move arch/x86/kernel/pmem.c
   back to device_initcall().  This allows ACPI_NFIT to be built-in.
   (Linda)

5/ Drop the ACPI_DRIVER_ALL_NOTIFY_EVENTS flag in the nfit driver.
   (Rafael)

6/ Reference count the nvdimm_drvdata object.  This fixes a bug that was
   found when the unit tests were extended to test disabling an nvdimm
   while a region device still had references to label data.

Diffstat since v6:

 arch/x86/kernel/pmem.c          |  2 +-
 drivers/acpi/nfit.c             |  1 -
 drivers/nvdimm/Kconfig          |  1 +
 drivers/nvdimm/bus.c            |  2 +-
 drivers/nvdimm/core.c           |  2 +-
 drivers/nvdimm/dimm.c           | 21 ++++-----------------
 drivers/nvdimm/dimm_devs.c      | 34 ++++++++++++++++++++++++++++++++++
 drivers/nvdimm/namespace_devs.c | 43 +++++++++++++++++++++++++------------------
 drivers/nvdimm/nd-core.h        |  2 +-
 drivers/nvdimm/nd.h             |  3 +++
 drivers/nvdimm/region_devs.c    | 21 ++++++++-------------
 include/linux/libnvdimm.h       |  8 ++++++++
 12 files changed, 87 insertions(+), 53 deletions(-)

[1]: https://lists.01.org/pipermail/linux-nvdimm/2015-June/001166.html


---

Dan Williams (16):
      e820, efi: add ACPI 6.0 persistent memory types
      libnvdimm, nfit: initial libnvdimm infrastructure and NFIT support
      libnvdimm: control character device and nvdimm_bus sysfs attributes
      libnvdimm, nfit: dimm/memory-devices
      libnvdimm: control (ioctl) messages for nvdimm_bus and nvdimm devices
      libnvdimm, nvdimm: dimm driver and base libnvdimm device-driver infrastructure
      libnvdimm, nfit: regions (block-data-window, persistent memory, volatile memory)
      libnvdimm: support for legacy (non-aliasing) nvdimms
      libnvdimm, pmem: move pmem to drivers/nvdimm/
      libnvdimm, pmem: add libnvdimm support to the pmem driver
      libnvdimm, nfit: add interleave-set state-tracking infrastructure
      libnvdimm: namespace indices: read and validate
      libnvdimm: pmem label sets and namespace instantiation.
      libnvdimm: blk labels and namespace instantiation
      libnvdimm: write pmem label set
      libnvdimm: write blk label set


 arch/arm64/kernel/efi.c          |    1 
 arch/ia64/kernel/efi.c           |    4 
 arch/x86/Kconfig                 |    3 
 arch/x86/boot/compressed/eboot.c |    4 
 arch/x86/include/uapi/asm/e820.h |    1 
 arch/x86/kernel/e820.c           |   28 +
 arch/x86/kernel/pmem.c           |   92 +-
 arch/x86/platform/efi/efi.c      |    3 
 drivers/Kconfig                  |    2 
 drivers/Makefile                 |    1 
 drivers/acpi/Kconfig             |   26 +
 drivers/acpi/Makefile            |    1 
 drivers/acpi/nfit.c              | 1123 ++++++++++++++++++++++++++
 drivers/acpi/nfit.h              |  100 ++
 drivers/block/Kconfig            |   11 
 drivers/block/Makefile           |    1 
 drivers/block/pmem.c             |  262 ------
 drivers/nvdimm/Kconfig           |   36 +
 drivers/nvdimm/Makefile          |   13 
 drivers/nvdimm/bus.c             |  668 +++++++++++++++
 drivers/nvdimm/core.c            |  396 +++++++++
 drivers/nvdimm/dimm.c            |  102 ++
 drivers/nvdimm/dimm_devs.c       |  542 +++++++++++++
 drivers/nvdimm/label.c           |  926 +++++++++++++++++++++
 drivers/nvdimm/label.h           |  141 +++
 drivers/nvdimm/namespace_devs.c  | 1645 ++++++++++++++++++++++++++++++++++++++
 drivers/nvdimm/nd-core.h         |   80 ++
 drivers/nvdimm/nd.h              |  135 +++
 drivers/nvdimm/pmem.c            |  278 ++++++
 drivers/nvdimm/region.c          |   96 ++
 drivers/nvdimm/region_devs.c     |  585 ++++++++++++++
 include/linux/efi.h              |    3 
 include/linux/libnvdimm.h        |  123 +++
 include/linux/nd.h               |   98 ++
 include/uapi/linux/Kbuild        |    1 
 include/uapi/linux/ndctl.h       |  197 +++++
 36 files changed, 7417 insertions(+), 311 deletions(-)
 create mode 100644 drivers/acpi/nfit.c
 create mode 100644 drivers/acpi/nfit.h
 delete mode 100644 drivers/block/pmem.c
 create mode 100644 drivers/nvdimm/Kconfig
 create mode 100644 drivers/nvdimm/Makefile
 create mode 100644 drivers/nvdimm/bus.c
 create mode 100644 drivers/nvdimm/core.c
 create mode 100644 drivers/nvdimm/dimm.c
 create mode 100644 drivers/nvdimm/dimm_devs.c
 create mode 100644 drivers/nvdimm/label.c
 create mode 100644 drivers/nvdimm/label.h
 create mode 100644 drivers/nvdimm/namespace_devs.c
 create mode 100644 drivers/nvdimm/nd-core.h
 create mode 100644 drivers/nvdimm/nd.h
 create mode 100644 drivers/nvdimm/pmem.c
 create mode 100644 drivers/nvdimm/region.c
 create mode 100644 drivers/nvdimm/region_devs.c
 create mode 100644 include/linux/libnvdimm.h
 create mode 100644 include/linux/nd.h
 create mode 100644 include/uapi/linux/ndctl.h

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2015-07-01 17:24 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-17 23:13 [PATCH v7 00/16] libnvdimm: non-volatile memory devices Dan Williams
2015-06-17 23:13 ` [PATCH v7 01/16] e820, efi: add ACPI 6.0 persistent memory types Dan Williams
2015-06-17 23:13 ` [PATCH v7 02/16] libnvdimm, nfit: initial libnvdimm infrastructure and NFIT support Dan Williams
2015-06-17 23:13 ` [PATCH v7 03/16] libnvdimm: control character device and nvdimm_bus sysfs attributes Dan Williams
2015-06-17 23:13 ` [PATCH v7 04/16] libnvdimm, nfit: dimm/memory-devices Dan Williams
2015-06-17 23:13 ` [PATCH v7 05/16] libnvdimm: control (ioctl) messages for nvdimm_bus and nvdimm devices Dan Williams
2015-06-17 23:13 ` [PATCH v7 06/16] libnvdimm, nvdimm: dimm driver and base libnvdimm device-driver infrastructure Dan Williams
2015-06-17 23:13 ` [PATCH v7 07/16] libnvdimm, nfit: regions (block-data-window, persistent memory, volatile memory) Dan Williams
2015-06-17 23:14 ` [PATCH v7 08/16] libnvdimm: support for legacy (non-aliasing) nvdimms Dan Williams
2015-06-17 23:14 ` [PATCH v7 09/16] libnvdimm, pmem: move pmem to drivers/nvdimm/ Dan Williams
     [not found]   ` <20150617231408.11597.28725.stgit-p8uTFz9XbKj2zm6wflaqv1nYeNYlB/vhral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-07-01 13:13     ` Geert Uytterhoeven
2015-07-01 16:41       ` Dan Williams
2015-07-01 16:49         ` Geert Uytterhoeven
     [not found]           ` <CAMuHMdU8z7iUVaUaGs3f1kUcDus5Qg1+EQQ5uu7uCWrHO_kBaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-01 17:24             ` Dan Williams
2015-06-17 23:14 ` [PATCH v7 10/16] libnvdimm, pmem: add libnvdimm support to the pmem driver Dan Williams
2015-06-17 23:14 ` [PATCH v7 11/16] libnvdimm, nfit: add interleave-set state-tracking infrastructure Dan Williams
2015-06-17 23:14 ` [PATCH v7 12/16] libnvdimm: namespace indices: read and validate Dan Williams
2015-06-17 23:14 ` [PATCH v7 13/16] libnvdimm: pmem label sets and namespace instantiation Dan Williams
2015-06-17 23:14 ` [PATCH v7 14/16] libnvdimm: blk labels " Dan Williams
2015-06-17 23:14 ` [PATCH v7 15/16] libnvdimm: write pmem label set Dan Williams
2015-06-17 23:14 ` [PATCH v7 16/16] libnvdimm: write blk " Dan Williams
     [not found] ` <20150617215027.11597.61414.stgit-p8uTFz9XbKj2zm6wflaqv1nYeNYlB/vhral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-06-20 12:40   ` [PATCH v7 00/16] libnvdimm: non-volatile memory devices Stephen Rothwell
2015-06-25  0:59 ` Toshi Kani

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).