Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc0d0d09 authored by Dan Williams's avatar Dan Williams
Browse files

libnvdimm, e820: skip module loading when no type-12



If there are no persistent memory ranges present then don't bother
creating the platform device.  Otherwise, it loads the full libnvdimm
sub-system only to discover no resources present.

Reported-by: default avatarAndy Lutomirski <luto@amacapital.net>
Acked-by: default avatarAndy Lutomirski <luto@amacapital.net>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 31ade3b8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -4,10 +4,22 @@
 */
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/ioport.h>

static int found(u64 start, u64 end, void *data)
{
	return 1;
}

static __init int register_e820_pmem(void)
{
	char *pmem = "Persistent Memory (legacy)";
	struct platform_device *pdev;
	int rc;

	rc = walk_iomem_res(pmem, IORESOURCE_MEM, 0, -1, NULL, found);
	if (rc <= 0)
		return 0;

	/*
	 * See drivers/nvdimm/e820.c for the implementation, this is