@@ -157,7 +157,8 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
char *name)
{
struct nd_region *nd_region = to_nd_region(ndns->dev.parent);
- const char *suffix = NULL;
+ const char *suffix = "";
+ int region_id = nd_region->id;
if (ndns->claim && is_nd_btt(ndns->claim))
suffix = "s";
@@ -173,17 +174,14 @@ const char *nvdimm_namespace_disk_name(struct nd_namespace_common *ndns,
}
if (nsidx)
- sprintf(name, "pmem%d.%d%s", nd_region->id, nsidx,
- suffix ? suffix : "");
+ sprintf(name, "pmem%d.%d%s", region_id, nsidx, suffix);
else
- sprintf(name, "pmem%d%s", nd_region->id,
- suffix ? suffix : "");
+ sprintf(name, "pmem%d%s", region_id, suffix);
} else if (is_namespace_blk(&ndns->dev)) {
struct nd_namespace_blk *nsblk;
nsblk = to_nd_namespace_blk(&ndns->dev);
- sprintf(name, "ndblk%d.%d%s", nd_region->id, nsblk->id,
- suffix ? suffix : "");
+ sprintf(name, "ndblk%d.%d%s", region_id, nsblk->id, suffix);
} else {
return NULL;
}
The judgment (suffix ? suffix : "") appears three times, we do this just because the initial value of local variable "suffix" is NULL, should be replaced with empty string "" to avoid null pointer reference. It's easy to get rid of it as below: - const char *suffix = NULL; + const char *suffix = ""; To avoid having rows that exceed 80 columns, add a new local variable "region_id". No functional change, but it can reduce the code size. Before: text data bss dec hex filename 41749 3697 16 45462 b196 drivers/nvdimm/namespace_devs.o After: text data bss dec hex filename 41653 3697 16 45366 b136 drivers/nvdimm/namespace_devs.o Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- v1 --> v2: 1. Only the title and description are modified. v1: https://lore.kernel.org/patchwork/patch/1292584/ drivers/nvdimm/namespace_devs.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)