mirror of https://gitee.com/openkylin/linux.git
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: Andy Lutomirski <luto@amacapital.net> Acked-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
31ade3b83e
commit
bc0d0d093b
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue