lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 17 Mar 2017 12:48:12 -0600 From: Logan Gunthorpe <logang@...tatee.com> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Dan Williams <dan.j.williams@...el.com>, Hans Verkuil <hans.verkuil@...co.com>, Alexander Viro <viro@...iv.linux.org.uk>, Alexandre Belloni <alexandre.belloni@...e-electrons.com>, Jason Gunthorpe <jgunthorpe@...idianresearch.com>, Johannes Thumshirn <jthumshirn@...e.de>, Dmitry Torokhov <dmitry.torokhov@...il.com>, Linus Walleij <linus.walleij@...aro.org>, Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>, "James E.J. Bottomley" <jejb@...ux.vnet.ibm.com>, "Martin K. Petersen" <martin.petersen@...cle.com>, David Woodhouse <dwmw2@...radead.org>, Brian Norris <computersforpeace@...il.com>, Boris Brezillon <boris.brezillon@...e-electrons.com>, Marek Vasut <marek.vasut@...il.com>, Cyrille Pitchen <cyrille.pitchen@...el.com> Cc: linux-pci@...r.kernel.org, linux-scsi@...r.kernel.org, rtc-linux@...glegroups.com, linux-mtd@...ts.infradead.org, linux-media@...r.kernel.org, linux-iio@...r.kernel.org, linux-rdma@...r.kernel.org, linux-gpio@...r.kernel.org, linux-input@...r.kernel.org, linux-nvdimm@...ts.01.org, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org, Logan Gunthorpe <logang@...tatee.com> Subject: [PATCH v5 05/16] gpiolib: utilize new cdev_device_add helper function Replace the open coded registration of the cdev and dev with the new device_add_cdev() helper. The helper replaces a common pattern by taking the proper reference against the parent device and adding both the cdev and the device. Signed-off-by: Logan Gunthorpe <logang@...tatee.com> Reviewed-by: Linus Walleij <linus.walleij@...aro.org> --- drivers/gpio/gpiolib.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 8b4d721..3ce2a27 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1035,18 +1035,14 @@ static int gpiochip_setup_dev(struct gpio_device *gdev) cdev_init(&gdev->chrdev, &gpio_fileops); gdev->chrdev.owner = THIS_MODULE; - gdev->chrdev.kobj.parent = &gdev->dev.kobj; gdev->dev.devt = MKDEV(MAJOR(gpio_devt), gdev->id); - status = cdev_add(&gdev->chrdev, gdev->dev.devt, 1); - if (status < 0) - chip_warn(gdev->chip, "failed to add char device %d:%d\n", - MAJOR(gpio_devt), gdev->id); - else - chip_dbg(gdev->chip, "added GPIO chardev (%d:%d)\n", - MAJOR(gpio_devt), gdev->id); - status = device_add(&gdev->dev); + + status = cdev_device_add(&gdev->chrdev, &gdev->dev); if (status) - goto err_remove_chardev; + return status; + + chip_dbg(gdev->chip, "added GPIO chardev (%d:%d)\n", + MAJOR(gpio_devt), gdev->id); status = gpiochip_sysfs_register(gdev); if (status) @@ -1061,9 +1057,7 @@ static int gpiochip_setup_dev(struct gpio_device *gdev) return 0; err_remove_device: - device_del(&gdev->dev); -err_remove_chardev: - cdev_del(&gdev->chrdev); + cdev_device_del(&gdev->chrdev, &gdev->dev); return status; } @@ -1347,8 +1341,7 @@ void gpiochip_remove(struct gpio_chip *chip) * be removed, else it will be dangling until the last user is * gone. */ - cdev_del(&gdev->chrdev); - device_del(&gdev->dev); + cdev_device_del(&gdev->chrdev, &gdev->dev); put_device(&gdev->dev); } EXPORT_SYMBOL_GPL(gpiochip_remove); -- 2.1.4
Powered by blists - more mailing lists