Skip to content

Commit b94d523

Browse files
committed
libnvdimm, nfit: initial libnvdimm infrastructure and NFIT support
A struct nvdimm_bus is the anchor device for registering nvdimm resources and interfaces, for example, a character control device, nvdimm devices, and I/O region devices. The ACPI NFIT (NVDIMM Firmware Interface Table) is one possible platform description for such non-volatile memory resources in a system. The nfit.ko driver attaches to the "ACPI0012" device that indicates the presence of the NFIT and parses the table to register a struct nvdimm_bus instance. Cc: <[email protected]> Cc: Lv Zheng <[email protected]> Cc: Robert Moore <[email protected]> Cc: Rafael J. Wysocki <[email protected]> Acked-by: Jeff Moyer <[email protected]> Acked-by: Christoph Hellwig <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Tested-by: Toshi Kani <[email protected]> Signed-off-by: Dan Williams <[email protected]>
1 parent ad5fb87 commit b94d523

File tree

11 files changed

+733
-0
lines changed

11 files changed

+733
-0
lines changed

drivers/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,6 @@ source "drivers/thunderbolt/Kconfig"
182182

183183
source "drivers/android/Kconfig"
184184

185+
source "drivers/nvdimm/Kconfig"
186+
185187
endmenu

drivers/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/
6464

6565
obj-$(CONFIG_PARPORT) += parport/
6666
obj-y += base/ block/ misc/ mfd/ nfc/
67+
obj-$(CONFIG_LIBNVDIMM) += nvdimm/
6768
obj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/
6869
obj-$(CONFIG_NUBUS) += nubus/
6970
obj-y += macintosh/

drivers/acpi/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,20 @@ config ACPI_REDUCED_HARDWARE_ONLY
383383

384384
If you are unsure what to do, do not enable this option.
385385

386+
config ACPI_NFIT
387+
tristate "ACPI NVDIMM Firmware Interface Table (NFIT)"
388+
depends on PHYS_ADDR_T_64BIT
389+
depends on BLK_DEV
390+
select LIBNVDIMM
391+
help
392+
Infrastructure to probe ACPI 6 compliant platforms for
393+
NVDIMMs (NFIT) and register a libnvdimm device tree. In
394+
addition to storage devices this also enables libnvdimm to pass
395+
ACPI._DSM messages for platform/dimm configuration.
396+
397+
To compile this driver as a module, choose M here:
398+
the module will be called nfit.
399+
386400
source "drivers/acpi/apei/Kconfig"
387401

388402
config ACPI_EXTLOG

drivers/acpi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ obj-$(CONFIG_ACPI_PCI_SLOT) += pci_slot.o
7171
obj-$(CONFIG_ACPI_PROCESSOR) += processor.o
7272
obj-y += container.o
7373
obj-$(CONFIG_ACPI_THERMAL) += thermal.o
74+
obj-$(CONFIG_ACPI_NFIT) += nfit.o
7475
obj-y += acpi_memhotplug.o
7576
obj-$(CONFIG_ACPI_HOTPLUG_IOAPIC) += ioapic.o
7677
obj-$(CONFIG_ACPI_BATTERY) += battery.o

0 commit comments

Comments
 (0)