From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans Verkuil Subject: Re: [PATCH v2 11/16] media: utilize new cdev_device_add helper function Date: Mon, 27 Feb 2017 10:02:11 +0100 Message-ID: <8eff8408-1681-a59d-3b61-8fd5dab73af1@cisco.com> References: <1488091097-12328-1-git-send-email-logang@deltatee.com> <1488091097-12328-12-git-send-email-logang@deltatee.com> Reply-To: rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Cc: linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Hans Verkuil To: Logan Gunthorpe , Greg Kroah-Hartman , Dan Williams , Alexander Viro , Johannes Thumshirn , Jan Kara , Arnd Bergmann , Sajjan Vikas C , Dmitry Torokhov , Linus Walleij , Alexandre Courbot , Peter Huewe , Marcel Selhorst , Jarkko Sakkinen , Jason Gunthorpe , Olof Johansson , Doug Ledford , Sean Hefty , Hal Rosenstock , Dmitry Vyuk Return-path: Sender: rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org In-Reply-To: <1488091097-12328-12-git-send-email-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org> List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , List-Id: linux-fsdevel.vger.kernel.org On 02/26/2017 07:38 AM, Logan Gunthorpe wrote: > 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 Acked-by: Hans Verkuil FYI: this patch series didn't turn up at the linux-media mailinglist for some reason. Regards, Hans > --- > drivers/media/cec/cec-core.c | 16 ++++------------ > drivers/media/media-devnode.c | 20 +++++--------------- > 2 files changed, 9 insertions(+), 27 deletions(-) > > diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c > index aca3ab8..3e93c1a 100644 > --- a/drivers/media/cec/cec-core.c > +++ b/drivers/media/cec/cec-core.c > @@ -137,24 +137,17 @@ static int __must_check cec_devnode_register(struct cec_devnode *devnode, > > /* Part 2: Initialize and register the character device */ > cdev_init(&devnode->cdev, &cec_devnode_fops); > - devnode->cdev.kobj.parent = &devnode->dev.kobj; > devnode->cdev.owner = owner; > > - ret = cdev_add(&devnode->cdev, devnode->dev.devt, 1); > - if (ret < 0) { > - pr_err("%s: cdev_add failed\n", __func__); > + ret = cdev_device_add(&devnode->cdev, &devnode->dev); > + if (ret) { > + pr_err("%s: cdev_device_add failed\n", __func__); > goto clr_bit; > } > > - ret = device_add(&devnode->dev); > - if (ret) > - goto cdev_del; > - > devnode->registered = true; > return 0; > > -cdev_del: > - cdev_del(&devnode->cdev); > clr_bit: > mutex_lock(&cec_devnode_lock); > clear_bit(devnode->minor, cec_devnode_nums); > @@ -190,8 +183,7 @@ static void cec_devnode_unregister(struct cec_devnode *devnode) > devnode->unregistered = true; > mutex_unlock(&devnode->lock); > > - device_del(&devnode->dev); > - cdev_del(&devnode->cdev); > + cdev_device_del(&devnode->cdev, &devnode->dev); > put_device(&devnode->dev); > } > > diff --git a/drivers/media/media-devnode.c b/drivers/media/media-devnode.c > index f2772ba..fafe520 100644 > --- a/drivers/media/media-devnode.c > +++ b/drivers/media/media-devnode.c > @@ -252,31 +252,22 @@ int __must_check media_devnode_register(struct media_device *mdev, > dev_set_name(&devnode->dev, "media%d", devnode->minor); > device_initialize(&devnode->dev); > > - /* Part 2: Initialize and register the character device */ > + /* Part 2: Initialize the character device */ > cdev_init(&devnode->cdev, &media_devnode_fops); > devnode->cdev.owner = owner; > - devnode->cdev.kobj.parent = &devnode->dev.kobj; > > - ret = cdev_add(&devnode->cdev, MKDEV(MAJOR(media_dev_t), devnode->minor), 1); > + /* Part 3: Add the media and char device */ > + ret = cdev_device_add(&devnode->cdev, &devnode->dev); > if (ret < 0) { > - pr_err("%s: cdev_add failed\n", __func__); > + pr_err("%s: cdev_device_add failed\n", __func__); > goto cdev_add_error; > } > > - /* Part 3: Add the media device */ > - ret = device_add(&devnode->dev); > - if (ret < 0) { > - pr_err("%s: device_add failed\n", __func__); > - goto device_add_error; > - } > - > /* Part 4: Activate this minor. The char device can now be used. */ > set_bit(MEDIA_FLAG_REGISTERED, &devnode->flags); > > return 0; > > -device_add_error: > - cdev_del(&devnode->cdev); > cdev_add_error: > mutex_lock(&media_devnode_lock); > clear_bit(devnode->minor, media_devnode_nums); > @@ -302,9 +293,8 @@ void media_devnode_unregister(struct media_devnode *devnode) > { > mutex_lock(&media_devnode_lock); > /* Delete the cdev on this minor as well */ > - cdev_del(&devnode->cdev); > + cdev_device_del(&devnode->cdev, &devnode->dev); > mutex_unlock(&media_devnode_lock); > - device_del(&devnode->dev); > devnode->media_dev = NULL; > put_device(&devnode->dev); > } > -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/d/optout.