From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752865AbbJSHsc (ORCPT ); Mon, 19 Oct 2015 03:48:32 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:29089 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750787AbbJSHsa (ORCPT ); Mon, 19 Oct 2015 03:48:30 -0400 X-AuditID: cbfec7f5-f794b6d000001495-f6-5624a04c6f84 Message-id: <5624A04A.6060209@samsung.com> Date: Mon, 19 Oct 2015 09:48:26 +0200 From: Jacek Anaszewski User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130804 Thunderbird/17.0.8 MIME-version: 1.0 To: Muhammad Falak R Wani Cc: Anreas Werner , Bryan Wu , Richard Purdie , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] leds: leds-fsg: Use devm_led_class_register References: <1445037197-8038-1-git-send-email-falakreyaz@gmail.com> In-reply-to: <1445037197-8038-1-git-send-email-falakreyaz@gmail.com> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsVy+t/xK7o+C1TCDHY9ZLLo3juBxeLozolM Frsfnme1uLxrDpvF1jfrGC1273rK6sDmsXPWXXaPXXvesnjsmf+D1ePzJrkAligum5TUnMyy 1CJ9uwSujHWnl7EU7BOvuPmik62BcbpwFyMnh4SAicT/96dZIWwxiQv31rN1MXJxCAksZZTY seQjlPOMUWLlvfnMIFW8AloSD082s4HYLAKqEp2TZrCD2GwChhI/X7xmArFFBSIk/pzexwpR LyjxY/I9li5GDg4RAQOJz58CQWYyC6xilNg3+SMLSI2wgIPE7/6DYPVCAs4Sf6fvYASxOQVc JF5f2As2n1nAWmLlpG2MELa8xOY1b5knMArMQrJiFpKyWUjKFjAyr2IUTS1NLihOSs810itO zC0uzUvXS87P3cQICemvOxiXHrM6xCjAwajEw3ujXiVMiDWxrLgy9xCjBAezkghv3lygEG9K YmVValF+fFFpTmrxIUZpDhYlcd6Zu96HCAmkJ5akZqemFqQWwWSZODilGhgvLvjp1/olYvW9 137+B28seul4abGNtHnbihduuVI7+mrOTIwrEWg//CgzdbO2hK3KopkrzDtDGx4fmMvmtMjp aH+SpXRWR//kVWu/zeVT/VmZfXT3VIXKpfkbk6e8mywalHn8GZ//8SqloOCNX2edZl8jejbU sO28/E+Lw1dsTbe/VNR+b2quxFKckWioxVxUnAgAMr0kBmUCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Muhammad, On 10/17/2015 01:13 AM, Muhammad Falak R Wani wrote: > Use resource-managed function devm_led_classdev_register, remove > redundant function fsg_led_remove. > Drop unneeded gotos to make the _init code flow clean. > > Signed-off-by: Muhammad Falak R Wani > --- > drivers/leds/leds-fsg.c | 52 ++++++++++++------------------------------------- > 1 file changed, 12 insertions(+), 40 deletions(-) > > diff --git a/drivers/leds/leds-fsg.c b/drivers/leds/leds-fsg.c > index 2b4dc73..cb01f5e 100644 > --- a/drivers/leds/leds-fsg.c > +++ b/drivers/leds/leds-fsg.c > @@ -156,63 +156,35 @@ static int fsg_led_probe(struct platform_device *pdev) > latch_value = 0xffff; > *latch_address = latch_value; > > - ret = led_classdev_register(&pdev->dev, &fsg_wlan_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_wlan_led); > if (ret < 0) > - goto failwlan; > + return ret; > > - ret = led_classdev_register(&pdev->dev, &fsg_wan_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_wan_led); > if (ret < 0) > - goto failwan; > + return ret; > > - ret = led_classdev_register(&pdev->dev, &fsg_sata_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_sata_led); > if (ret < 0) > - goto failsata; > + return ret; > > - ret = led_classdev_register(&pdev->dev, &fsg_usb_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_usb_led); > if (ret < 0) > - goto failusb; > + return ret; > > - ret = led_classdev_register(&pdev->dev, &fsg_sync_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_sync_led); > if (ret < 0) > - goto failsync; > + return ret; > > - ret = led_classdev_register(&pdev->dev, &fsg_ring_led); > + ret = devm_led_classdev_register(&pdev->dev, &fsg_ring_led); > if (ret < 0) > - goto failring; > - > - return ret; > - > - failring: > - led_classdev_unregister(&fsg_sync_led); > - failsync: > - led_classdev_unregister(&fsg_usb_led); > - failusb: > - led_classdev_unregister(&fsg_sata_led); > - failsata: > - led_classdev_unregister(&fsg_wan_led); > - failwan: > - led_classdev_unregister(&fsg_wlan_led); > - failwlan: > - > - return ret; > -} > - > -static int fsg_led_remove(struct platform_device *pdev) > -{ > - led_classdev_unregister(&fsg_wlan_led); > - led_classdev_unregister(&fsg_wan_led); > - led_classdev_unregister(&fsg_sata_led); > - led_classdev_unregister(&fsg_usb_led); > - led_classdev_unregister(&fsg_sync_led); > - led_classdev_unregister(&fsg_ring_led); > + return ret; > > return 0; > } > > - > static struct platform_driver fsg_led_driver = { > .probe = fsg_led_probe, > - .remove = fsg_led_remove, > .driver = { > .name = "fsg-led", > }, > We've had a similar patch for this driver already. Please refer to linux-next or LED tree: git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git -- Best Regards, Jacek Anaszewski