nvdimm: remove nd_integrity_init
authorChristoph Hellwig <hch@lst.de>
Wed, 6 Mar 2024 14:27:37 +0000 (07:27 -0700)
committerIra Weiny <ira.weiny@intel.com>
Thu, 25 Apr 2024 19:37:12 +0000 (12:37 -0700)
nd_integrity_init is only called from a single place.  Open code it
there, and use IS_ENABLED to remove the need for an extra stub.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240306142739.237234-2-hch@lst.de
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
drivers/nvdimm/btt.c
drivers/nvdimm/core.c
drivers/nvdimm/nd.h

index 4d0c527e8576785fbff56eadf9cdf0412290f831..8e855b4e3e383abdd9dc104a60442a3ef8210606 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/highmem.h>
 #include <linux/debugfs.h>
 #include <linux/blkdev.h>
+#include <linux/blk-integrity.h>
 #include <linux/pagemap.h>
 #include <linux/module.h>
 #include <linux/device.h>
@@ -1514,10 +1515,13 @@ static int btt_blk_init(struct btt *btt)
        blk_queue_flag_set(QUEUE_FLAG_NONROT, btt->btt_disk->queue);
        blk_queue_flag_set(QUEUE_FLAG_SYNCHRONOUS, btt->btt_disk->queue);
 
-       if (btt_meta_size(btt)) {
-               rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt));
-               if (rc)
-                       goto out_cleanup_disk;
+       if (btt_meta_size(btt) && IS_ENABLED(CONFIG_BLK_DEV_INTEGRITY)) {
+               struct blk_integrity bi = {
+                       .tuple_size     = btt_meta_size(btt),
+                       .tag_size       = btt_meta_size(btt),
+               };
+               blk_integrity_register(btt->btt_disk, &bi);
+               blk_queue_max_integrity_segments(btt->btt_disk->queue, 1);
        }
 
        set_capacity(btt->btt_disk, btt->nlba * btt->sector_size >> 9);
index d91799b71d23a3d8bb0d71505224eb94fc4f338a..2023a661bbb0b8ea2d7c06a3e6a269aaf87f94ee 100644 (file)
@@ -7,7 +7,6 @@
 #include <linux/export.h>
 #include <linux/module.h>
 #include <linux/blkdev.h>
-#include <linux/blk-integrity.h>
 #include <linux/device.h>
 #include <linux/ctype.h>
 #include <linux/ndctl.h>
@@ -508,35 +507,6 @@ int nvdimm_bus_add_badrange(struct nvdimm_bus *nvdimm_bus, u64 addr, u64 length)
 }
 EXPORT_SYMBOL_GPL(nvdimm_bus_add_badrange);
 
-#ifdef CONFIG_BLK_DEV_INTEGRITY
-int nd_integrity_init(struct gendisk *disk, unsigned long meta_size)
-{
-       struct blk_integrity bi;
-
-       if (meta_size == 0)
-               return 0;
-
-       memset(&bi, 0, sizeof(bi));
-
-       bi.tuple_size = meta_size;
-       bi.tag_size = meta_size;
-
-       blk_integrity_register(disk, &bi);
-       blk_queue_max_integrity_segments(disk->queue, 1);
-
-       return 0;
-}
-EXPORT_SYMBOL(nd_integrity_init);
-
-#else /* CONFIG_BLK_DEV_INTEGRITY */
-int nd_integrity_init(struct gendisk *disk, unsigned long meta_size)
-{
-       return 0;
-}
-EXPORT_SYMBOL(nd_integrity_init);
-
-#endif
-
 static __init int libnvdimm_init(void)
 {
        int rc;
index ae2078eb6a6265eaf80a0d5ede8fcb03c8e054e6..2dbb1dca17b534a09ddf6ccb4bfeb4c77bf4dee2 100644 (file)
@@ -489,7 +489,6 @@ enum nd_async_mode {
        ND_ASYNC,
 };
 
-int nd_integrity_init(struct gendisk *disk, unsigned long meta_size);
 void wait_nvdimm_bus_probe_idle(struct device *dev);
 void nd_device_register(struct device *dev);
 void nd_device_unregister(struct device *dev, enum nd_async_mode mode);