From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754596AbbHQI1I (ORCPT ); Mon, 17 Aug 2015 04:27:08 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:39092 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751427AbbHQI1F (ORCPT ); Mon, 17 Aug 2015 04:27:05 -0400 X-AuditID: cbfec7f4-f79c56d0000012ee-d0-55d19ad7f01c Message-id: <55D19AD6.8030506@samsung.com> Date: Mon, 17 Aug 2015 10:27:02 +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: Vaishali Thakkar Cc: Bryan Wu , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] leds: leds-fsg: Use devm_led_classdev_register References: <20150815102101.GA8323@localhost> In-reply-to: <20150815102101.GA8323@localhost> Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNLMWRmVeSWpSXmKPExsVy+t/xa7rXZ10MNbh3WMzi6M6JTBaXd81h s9j6Zh2jxfOV11gdWDx2zrrL7vF5k1wAUxSXTUpqTmZZapG+XQJXxtaNM9kKDolXfHgR2sA4 X7iLkZNDQsBE4tCbdiYIW0ziwr31bF2MXBxCAksZJbbfb2cDSQgJPGOUWHQ2AMTmFdCS6L5z DSzOIqAqcXPrcTCbTcBQ4ueL12CDRAUiJP6c3scKUS8o8WPyPRYQW0RAV+LrxJ9g9cwCsRK/ zq0BqxcWcJZoO9sCFOcA2qUrcXqVLEiYU0BP4uuqX6wQ5dYSKydtY4Sw5SU2r3nLPIFRYBaS DbOQlM1CUraAkXkVo2hqaXJBcVJ6rqFecWJucWleul5yfu4mRkiQftnBuPiY1SFGAQ5GJR7e Sz8vhAqxJpYVV+YeYpTgYFYS4RWccDFUiDclsbIqtSg/vqg0J7X4EKM0B4uSOO/cXe9DhATS E0tSs1NTC1KLYLJMHJxSDYxyzxe+YbkxqyzkyJGNz15XJMUpXs/n+nWosuDrr5PrEjgFq9Rs VS5k1DWyZPRn57ALf++syNn6W8teXjtf9FmJzXKZhW2np59Yr500NTDcLbzCM2Oljen0Mz8+ XdXxMdpu9WDu2hPtRzLll53o25/OHhIpmDt3Xc63NKnLQmc10yfo/Pv/b4ISS3FGoqEWc1Fx IgBUekYSTgIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vaishali, Thanks for the patch. Unfortunately it causes build break. Please fix the issues and resubmit. On 08/15/2015 12:21 PM, Vaishali Thakkar wrote: > Use resource-managed function devm_led_classdev_register instead > of led_classdev_register to make the error-path simpler. > > To be compatible with the change, various gotos are replced with > direct returns and unneeded labels are dropped. Also, remove > fsg_led_remove as it is now redundant. > > Signed-off-by: Vaishali Thakkar > --- > drivers/leds/leds-fsg.c | 51 ++++++++++++------------------------------------- > 1 file changed, 12 insertions(+), 39 deletions(-) > > diff --git a/drivers/leds/leds-fsg.c b/drivers/leds/leds-fsg.c > index 2b4dc73..df0e5da 100644 > --- a/drivers/leds/leds-fsg.c > +++ b/drivers/leds/leds-fsg.c > @@ -156,60 +156,33 @@ 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_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; > > 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 0; > -} > - > - > static struct platform_driver fsg_led_driver = { > .probe = fsg_led_probe, > .remove = fsg_led_remove, > -- Best Regards, Jacek Anaszewski