libnvdimm/labels: Introduce getters for namespace label fields
authorDan Williams <dan.j.williams@intel.com>
Tue, 24 Aug 2021 16:05:30 +0000 (09:05 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 24 Aug 2021 19:08:28 +0000 (12:08 -0700)
commitb4366a827f6cf6e58c93e076e335d9ee9ee0480f
treedd17eac31909d307cbaf22dbc639fd76d295be17
parentceeb0da0a0322bcba4c50ab3cf97fe9a7aa8a2e4
libnvdimm/labels: Introduce getters for namespace label fields

In preparation for LIBNVDIMM to manage labels on CXL devices deploy
helpers that abstract the label type from the implementation. The CXL
label format is mostly similar to the EFI label format with concepts /
fields added, like dynamic region creation and label type guids, and
other concepts removed like BLK-mode and interleave-set-cookie ids.

In addition to nsl_get_* helpers there is the nsl_ref_name() helper that
returns a pointer to a label field rather than copying the data.

Where changes touch the old whitespace style, update to clang-format
expectations.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/162982113002.1124374.15922077050771304490.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/label.c
drivers/nvdimm/namespace_devs.c
drivers/nvdimm/nd.h