Very straightforward conversion to device_add_cdev. Drop cdev_add and device_add and use cdev_device_add.
Signed-off-by: Logan Gunthorpe <log...@deltatee.com> --- drivers/pci/switch/switchtec.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c index 94384e7..bd8135b 100644 --- a/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c @@ -1182,10 +1182,10 @@ static void stdev_unregister(struct switchtec_dev *stdev) pci_clear_master(stdev->pdev); pci_set_drvdata(stdev->pdev, NULL); - cdev_del(&stdev->cdev); + cdev_device_del(&stdev->cdev, &stdev->dev); ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); - device_unregister(&stdev->dev); + put_device(&stdev->dev); } static struct switchtec_dev *stdev_create(struct pci_dev *pdev) @@ -1231,24 +1231,17 @@ static struct switchtec_dev *stdev_create(struct pci_dev *pdev) cdev = &stdev->cdev; cdev_init(cdev, &switchtec_fops); cdev->owner = THIS_MODULE; - cdev->kobj.parent = &dev->kobj; - rc = cdev_add(&stdev->cdev, dev->devt, 1); + rc = cdev_device_add(&stdev->cdev, dev); if (rc) goto err_cdev; - rc = device_add(dev); - if (rc) - goto err_devadd; - return stdev; -err_devadd: +err_cdev: mutex_lock(&stdev->mrpc_mutex); stdev->alive = false; mutex_unlock(&stdev->mrpc_mutex); - cdev_del(&stdev->cdev); -err_cdev: ida_simple_remove(&switchtec_minor_ida, minor); err_put: put_device(&stdev->dev); -- 2.1.4 _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm