Message ID | 146654197196.34694.11595948607042214658.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 307d8e6f2485 |
Headers | show |
On 06/21/2016 10:46 PM, Dan Williams wrote: > In preparation for the removal of 'driverfs_dev' from 'struct gendisk', > carry this data in mmc_blk_data. It is used for registration of parent > disks and partitions. > > Cc: Ulf Hansson <ulf.hansson@linaro.org> > Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> > --- > drivers/mmc/card/block.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c > index 383184743f9a..d1733424bf6e 100644 > --- a/drivers/mmc/card/block.c > +++ b/drivers/mmc/card/block.c > @@ -93,6 +93,7 @@ static DEFINE_SPINLOCK(mmc_blk_lock); > */ > struct mmc_blk_data { > spinlock_t lock; > + struct device *parent; > struct gendisk *disk; > struct mmc_queue queue; > struct list_head part; > @@ -2270,7 +2271,7 @@ again: > md->disk->fops = &mmc_bdops; > md->disk->private_data = md; > md->disk->queue = md->queue.queue; > - md->disk->driverfs_dev = parent; > + md->parent = parent; > set_disk_ro(md->disk, md->read_only || default_ro); > md->disk->flags = GENHD_FL_EXT_DEVT; > if (area_type & (MMC_BLK_DATA_AREA_RPMB | MMC_BLK_DATA_AREA_BOOT)) > @@ -2458,7 +2459,7 @@ static int mmc_add_disk(struct mmc_blk_data *md) > int ret; > struct mmc_card *card = md->queue.card; > > - add_disk(md->disk); > + device_add_disk(md->parent, md->disk); > md->force_ro.show = force_ro_show; > md->force_ro.store = force_ro_store; > sysfs_attr_init(&md->force_ro.attr); What will the impact be of this patch on code that accesses driverfs_dev like printk_all_partitions()? Will this patch hurt bisectability? Thanks, Bart.
On Tue, Jun 21, 2016 at 11:38 PM, Bart Van Assche <bart.vanassche@sandisk.com> wrote: > On 06/21/2016 10:46 PM, Dan Williams wrote: >> >> In preparation for the removal of 'driverfs_dev' from 'struct gendisk', >> carry this data in mmc_blk_data. It is used for registration of parent >> disks and partitions. >> >> Cc: Ulf Hansson <ulf.hansson@linaro.org> >> Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> >> Signed-off-by: Dan Williams <dan.j.williams@intel.com> >> --- >> drivers/mmc/card/block.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c >> index 383184743f9a..d1733424bf6e 100644 >> --- a/drivers/mmc/card/block.c >> +++ b/drivers/mmc/card/block.c >> @@ -93,6 +93,7 @@ static DEFINE_SPINLOCK(mmc_blk_lock); >> */ >> struct mmc_blk_data { >> spinlock_t lock; >> + struct device *parent; >> struct gendisk *disk; >> struct mmc_queue queue; >> struct list_head part; >> @@ -2270,7 +2271,7 @@ again: >> md->disk->fops = &mmc_bdops; >> md->disk->private_data = md; >> md->disk->queue = md->queue.queue; >> - md->disk->driverfs_dev = parent; >> + md->parent = parent; >> set_disk_ro(md->disk, md->read_only || default_ro); >> md->disk->flags = GENHD_FL_EXT_DEVT; >> if (area_type & (MMC_BLK_DATA_AREA_RPMB | MMC_BLK_DATA_AREA_BOOT)) >> @@ -2458,7 +2459,7 @@ static int mmc_add_disk(struct mmc_blk_data *md) >> int ret; >> struct mmc_card *card = md->queue.card; >> >> - add_disk(md->disk); >> + device_add_disk(md->parent, md->disk); >> md->force_ro.show = force_ro_show; >> md->force_ro.store = force_ro_store; >> sysfs_attr_init(&md->force_ro.attr); > > > What will the impact be of this patch on code that accesses driverfs_dev > like printk_all_partitions()? Will this patch hurt bisectability? Hmm, yes there will be a point in the history where printk_all_partitions() will print " (driver?)" for mmc devices instead of " driver: %s". I would not classify that as breaking bisection, but it's easy enough to fix up in v5.
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 383184743f9a..d1733424bf6e 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -93,6 +93,7 @@ static DEFINE_SPINLOCK(mmc_blk_lock); */ struct mmc_blk_data { spinlock_t lock; + struct device *parent; struct gendisk *disk; struct mmc_queue queue; struct list_head part; @@ -2270,7 +2271,7 @@ again: md->disk->fops = &mmc_bdops; md->disk->private_data = md; md->disk->queue = md->queue.queue; - md->disk->driverfs_dev = parent; + md->parent = parent; set_disk_ro(md->disk, md->read_only || default_ro); md->disk->flags = GENHD_FL_EXT_DEVT; if (area_type & (MMC_BLK_DATA_AREA_RPMB | MMC_BLK_DATA_AREA_BOOT)) @@ -2458,7 +2459,7 @@ static int mmc_add_disk(struct mmc_blk_data *md) int ret; struct mmc_card *card = md->queue.card; - add_disk(md->disk); + device_add_disk(md->parent, md->disk); md->force_ro.show = force_ro_show; md->force_ro.store = force_ro_store; sysfs_attr_init(&md->force_ro.attr);
In preparation for the removal of 'driverfs_dev' from 'struct gendisk', carry this data in mmc_blk_data. It is used for registration of parent disks and partitions. Cc: Ulf Hansson <ulf.hansson@linaro.org> Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/mmc/card/block.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)