Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1432274 > unrolled thread
| Started by | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| First post | 2016-06-27 21:40 +0200 |
| Last post | 2016-06-27 21:40 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v5 0/5] Introduce device_add_disk() to kill gendisk.driverfs_dev Dan Williams <dan.j.williams@intel.com> - 2016-06-27 21:40 +0200
[PATCH v5 5/5] block: remove ->driverfs_dev Dan Williams <dan.j.williams@intel.com> - 2016-06-27 21:40 +0200
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-06-27 21:40 +0200 |
| Subject | [PATCH v5 0/5] Introduce device_add_disk() to kill gendisk.driverfs_dev |
| Message-ID | <rOKxY-4Bc-9@gated-at.bofh.it> |
Changes since v4 [1]:
1/ Continue to populate ->driverfs_dev until the final removal so that
there are no behavior changes in the middle of the series, for example
in printk_all_partitions(). (Bart)
2/ Use more descriptive 'parent' variable name instead of 'dev' in
ubd_kern.c to indicate the parent device (Bart).
3/ Remove Reported-by tags per Bart's request.
[1]: https://lists.01.org/pipermail/linux-nvdimm/2016-June/006031.html
---
Answer the "// FIXME: remove" include/linux/genhd.h. This should be
functionally equivalent to the previous state. These patches received a
build success notification from the kbuild robot.
---
Dan Williams (5):
block: introduce device_add_disk()
mmc: move 'parent' tracking to mmc_blk_data
um: track 'parent' device in a local variable
block: convert to device_add_disk()
block: remove ->driverfs_dev
arch/powerpc/sysdev/axonram.c | 3 +--
arch/um/drivers/ubd_kern.c | 5 +++--
block/genhd.c | 18 +++++++++---------
drivers/block/cciss.c | 3 +--
drivers/block/floppy.c | 3 +--
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 | 5 +++--
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(+), 72 deletions(-)
[toc] | [next] | [standalone]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2016-06-27 21:40 +0200 |
| Subject | [PATCH v5 5/5] block: remove ->driverfs_dev |
| Message-ID | <rOKxY-4Bc-37@gated-at.bofh.it> |
| In reply to | #1432274 |
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: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
block/genhd.c | 9 ++-------
drivers/nvdimm/bus.c | 2 +-
include/linux/genhd.h | 4 +---
3 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/block/genhd.c b/block/genhd.c
index fb2d9aeb75a5..a18d35390f1d 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -618,10 +618,6 @@ void device_add_disk(struct device *parent, struct gendisk *disk)
blk_register_region(disk_devt(disk), disk->minors, NULL,
exact_match, exact_lock, disk);
-
- /* temporary while we convert usages to use disk_to_dev(disk)->parent */
- disk->driverfs_dev = parent;
-
register_disk(parent, disk);
blk_register_queue(disk);
@@ -804,10 +800,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 f085f8bceae8..5e4e5c772ea5 100644
--- a/drivers/nvdimm/bus.c
+++ b/drivers/nvdimm/bus.c
@@ -312,7 +312,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 df1dabbfd388..1dbf52f9c24b 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -205,7 +205,6 @@ struct gendisk {
void *private_data;
int flags;
- struct device *driverfs_dev; // FIXME: remove
struct kobject *slave_dir;
struct timer_rand_state *random;
@@ -417,8 +416,7 @@ extern void part_round_stats(int cpu, struct hd_struct *part);
extern void 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 */
- device_add_disk(disk->driverfs_dev, disk);
+ device_add_disk(NULL, disk);
}
extern void del_gendisk(struct gendisk *gp);
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web