Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1343448 > unrolled thread

[PATCH 0/3] Introduce device_add_disk() to kill gendisk.driverfs_dev

Started byDan Williams <dan.j.williams@intel.com>
First post2016-02-25 21:10 +0100
Last post2016-02-25 21:10 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/3] Introduce device_add_disk() to kill gendisk.driverfs_dev Dan Williams <dan.j.williams@intel.com> - 2016-02-25 21:10 +0100
    [PATCH 3/3] block: remove ->driverfs_dev Dan Williams <dan.j.williams@intel.com> - 2016-02-25 21:10 +0100

#1343448 — [PATCH 0/3] Introduce device_add_disk() to kill gendisk.driverfs_dev

FromDan Williams <dan.j.williams@intel.com>
Date2016-02-25 21:10 +0100
Subject[PATCH 0/3] Introduce device_add_disk() to kill gendisk.driverfs_dev
Message-ID<r6aoy-z4-7@gated-at.bofh.it>
Answer the "// FIXME: remove" include/linux/genhd.h.  This should be
functionally equivalent to the previous state.  Now that the WARN_ON()
for the registration failure case is up-levelled to some drivers, they
can take on the follow on work to handle device_add_disk() failures.

Note, a full run from the kbuild robot is still pending.  I'll post v2
if it reports anything against this set on top of current -next.

---

Dan Williams (3):
      block: introduce device_add_disk()
      block: convert to device_add_disk()
      block: remove ->driverfs_dev


 arch/powerpc/sysdev/axonram.c       |    3 +--
 arch/um/drivers/ubd_kern.c          |    3 +--
 block/genhd.c                       |   27 ++++++++++++---------------
 drivers/block/cciss.c               |    3 +--
 drivers/block/floppy.c              |    4 ++--
 drivers/block/mtip32xx/mtip32xx.c   |    5 ++---
 drivers/block/ps3disk.c             |    3 +--
 drivers/block/ps3vram.c             |    3 +--
 drivers/block/rsxx/dev.c            |    4 +---
 drivers/block/skd_main.c            |    8 +++-----
 drivers/block/sunvdc.c              |    3 +--
 drivers/block/virtio_blk.c          |    3 +--
 drivers/block/xen-blkfront.c        |    3 +--
 drivers/ide/ide-cd.c                |    3 +--
 drivers/ide/ide-gd.c                |    3 +--
 drivers/memstick/core/ms_block.c    |    3 +--
 drivers/memstick/core/mspro_block.c |    3 +--
 drivers/mmc/card/block.c            |    3 +--
 drivers/mtd/mtd_blkdevs.c           |    4 +---
 drivers/nvdimm/blk.c                |    3 +--
 drivers/nvdimm/btt.c                |    3 +--
 drivers/nvdimm/bus.c                |    2 +-
 drivers/nvdimm/pmem.c               |    3 +--
 drivers/nvme/host/core.c            |    3 +--
 drivers/s390/block/dasd_genhd.c     |    3 +--
 drivers/s390/block/dcssblk.c        |    3 +--
 drivers/s390/block/scm_blk.c        |    3 +--
 drivers/scsi/sd.c                   |    3 +--
 drivers/scsi/sr.c                   |    3 +--
 include/linux/genhd.h               |    8 ++++++--
 30 files changed, 50 insertions(+), 78 deletions(-)

[toc] | [next] | [standalone]


#1343449 — [PATCH 3/3] block: remove ->driverfs_dev

FromDan Williams <dan.j.williams@intel.com>
Date2016-02-25 21:10 +0100
Subject[PATCH 3/3] block: remove ->driverfs_dev
Message-ID<r6aoy-z4-19@gated-at.bofh.it>
In reply to#1343448
Now that all drivers that specify a ->driverfs_dev have been converted
to device_add_disk(), the pointer can be removed from struct gendisk.

Cc: Jens Axboe <axboe@fb.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 block/genhd.c         |    5 ++---
 drivers/nvdimm/bus.c  |    2 +-
 include/linux/genhd.h |    4 +---
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index 3fa2654ada52..d20f36bf42fa 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -797,10 +797,9 @@ void __init printk_all_partitions(void)
 			       , disk_name(disk, part->partno, name_buf),
 			       part->info ? part->info->uuid : "");
 			if (is_part0) {
-				if (disk->driverfs_dev != NULL &&
-				    disk->driverfs_dev->driver != NULL)
+				if (dev->parent && dev->parent->driver)
 					printk(" driver: %s\n",
-					      disk->driverfs_dev->driver->name);
+					      dev->parent->driver->name);
 				else
 					printk(" (driver?)\n");
 			} else
diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
index 2b2181cdeb63..f2540bfaa65a 100644
--- a/drivers/nvdimm/bus.c
+++ b/drivers/nvdimm/bus.c
@@ -235,7 +235,7 @@ EXPORT_SYMBOL(__nd_driver_register);
 
 int nvdimm_revalidate_disk(struct gendisk *disk)
 {
-	struct device *dev = disk->driverfs_dev;
+	struct device *dev = disk_to_dev(disk)->parent;
 	struct nd_region *nd_region = to_nd_region(dev->parent);
 	const char *pol = nd_region->ro ? "only" : "write";
 
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index 6fa03fe589ad..0c065e8549f1 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -204,7 +204,6 @@ struct gendisk {
 	void *private_data;
 
 	int flags;
-	struct device *driverfs_dev;  // FIXME: remove
 	struct kobject *slave_dir;
 
 	struct timer_rand_state *random;
@@ -434,8 +433,7 @@ extern void part_round_stats(int cpu, struct hd_struct *part);
 extern int device_add_disk(struct device *parent, struct gendisk *disk);
 static inline void add_disk(struct gendisk *disk)
 {
-	/* temporary while we convert callers to device_add_disk */
-	WARN_ON(device_add_disk(disk->driverfs_dev, disk) != 0);
+	WARN_ON(device_add_disk(NULL, disk) != 0);
 }
 
 extern void del_gendisk(struct gendisk *gp);

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web