libnvdimm: Fix nvdimm_probe error on NVDIMM-N
authorToshi Kani <toshi.kani@hpe.com>
Tue, 16 Aug 2016 19:08:40 +0000 (13:08 -0600)
committerDan Williams <dan.j.williams@intel.com>
Fri, 2 Sep 2016 01:20:39 +0000 (18:20 -0700)
commitaee6598748335794dc25d7c4f16f0d4801f6b584
tree0fcbceaa2e2776249cb9bf36a64bb8e51cf0ed11
parentae551e9ca289762c63a6a139872a63dd66183209
libnvdimm: Fix nvdimm_probe error on NVDIMM-N

'ndctl list --buses --dimms' does not list any NVDIMM-Ns since
they are considered as idle.  ndctl checks if any driver is
attached to nmem device.  nvdimm_probe() always fails in
nvdimm_init_nsarea() since NVDIMM-Ns do not implement optinal
ND_CMD_GET_CONFIG_DATA command.

Change nvdimm_probe() to accept the case that the CONFIG_DATA
command is not implemented for NVDIMM-Ns.  The driver attaches
without ndd, which keeps it no-op to the device.

Reported-by: Brian Boylston <brian.boylston@hpe.com>
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Tested-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/dimm.c
drivers/nvdimm/dimm_devs.c
drivers/nvdimm/nd.h