In order to accommodate cxl lsa 2.1 format region label, renamed
nd_namespace_label to nd_lsa_label.

No functional change introduced.

Signed-off-by: Neeraj Kumar <s.nee...@samsung.com>
---
 drivers/nvdimm/label.c          | 79 ++++++++++++++++++---------------
 drivers/nvdimm/label.h          | 12 ++++-
 drivers/nvdimm/namespace_devs.c | 74 +++++++++++++++---------------
 drivers/nvdimm/nd.h             |  2 +-
 4 files changed, 92 insertions(+), 75 deletions(-)

diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index 48b5ba90216d..30bccad98939 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -271,7 +271,7 @@ static void nd_label_copy(struct nvdimm_drvdata *ndd,
        memcpy(dst, src, sizeof_namespace_index(ndd));
 }
 
-static struct nd_namespace_label *nd_label_base(struct nvdimm_drvdata *ndd)
+static struct nd_lsa_label *nd_label_base(struct nvdimm_drvdata *ndd)
 {
        void *base = to_namespace_index(ndd, 0);
 
@@ -279,7 +279,7 @@ static struct nd_namespace_label *nd_label_base(struct 
nvdimm_drvdata *ndd)
 }
 
 static int to_slot(struct nvdimm_drvdata *ndd,
-               struct nd_namespace_label *nd_label)
+               struct nd_lsa_label *nd_label)
 {
        unsigned long label, base;
 
@@ -289,14 +289,14 @@ static int to_slot(struct nvdimm_drvdata *ndd,
        return (label - base) / sizeof_namespace_label(ndd);
 }
 
-static struct nd_namespace_label *to_label(struct nvdimm_drvdata *ndd, int 
slot)
+static struct nd_lsa_label *to_label(struct nvdimm_drvdata *ndd, int slot)
 {
        unsigned long label, base;
 
        base = (unsigned long) nd_label_base(ndd);
        label = base + sizeof_namespace_label(ndd) * slot;
 
-       return (struct nd_namespace_label *) label;
+       return (struct nd_lsa_label *) label;
 }
 
 #define for_each_clear_bit_le(bit, addr, size) \
@@ -382,14 +382,14 @@ static void nsl_calculate_checksum(struct nvdimm_drvdata 
*ndd,
 }
 
 static bool slot_valid(struct nvdimm_drvdata *ndd,
-               struct nd_namespace_label *nd_label, u32 slot)
+               struct nd_lsa_label *nd_label, u32 slot)
 {
        bool valid;
 
        /* check that we are written where we expect to be written */
-       if (slot != nsl_get_slot(ndd, nd_label))
+       if (slot != nsl_get_slot(ndd, &nd_label->ns_label))
                return false;
-       valid = nsl_validate_checksum(ndd, nd_label);
+       valid = nsl_validate_checksum(ndd, &nd_label->ns_label);
        if (!valid)
                dev_dbg(ndd->dev, "fail checksum. slot: %d\n", slot);
        return valid;
@@ -405,7 +405,8 @@ int nd_label_reserve_dpa(struct nvdimm_drvdata *ndd)
                return 0; /* no label, nothing to reserve */
 
        for_each_clear_bit_le(slot, free, nslot) {
-               struct nd_namespace_label *nd_label;
+               struct nd_lsa_label *nd_label;
+               struct nd_namespace_label *ns_label;
                struct nd_region *nd_region = NULL;
                struct nd_label_id label_id;
                struct resource *res;
@@ -413,16 +414,17 @@ int nd_label_reserve_dpa(struct nvdimm_drvdata *ndd)
                u32 flags;
 
                nd_label = to_label(ndd, slot);
+               ns_label = &nd_label->ns_label;
 
                if (!slot_valid(ndd, nd_label, slot))
                        continue;
 
-               nsl_get_uuid(ndd, nd_label, &label_uuid);
-               flags = nsl_get_flags(ndd, nd_label);
+               nsl_get_uuid(ndd, ns_label, &label_uuid);
+               flags = nsl_get_flags(ndd, ns_label);
                nd_label_gen_id(&label_id, &label_uuid, flags);
                res = nvdimm_allocate_dpa(ndd, &label_id,
-                                         nsl_get_dpa(ndd, nd_label),
-                                         nsl_get_rawsize(ndd, nd_label));
+                                         nsl_get_dpa(ndd, ns_label),
+                                         nsl_get_rawsize(ndd, ns_label));
                nd_dbg_dpa(nd_region, ndd, res, "reserve\n");
                if (!res)
                        return -EBUSY;
@@ -564,14 +566,14 @@ int nd_label_active_count(struct nvdimm_drvdata *ndd)
                return 0;
 
        for_each_clear_bit_le(slot, free, nslot) {
-               struct nd_namespace_label *nd_label;
+               struct nd_lsa_label *nd_label;
 
                nd_label = to_label(ndd, slot);
 
                if (!slot_valid(ndd, nd_label, slot)) {
-                       u32 label_slot = nsl_get_slot(ndd, nd_label);
-                       u64 size = nsl_get_rawsize(ndd, nd_label);
-                       u64 dpa = nsl_get_dpa(ndd, nd_label);
+                       u32 label_slot = nsl_get_slot(ndd, &nd_label->ns_label);
+                       u64 size = nsl_get_rawsize(ndd, &nd_label->ns_label);
+                       u64 dpa = nsl_get_dpa(ndd, &nd_label->ns_label);
 
                        dev_dbg(ndd->dev,
                                "slot%d invalid slot: %d dpa: %llx size: 
%llx\n",
@@ -583,7 +585,7 @@ int nd_label_active_count(struct nvdimm_drvdata *ndd)
        return count;
 }
 
-struct nd_namespace_label *nd_label_active(struct nvdimm_drvdata *ndd, int n)
+struct nd_lsa_label *nd_label_active(struct nvdimm_drvdata *ndd, int n)
 {
        struct nd_namespace_index *nsindex;
        unsigned long *free;
@@ -593,7 +595,7 @@ struct nd_namespace_label *nd_label_active(struct 
nvdimm_drvdata *ndd, int n)
                return NULL;
 
        for_each_clear_bit_le(slot, free, nslot) {
-               struct nd_namespace_label *nd_label;
+               struct nd_lsa_label *nd_label;
 
                nd_label = to_label(ndd, slot);
                if (!slot_valid(ndd, nd_label, slot))
@@ -731,7 +733,7 @@ static int nd_label_write_index(struct nvdimm_drvdata *ndd, 
int index, u32 seq,
 }
 
 static unsigned long nd_label_offset(struct nvdimm_drvdata *ndd,
-               struct nd_namespace_label *nd_label)
+               struct nd_lsa_label *nd_label)
 {
        return (unsigned long) nd_label
                - (unsigned long) to_namespace_index(ndd, 0);
@@ -885,7 +887,8 @@ static int __pmem_label_update(struct nd_region *nd_region,
        struct nd_namespace_common *ndns = &nspm->nsio.common;
        struct nd_interleave_set *nd_set = nd_region->nd_set;
        struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
-       struct nd_namespace_label *nd_label;
+       struct nd_lsa_label *nd_label;
+       struct nd_namespace_label *ns_label;
        struct nd_namespace_index *nsindex;
        struct nd_label_ent *label_ent;
        struct nd_label_id label_id;
@@ -918,20 +921,22 @@ static int __pmem_label_update(struct nd_region 
*nd_region,
 
        nd_label = to_label(ndd, slot);
        memset(nd_label, 0, sizeof_namespace_label(ndd));
-       nsl_set_uuid(ndd, nd_label, nspm->uuid);
-       nsl_set_name(ndd, nd_label, nspm->alt_name);
-       nsl_set_flags(ndd, nd_label, flags);
-       nsl_set_nlabel(ndd, nd_label, nd_region->ndr_mappings);
-       nsl_set_nrange(ndd, nd_label, 1);
-       nsl_set_position(ndd, nd_label, pos);
-       nsl_set_isetcookie(ndd, nd_label, cookie);
-       nsl_set_rawsize(ndd, nd_label, resource_size(res));
-       nsl_set_lbasize(ndd, nd_label, nspm->lbasize);
-       nsl_set_dpa(ndd, nd_label, res->start);
-       nsl_set_slot(ndd, nd_label, slot);
-       nsl_set_type_guid(ndd, nd_label, &nd_set->type_guid);
-       nsl_set_claim_class(ndd, nd_label, ndns->claim_class);
-       nsl_calculate_checksum(ndd, nd_label);
+
+       ns_label = &nd_label->ns_label;
+       nsl_set_uuid(ndd, ns_label, nspm->uuid);
+       nsl_set_name(ndd, ns_label, nspm->alt_name);
+       nsl_set_flags(ndd, ns_label, flags);
+       nsl_set_nlabel(ndd, ns_label, nd_region->ndr_mappings);
+       nsl_set_nrange(ndd, ns_label, 1);
+       nsl_set_position(ndd, ns_label, pos);
+       nsl_set_isetcookie(ndd, ns_label, cookie);
+       nsl_set_rawsize(ndd, ns_label, resource_size(res));
+       nsl_set_lbasize(ndd, ns_label, nspm->lbasize);
+       nsl_set_dpa(ndd, ns_label, res->start);
+       nsl_set_slot(ndd, ns_label, slot);
+       nsl_set_type_guid(ndd, ns_label, &nd_set->type_guid);
+       nsl_set_claim_class(ndd, ns_label, ndns->claim_class);
+       nsl_calculate_checksum(ndd, ns_label);
        nd_dbg_dpa(nd_region, ndd, res, "\n");
 
        /* update label */
@@ -947,7 +952,7 @@ static int __pmem_label_update(struct nd_region *nd_region,
                if (!label_ent->label)
                        continue;
                if (test_and_clear_bit(ND_LABEL_REAP, &label_ent->flags) ||
-                   nsl_uuid_equal(ndd, label_ent->label, nspm->uuid))
+                   nsl_uuid_equal(ndd, &label_ent->label->ns_label, 
nspm->uuid))
                        reap_victim(nd_mapping, label_ent);
        }
 
@@ -1035,12 +1040,12 @@ static int del_labels(struct nd_mapping *nd_mapping, 
uuid_t *uuid)
 
        mutex_lock(&nd_mapping->lock);
        list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
-               struct nd_namespace_label *nd_label = label_ent->label;
+               struct nd_lsa_label *nd_label = label_ent->label;
 
                if (!nd_label)
                        continue;
                active++;
-               if (!nsl_uuid_equal(ndd, nd_label, uuid))
+               if (!nsl_uuid_equal(ndd, &nd_label->ns_label, uuid))
                        continue;
                active--;
                slot = to_slot(ndd, nd_label);
diff --git a/drivers/nvdimm/label.h b/drivers/nvdimm/label.h
index 0650fb4b9821..4883b3a1320f 100644
--- a/drivers/nvdimm/label.h
+++ b/drivers/nvdimm/label.h
@@ -183,6 +183,16 @@ struct nd_namespace_label {
        };
 };
 
+/*
+ * LSA 2.1 format introduces region label, which can also reside
+ * into LSA along with only namespace label as per v1.1 and v1.2
+ */
+struct nd_lsa_label {
+       union {
+               struct nd_namespace_label ns_label;
+       };
+};
+
 #define NVDIMM_BTT_GUID "8aed63a2-29a2-4c66-8b12-f05d15d3922a"
 #define NVDIMM_BTT2_GUID "18633bfc-1735-4217-8ac9-17239282d3f8"
 #define NVDIMM_PFN_GUID "266400ba-fb9f-4677-bcb0-968f11d0d225"
@@ -215,7 +225,7 @@ struct nvdimm_drvdata;
 int nd_label_data_init(struct nvdimm_drvdata *ndd);
 size_t sizeof_namespace_index(struct nvdimm_drvdata *ndd);
 int nd_label_active_count(struct nvdimm_drvdata *ndd);
-struct nd_namespace_label *nd_label_active(struct nvdimm_drvdata *ndd, int n);
+struct nd_lsa_label *nd_label_active(struct nvdimm_drvdata *ndd, int n);
 u32 nd_label_alloc_slot(struct nvdimm_drvdata *ndd);
 bool nd_label_free_slot(struct nvdimm_drvdata *ndd, u32 slot);
 u32 nd_label_nfree(struct nvdimm_drvdata *ndd);
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index 55cfbf1e0a95..f180f0068c15 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -1009,15 +1009,15 @@ static int namespace_update_uuid(struct nd_region 
*nd_region,
 
                mutex_lock(&nd_mapping->lock);
                list_for_each_entry(label_ent, &nd_mapping->labels, list) {
-                       struct nd_namespace_label *nd_label = label_ent->label;
+                       struct nd_lsa_label *nd_label = label_ent->label;
                        struct nd_label_id label_id;
                        uuid_t uuid;
 
                        if (!nd_label)
                                continue;
-                       nsl_get_uuid(ndd, nd_label, &uuid);
+                       nsl_get_uuid(ndd, &nd_label->ns_label, &uuid);
                        nd_label_gen_id(&label_id, &uuid,
-                                       nsl_get_flags(ndd, nd_label));
+                                       nsl_get_flags(ndd, 
&nd_label->ns_label));
                        if (strcmp(old_label_id.id, label_id.id) == 0)
                                set_bit(ND_LABEL_REAP, &label_ent->flags);
                }
@@ -1562,7 +1562,7 @@ static struct device **create_namespace_io(struct 
nd_region *nd_region)
 static bool has_uuid_at_pos(struct nd_region *nd_region, const uuid_t *uuid,
                            u64 cookie, u16 pos)
 {
-       struct nd_namespace_label *found = NULL;
+       struct nd_lsa_label *found = NULL;
        int i;
 
        for (i = 0; i < nd_region->ndr_mappings; i++) {
@@ -1573,20 +1573,21 @@ static bool has_uuid_at_pos(struct nd_region 
*nd_region, const uuid_t *uuid,
                bool found_uuid = false;
 
                list_for_each_entry(label_ent, &nd_mapping->labels, list) {
-                       struct nd_namespace_label *nd_label = label_ent->label;
+                       struct nd_lsa_label *nd_label = label_ent->label;
                        u16 position;
 
                        if (!nd_label)
                                continue;
-                       position = nsl_get_position(ndd, nd_label);
+                       position = nsl_get_position(ndd, &nd_label->ns_label);
 
-                       if (!nsl_validate_isetcookie(ndd, nd_label, cookie))
+                       if (!nsl_validate_isetcookie(ndd, &nd_label->ns_label,
+                                                    cookie))
                                continue;
 
-                       if (!nsl_uuid_equal(ndd, nd_label, uuid))
+                       if (!nsl_uuid_equal(ndd, &nd_label->ns_label, uuid))
                                continue;
 
-                       if (!nsl_validate_type_guid(ndd, nd_label,
+                       if (!nsl_validate_type_guid(ndd, &nd_label->ns_label,
                                                    &nd_set->type_guid))
                                continue;
 
@@ -1595,7 +1596,8 @@ static bool has_uuid_at_pos(struct nd_region *nd_region, 
const uuid_t *uuid,
                                return false;
                        }
                        found_uuid = true;
-                       if (!nsl_validate_nlabel(nd_region, ndd, nd_label))
+                       if (!nsl_validate_nlabel(nd_region,
+                                                ndd, &nd_label->ns_label))
                                continue;
                        if (position != pos)
                                continue;
@@ -1615,7 +1617,7 @@ static int select_pmem_id(struct nd_region *nd_region, 
const uuid_t *pmem_id)
        for (i = 0; i < nd_region->ndr_mappings; i++) {
                struct nd_mapping *nd_mapping = &nd_region->mapping[i];
                struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
-               struct nd_namespace_label *nd_label = NULL;
+               struct nd_lsa_label *nd_label = NULL;
                u64 hw_start, hw_end, pmem_start, pmem_end;
                struct nd_label_ent *label_ent;
 
@@ -1624,7 +1626,7 @@ static int select_pmem_id(struct nd_region *nd_region, 
const uuid_t *pmem_id)
                        nd_label = label_ent->label;
                        if (!nd_label)
                                continue;
-                       if (nsl_uuid_equal(ndd, nd_label, pmem_id))
+                       if (nsl_uuid_equal(ndd, &nd_label->ns_label, pmem_id))
                                break;
                        nd_label = NULL;
                }
@@ -1640,15 +1642,15 @@ static int select_pmem_id(struct nd_region *nd_region, 
const uuid_t *pmem_id)
                 */
                hw_start = nd_mapping->start;
                hw_end = hw_start + nd_mapping->size;
-               pmem_start = nsl_get_dpa(ndd, nd_label);
-               pmem_end = pmem_start + nsl_get_rawsize(ndd, nd_label);
+               pmem_start = nsl_get_dpa(ndd, &nd_label->ns_label);
+               pmem_end = pmem_start + nsl_get_rawsize(ndd, 
&nd_label->ns_label);
                if (pmem_start >= hw_start && pmem_start < hw_end
                                && pmem_end <= hw_end && pmem_end > hw_start)
                        /* pass */;
                else {
                        dev_dbg(&nd_region->dev, "%s invalid label for %pUb\n",
                                dev_name(ndd->dev),
-                               nsl_uuid_raw(ndd, nd_label));
+                               nsl_uuid_raw(ndd, &nd_label->ns_label));
                        return -EINVAL;
                }
 
@@ -1668,7 +1670,7 @@ static int select_pmem_id(struct nd_region *nd_region, 
const uuid_t *pmem_id)
  */
 static struct device *create_namespace_pmem(struct nd_region *nd_region,
                                            struct nd_mapping *nd_mapping,
-                                           struct nd_namespace_label *nd_label)
+                                           struct nd_lsa_label *nd_label)
 {
        struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
        struct nd_namespace_index *nsindex =
@@ -1689,14 +1691,14 @@ static struct device *create_namespace_pmem(struct 
nd_region *nd_region,
                return ERR_PTR(-ENXIO);
        }
 
-       if (!nsl_validate_isetcookie(ndd, nd_label, cookie)) {
+       if (!nsl_validate_isetcookie(ndd, &nd_label->ns_label, cookie)) {
                dev_dbg(&nd_region->dev, "invalid cookie in label: %pUb\n",
-                       nsl_uuid_raw(ndd, nd_label));
-               if (!nsl_validate_isetcookie(ndd, nd_label, altcookie))
+                       nsl_uuid_raw(ndd, &nd_label->ns_label));
+               if (!nsl_validate_isetcookie(ndd, &nd_label->ns_label, 
altcookie))
                        return ERR_PTR(-EAGAIN);
 
                dev_dbg(&nd_region->dev, "valid altcookie in label: %pUb\n",
-                       nsl_uuid_raw(ndd, nd_label));
+                       nsl_uuid_raw(ndd, &nd_label->ns_label));
        }
 
        nspm = kzalloc(sizeof(*nspm), GFP_KERNEL);
@@ -1712,7 +1714,7 @@ static struct device *create_namespace_pmem(struct 
nd_region *nd_region,
        res->flags = IORESOURCE_MEM;
 
        for (i = 0; i < nd_region->ndr_mappings; i++) {
-               nsl_get_uuid(ndd, nd_label, &uuid);
+               nsl_get_uuid(ndd, &nd_label->ns_label, &uuid);
                if (has_uuid_at_pos(nd_region, &uuid, cookie, i))
                        continue;
                if (has_uuid_at_pos(nd_region, &uuid, altcookie, i))
@@ -1729,7 +1731,7 @@ static struct device *create_namespace_pmem(struct 
nd_region *nd_region,
                 * find a dimm with two instances of the same uuid.
                 */
                dev_err(&nd_region->dev, "%s missing label for %pUb\n",
-                       nvdimm_name(nvdimm), nsl_uuid_raw(ndd, nd_label));
+                       nvdimm_name(nvdimm), nsl_uuid_raw(ndd, 
&nd_label->ns_label));
                rc = -EINVAL;
                goto err;
        }
@@ -1739,14 +1741,14 @@ static struct device *create_namespace_pmem(struct 
nd_region *nd_region,
         * that position at labels[0], and NULL at labels[1].  In the process,
         * check that the namespace aligns with interleave-set.
         */
-       nsl_get_uuid(ndd, nd_label, &uuid);
+       nsl_get_uuid(ndd, &nd_label->ns_label, &uuid);
        rc = select_pmem_id(nd_region, &uuid);
        if (rc)
                goto err;
 
        /* Calculate total size and populate namespace properties from label0 */
        for (i = 0; i < nd_region->ndr_mappings; i++) {
-               struct nd_namespace_label *label0;
+               struct nd_lsa_label *label0;
                struct nvdimm_drvdata *ndd;
 
                nd_mapping = &nd_region->mapping[i];
@@ -1760,17 +1762,17 @@ static struct device *create_namespace_pmem(struct 
nd_region *nd_region,
                }
 
                ndd = to_ndd(nd_mapping);
-               size += nsl_get_rawsize(ndd, label0);
-               if (nsl_get_position(ndd, label0) != 0)
+               size += nsl_get_rawsize(ndd, &label0->ns_label);
+               if (nsl_get_position(ndd, &label0->ns_label) != 0)
                        continue;
                WARN_ON(nspm->alt_name || nspm->uuid);
-               nspm->alt_name = kmemdup(nsl_ref_name(ndd, label0),
+               nspm->alt_name = kmemdup(nsl_ref_name(ndd, &label0->ns_label),
                                         NSLABEL_NAME_LEN, GFP_KERNEL);
-               nsl_get_uuid(ndd, label0, &uuid);
+               nsl_get_uuid(ndd, &label0->ns_label, &uuid);
                nspm->uuid = kmemdup(&uuid, sizeof(uuid_t), GFP_KERNEL);
-               nspm->lbasize = nsl_get_lbasize(ndd, label0);
+               nspm->lbasize = nsl_get_lbasize(ndd, &label0->ns_label);
                nspm->nsio.common.claim_class =
-                       nsl_get_claim_class(ndd, label0);
+                       nsl_get_claim_class(ndd, &label0->ns_label);
        }
 
        if (!nspm->alt_name || !nspm->uuid) {
@@ -1887,7 +1889,7 @@ void nd_region_create_btt_seed(struct nd_region 
*nd_region)
 }
 
 static int add_namespace_resource(struct nd_region *nd_region,
-               struct nd_namespace_label *nd_label, struct device **devs,
+               struct nd_lsa_label *nd_label, struct device **devs,
                int count)
 {
        struct nd_mapping *nd_mapping = &nd_region->mapping[0];
@@ -1902,7 +1904,7 @@ static int add_namespace_resource(struct nd_region 
*nd_region,
                        continue;
                }
 
-               if (!nsl_uuid_equal(ndd, nd_label, uuid))
+               if (!nsl_uuid_equal(ndd, &nd_label->ns_label, uuid))
                        continue;
                dev_err(&nd_region->dev,
                        "error: conflicting extents for uuid: %pUb\n", uuid);
@@ -1943,15 +1945,15 @@ static struct device **scan_labels(struct nd_region 
*nd_region)
 
        /* "safe" because create_namespace_pmem() might list_move() label_ent */
        list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
-               struct nd_namespace_label *nd_label = label_ent->label;
+               struct nd_lsa_label *nd_label = label_ent->label;
                struct device **__devs;
 
                if (!nd_label)
                        continue;
 
                /* skip labels that describe extents outside of the region */
-               if (nsl_get_dpa(ndd, nd_label) < nd_mapping->start ||
-                   nsl_get_dpa(ndd, nd_label) > map_end)
+               if (nsl_get_dpa(ndd, &nd_label->ns_label) < nd_mapping->start ||
+                   nsl_get_dpa(ndd, &nd_label->ns_label) > map_end)
                        continue;
 
                i = add_namespace_resource(nd_region, nd_label, devs, count);
@@ -2122,7 +2124,7 @@ static int init_active_labels(struct nd_region *nd_region)
                if (!count)
                        continue;
                for (j = 0; j < count; j++) {
-                       struct nd_namespace_label *label;
+                       struct nd_lsa_label *label;
 
                        label_ent = kzalloc(sizeof(*label_ent), GFP_KERNEL);
                        if (!label_ent)
diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h
index 304f0e9904f1..2ead96ac598b 100644
--- a/drivers/nvdimm/nd.h
+++ b/drivers/nvdimm/nd.h
@@ -376,7 +376,7 @@ enum nd_label_flags {
 struct nd_label_ent {
        struct list_head list;
        unsigned long flags;
-       struct nd_namespace_label *label;
+       struct nd_lsa_label *label;
 };
 
 enum nd_mapping_lock_class {
-- 
2.34.1



Reply via email to