Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

block: convert to device_add_disk()

For block drivers that specify a parent device, convert them to use
device_add_disk().

This conversion was done with the following semantic patch:

@@
struct gendisk *disk;
expression E;
@@

- disk->driverfs_dev = E;
...
- add_disk(disk);
+ device_add_disk(E, disk);

@@
struct gendisk *disk;
expression E1, E2;
@@

- disk->driverfs_dev = E1;
...
E2 = disk;
...
- add_disk(E2);
+ device_add_disk(E1, E2);

...plus some manual fixups for a few missed conversions.

Cc: Jens Axboe <axboe@fb.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Martin K. Petersen <martin.petersen@oracle.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>

+28 -56
+1 -2
arch/powerpc/sysdev/axonram.c
··· 223 223 bank->disk->first_minor = azfs_minor; 224 224 bank->disk->fops = &axon_ram_devops; 225 225 bank->disk->private_data = bank; 226 - bank->disk->driverfs_dev = &device->dev; 227 226 228 227 sprintf(bank->disk->disk_name, "%s%d", 229 228 AXON_RAM_DEVICE_NAME, axon_ram_bank_id); ··· 237 238 set_capacity(bank->disk, bank->size >> AXON_RAM_SECTOR_SHIFT); 238 239 blk_queue_make_request(bank->disk->queue, axon_ram_make_request); 239 240 blk_queue_logical_block_size(bank->disk->queue, AXON_RAM_SECTOR_SIZE); 240 - add_disk(bank->disk); 241 + device_add_disk(&device->dev, bank->disk); 241 242 242 243 bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0); 243 244 if (bank->irq_id == NO_IRQ) {
+1 -2
drivers/block/cciss.c
··· 1951 1951 if (cciss_create_ld_sysfs_entry(h, drv_index)) 1952 1952 goto cleanup_queue; 1953 1953 disk->private_data = h->drv[drv_index]; 1954 - disk->driverfs_dev = &h->drv[drv_index]->dev; 1955 1954 1956 1955 /* Set up queue information */ 1957 1956 blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask); ··· 1972 1973 /* allows the interrupt handler to start the queue */ 1973 1974 wmb(); 1974 1975 h->drv[drv_index]->queue = disk->queue; 1975 - add_disk(disk); 1976 + device_add_disk(&h->drv[drv_index]->dev, disk); 1976 1977 return 0; 1977 1978 1978 1979 cleanup_queue:
+1 -2
drivers/block/floppy.c
··· 4350 4350 /* to be cleaned up... */ 4351 4351 disks[drive]->private_data = (void *)(long)drive; 4352 4352 disks[drive]->flags |= GENHD_FL_REMOVABLE; 4353 - disks[drive]->driverfs_dev = &floppy_device[drive].dev; 4354 - add_disk(disks[drive]); 4353 + device_add_disk(&floppy_device[drive].dev, disks[drive]); 4355 4354 } 4356 4355 4357 4356 return 0;
+2 -3
drivers/block/mtip32xx/mtip32xx.c
··· 3956 3956 if (rv) 3957 3957 goto disk_index_error; 3958 3958 3959 - dd->disk->driverfs_dev = &dd->pdev->dev; 3960 3959 dd->disk->major = dd->major; 3961 3960 dd->disk->first_minor = index * MTIP_MAX_MINORS; 3962 3961 dd->disk->minors = MTIP_MAX_MINORS; ··· 4007 4008 4008 4009 /* 4009 4010 * if rebuild pending, start the service thread, and delay the block 4010 - * queue creation and add_disk() 4011 + * queue creation and device_add_disk() 4011 4012 */ 4012 4013 if (wait_for_rebuild == MTIP_FTL_REBUILD_MAGIC) 4013 4014 goto start_service_thread; ··· 4041 4042 set_capacity(dd->disk, capacity); 4042 4043 4043 4044 /* Enable the block device and add it to /dev */ 4044 - add_disk(dd->disk); 4045 + device_add_disk(&dd->pdev->dev, dd->disk); 4045 4046 4046 4047 dd->bdev = bdget_disk(dd->disk, 0); 4047 4048 /*
+1 -2
drivers/block/ps3disk.c
··· 487 487 gendisk->fops = &ps3disk_fops; 488 488 gendisk->queue = queue; 489 489 gendisk->private_data = dev; 490 - gendisk->driverfs_dev = &dev->sbd.core; 491 490 snprintf(gendisk->disk_name, sizeof(gendisk->disk_name), PS3DISK_NAME, 492 491 devidx+'a'); 493 492 priv->blocking_factor = dev->blk_size >> 9; ··· 498 499 gendisk->disk_name, priv->model, priv->raw_capacity >> 11, 499 500 get_capacity(gendisk) >> 11); 500 501 501 - add_disk(gendisk); 502 + device_add_disk(&dev->sbd.core, gendisk); 502 503 return 0; 503 504 504 505 fail_cleanup_queue:
+1 -2
drivers/block/ps3vram.c
··· 773 773 gendisk->fops = &ps3vram_fops; 774 774 gendisk->queue = queue; 775 775 gendisk->private_data = dev; 776 - gendisk->driverfs_dev = &dev->core; 777 776 strlcpy(gendisk->disk_name, DEVICE_NAME, sizeof(gendisk->disk_name)); 778 777 set_capacity(gendisk, priv->size >> 9); 779 778 780 779 dev_info(&dev->core, "%s: Using %lu MiB of GPU memory\n", 781 780 gendisk->disk_name, get_capacity(gendisk) >> 11); 782 781 783 - add_disk(gendisk); 782 + device_add_disk(&dev->core, gendisk); 784 783 return 0; 785 784 786 785 fail_cleanup_queue:
+1 -3
drivers/block/rsxx/dev.c
··· 230 230 set_capacity(card->gendisk, card->size8 >> 9); 231 231 else 232 232 set_capacity(card->gendisk, 0); 233 - add_disk(card->gendisk); 234 - 233 + device_add_disk(CARD_TO_DEV(card), card->gendisk); 235 234 card->bdev_attached = 1; 236 235 } 237 236 ··· 307 308 308 309 snprintf(card->gendisk->disk_name, sizeof(card->gendisk->disk_name), 309 310 "rsxx%d", card->disk_id); 310 - card->gendisk->driverfs_dev = &card->dev->dev; 311 311 card->gendisk->major = card->major; 312 312 card->gendisk->first_minor = 0; 313 313 card->gendisk->fops = &rsxx_fops;
+3 -5
drivers/block/skd_main.c
··· 4690 4690 return -EIO; 4691 4691 } 4692 4692 4693 - static int skd_bdev_attach(struct skd_device *skdev) 4693 + static int skd_bdev_attach(struct device *parent, struct skd_device *skdev) 4694 4694 { 4695 4695 pr_debug("%s:%s:%d add_disk\n", skdev->name, __func__, __LINE__); 4696 - add_disk(skdev->disk); 4696 + device_add_disk(parent, skdev->disk); 4697 4697 return 0; 4698 4698 } 4699 4699 ··· 4812 4812 4813 4813 pci_set_drvdata(pdev, skdev); 4814 4814 4815 - skdev->disk->driverfs_dev = &pdev->dev; 4816 - 4817 4815 for (i = 0; i < SKD_MAX_BARS; i++) { 4818 4816 skdev->mem_phys[i] = pci_resource_start(pdev, i); 4819 4817 skdev->mem_size[i] = (u32)pci_resource_len(pdev, i); ··· 4849 4851 (SKD_START_WAIT_SECONDS * HZ)); 4850 4852 if (skdev->gendisk_on > 0) { 4851 4853 /* device came on-line after reset */ 4852 - skd_bdev_attach(skdev); 4854 + skd_bdev_attach(&pdev->dev, skdev); 4853 4855 rc = 0; 4854 4856 } else { 4855 4857 /* we timed out, something is wrong with the device,
+1 -2
drivers/block/sunvdc.c
··· 804 804 g->fops = &vdc_fops; 805 805 g->queue = q; 806 806 g->private_data = port; 807 - g->driverfs_dev = &port->vio.vdev->dev; 808 807 809 808 set_capacity(g, port->vdisk_size); 810 809 ··· 834 835 port->vdisk_size, (port->vdisk_size >> (20 - 9)), 835 836 port->vio.ver.major, port->vio.ver.minor); 836 837 837 - add_disk(g); 838 + device_add_disk(&port->vio.vdev->dev, g); 838 839 839 840 return 0; 840 841 }
+1 -2
drivers/block/virtio_blk.c
··· 656 656 vblk->disk->first_minor = index_to_minor(index); 657 657 vblk->disk->private_data = vblk; 658 658 vblk->disk->fops = &virtblk_fops; 659 - vblk->disk->driverfs_dev = &vdev->dev; 660 659 vblk->disk->flags |= GENHD_FL_EXT_DEVT; 661 660 vblk->index = index; 662 661 ··· 732 733 733 734 virtio_device_ready(vdev); 734 735 735 - add_disk(vblk->disk); 736 + device_add_disk(&vdev->dev, vblk->disk); 736 737 err = device_create_file(disk_to_dev(vblk->disk), &dev_attr_serial); 737 738 if (err) 738 739 goto out_del_disk;
+1 -2
drivers/block/xen-blkfront.c
··· 1137 1137 gd->first_minor = minor; 1138 1138 gd->fops = &xlvbd_block_fops; 1139 1139 gd->private_data = info; 1140 - gd->driverfs_dev = &(info->xbdev->dev); 1141 1140 set_capacity(gd, capacity); 1142 1141 1143 1142 if (xlvbd_init_blk_queue(gd, sector_size, physical_sector_size, ··· 2462 2463 for (i = 0; i < info->nr_rings; i++) 2463 2464 kick_pending_request_queues(&info->rinfo[i]); 2464 2465 2465 - add_disk(info->gd); 2466 + device_add_disk(&info->xbdev->dev, info->gd); 2466 2467 2467 2468 info->is_ready = 1; 2468 2469 }
+1 -2
drivers/ide/ide-cd.c
··· 1770 1770 drive->driver_data = info; 1771 1771 1772 1772 g->minors = 1; 1773 - g->driverfs_dev = &drive->gendev; 1774 1773 g->flags = GENHD_FL_CD | GENHD_FL_REMOVABLE; 1775 1774 if (ide_cdrom_setup(drive)) { 1776 1775 put_device(&info->dev); ··· 1779 1780 ide_cd_read_toc(drive, &sense); 1780 1781 g->fops = &idecd_ops; 1781 1782 g->flags |= GENHD_FL_REMOVABLE | GENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE; 1782 - add_disk(g); 1783 + device_add_disk(&drive->gendev, g); 1783 1784 return 0; 1784 1785 1785 1786 out_free_disk:
+1 -2
drivers/ide/ide-gd.c
··· 412 412 set_capacity(g, ide_gd_capacity(drive)); 413 413 414 414 g->minors = IDE_DISK_MINORS; 415 - g->driverfs_dev = &drive->gendev; 416 415 g->flags |= GENHD_FL_EXT_DEVT; 417 416 if (drive->dev_flags & IDE_DFLAG_REMOVABLE) 418 417 g->flags = GENHD_FL_REMOVABLE; 419 418 g->fops = &ide_gd_ops; 420 - add_disk(g); 419 + device_add_disk(&drive->gendev, g); 421 420 return 0; 422 421 423 422 out_free_disk:
+1 -2
drivers/memstick/core/ms_block.c
··· 2146 2146 msb->disk->fops = &msb_bdops; 2147 2147 msb->disk->private_data = msb; 2148 2148 msb->disk->queue = msb->queue; 2149 - msb->disk->driverfs_dev = &card->dev; 2150 2149 msb->disk->flags |= GENHD_FL_EXT_DEVT; 2151 2150 2152 2151 capacity = msb->pages_in_block * msb->logical_block_count; ··· 2162 2163 set_disk_ro(msb->disk, 1); 2163 2164 2164 2165 msb_start(card); 2165 - add_disk(msb->disk); 2166 + device_add_disk(&card->dev, msb->disk); 2166 2167 dbg("Disk added"); 2167 2168 return 0; 2168 2169
+1 -2
drivers/memstick/core/mspro_block.c
··· 1243 1243 msb->usage_count = 1; 1244 1244 msb->disk->private_data = msb; 1245 1245 msb->disk->queue = msb->queue; 1246 - msb->disk->driverfs_dev = &card->dev; 1247 1246 1248 1247 sprintf(msb->disk->disk_name, "mspblk%d", disk_id); 1249 1248 ··· 1254 1255 set_capacity(msb->disk, capacity); 1255 1256 dev_dbg(&card->dev, "capacity set %ld\n", capacity); 1256 1257 1257 - add_disk(msb->disk); 1258 + device_add_disk(&card->dev, msb->disk); 1258 1259 msb->active = 1; 1259 1260 return 0; 1260 1261
+1 -3
drivers/mtd/mtd_blkdevs.c
··· 431 431 goto error4; 432 432 INIT_WORK(&new->work, mtd_blktrans_work); 433 433 434 - gd->driverfs_dev = &new->mtd->dev; 435 - 436 434 if (new->readonly) 437 435 set_disk_ro(gd, 1); 438 436 439 - add_disk(gd); 437 + device_add_disk(&new->mtd->dev, gd); 440 438 441 439 if (new->disk_attributes) { 442 440 ret = sysfs_create_group(&disk_to_dev(gd)->kobj,
+1 -2
drivers/nvdimm/blk.c
··· 287 287 return -ENOMEM; 288 288 } 289 289 290 - disk->driverfs_dev = dev; 291 290 disk->first_minor = 0; 292 291 disk->fops = &nd_blk_fops; 293 292 disk->queue = q; 294 293 disk->flags = GENHD_FL_EXT_DEVT; 295 294 nvdimm_namespace_disk_name(&nsblk->common, disk->disk_name); 296 295 set_capacity(disk, 0); 297 - add_disk(disk); 296 + device_add_disk(dev, disk); 298 297 299 298 if (nsblk_meta_size(nsblk)) { 300 299 int rc = nd_integrity_init(disk, nsblk_meta_size(nsblk));
+1 -2
drivers/nvdimm/btt.c
··· 1243 1243 } 1244 1244 1245 1245 nvdimm_namespace_disk_name(ndns, btt->btt_disk->disk_name); 1246 - btt->btt_disk->driverfs_dev = &btt->nd_btt->dev; 1247 1246 btt->btt_disk->first_minor = 0; 1248 1247 btt->btt_disk->fops = &btt_fops; 1249 1248 btt->btt_disk->private_data = btt; ··· 1257 1258 btt->btt_queue->queuedata = btt; 1258 1259 1259 1260 set_capacity(btt->btt_disk, 0); 1260 - add_disk(btt->btt_disk); 1261 + device_add_disk(&btt->nd_btt->dev, btt->btt_disk); 1261 1262 if (btt_meta_size(btt)) { 1262 1263 int rc = nd_integrity_init(btt->btt_disk, btt_meta_size(btt)); 1263 1264
+1 -2
drivers/nvdimm/pmem.c
··· 297 297 disk->queue = q; 298 298 disk->flags = GENHD_FL_EXT_DEVT; 299 299 nvdimm_namespace_disk_name(ndns, disk->disk_name); 300 - disk->driverfs_dev = dev; 301 300 set_capacity(disk, (pmem->size - pmem->pfn_pad - pmem->data_offset) 302 301 / 512); 303 302 if (devm_init_badblocks(dev, &pmem->bb)) 304 303 return -ENOMEM; 305 304 nvdimm_badblocks_populate(to_nd_region(dev->parent), &pmem->bb, res); 306 305 disk->bb = &pmem->bb; 307 - add_disk(disk); 306 + device_add_disk(dev, disk); 308 307 revalidate_disk(disk); 309 308 310 309 return 0;
+1 -2
drivers/nvme/host/core.c
··· 1480 1480 disk->fops = &nvme_fops; 1481 1481 disk->private_data = ns; 1482 1482 disk->queue = ns->queue; 1483 - disk->driverfs_dev = ctrl->device; 1484 1483 disk->flags = GENHD_FL_EXT_DEVT; 1485 1484 sprintf(disk->disk_name, "nvme%dn%d", ctrl->instance, ns->instance); 1486 1485 ··· 1491 1492 if (ns->type == NVME_NS_LIGHTNVM) 1492 1493 return; 1493 1494 1494 - add_disk(ns->disk); 1495 + device_add_disk(ctrl->device, ns->disk); 1495 1496 if (sysfs_create_group(&disk_to_dev(ns->disk)->kobj, 1496 1497 &nvme_ns_attr_group)) 1497 1498 pr_warn("%s: failed to create sysfs group for identification\n",
+1 -2
drivers/s390/block/dasd_genhd.c
··· 45 45 gdp->major = DASD_MAJOR; 46 46 gdp->first_minor = base->devindex << DASD_PARTN_BITS; 47 47 gdp->fops = &dasd_device_operations; 48 - gdp->driverfs_dev = &base->cdev->dev; 49 48 50 49 /* 51 50 * Set device name. ··· 75 76 gdp->queue = block->request_queue; 76 77 block->gdp = gdp; 77 78 set_capacity(block->gdp, 0); 78 - add_disk(block->gdp); 79 + device_add_disk(&base->cdev->dev, block->gdp); 79 80 return 0; 80 81 } 81 82
+1 -2
drivers/s390/block/dcssblk.c
··· 615 615 dev_info->dcssblk_queue = blk_alloc_queue(GFP_KERNEL); 616 616 dev_info->gd->queue = dev_info->dcssblk_queue; 617 617 dev_info->gd->private_data = dev_info; 618 - dev_info->gd->driverfs_dev = &dev_info->dev; 619 618 blk_queue_make_request(dev_info->dcssblk_queue, dcssblk_make_request); 620 619 blk_queue_logical_block_size(dev_info->dcssblk_queue, 4096); 621 620 ··· 654 655 goto put_dev; 655 656 656 657 get_device(&dev_info->dev); 657 - add_disk(dev_info->gd); 658 + device_add_disk(&dev_info->dev, dev_info->gd); 658 659 659 660 switch (dev_info->segment_type) { 660 661 case SEG_TYPE_SR:
+1 -2
drivers/s390/block/scm_blk.c
··· 512 512 goto out_queue; 513 513 514 514 rq->queuedata = scmdev; 515 - bdev->gendisk->driverfs_dev = &scmdev->dev; 516 515 bdev->gendisk->private_data = scmdev; 517 516 bdev->gendisk->fops = &scm_blk_devops; 518 517 bdev->gendisk->queue = rq; ··· 530 531 531 532 /* 512 byte sectors */ 532 533 set_capacity(bdev->gendisk, scmdev->size >> 9); 533 - add_disk(bdev->gendisk); 534 + device_add_disk(&scmdev->dev, bdev->gendisk); 534 535 return 0; 535 536 536 537 out_queue:
+1 -2
drivers/scsi/sd.c
··· 2994 2994 2995 2995 sd_revalidate_disk(gd); 2996 2996 2997 - gd->driverfs_dev = &sdp->sdev_gendev; 2998 2997 gd->flags = GENHD_FL_EXT_DEVT; 2999 2998 if (sdp->removable) { 3000 2999 gd->flags |= GENHD_FL_REMOVABLE; ··· 3001 3002 } 3002 3003 3003 3004 blk_pm_runtime_init(sdp->request_queue, dev); 3004 - add_disk(gd); 3005 + device_add_disk(dev, gd); 3005 3006 if (sdkp->capacity) 3006 3007 sd_dif_config_host(sdkp); 3007 3008
+1 -2
drivers/scsi/sr.c
··· 713 713 get_capabilities(cd); 714 714 sr_vendor_init(cd); 715 715 716 - disk->driverfs_dev = &sdev->sdev_gendev; 717 716 set_capacity(disk, cd->capacity); 718 717 disk->private_data = &cd->driver; 719 718 disk->queue = sdev->request_queue; ··· 729 730 730 731 dev_set_drvdata(dev, cd); 731 732 disk->flags |= GENHD_FL_REMOVABLE; 732 - add_disk(disk); 733 + device_add_disk(&sdev->sdev_gendev, disk); 733 734 734 735 sdev_printk(KERN_DEBUG, sdev, 735 736 "Attached scsi CD-ROM %s\n", cd->cdi.name);