Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1249136 > unrolled thread

[PATCH] leds: leds-menf21bmc.c: Use devm_led_class_register

Started byMuhammad Falak R Wani <falakreyaz@gmail.com>
First post2015-10-16 22:20 +0200
Last post2015-10-19 10:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] leds: leds-menf21bmc.c: Use devm_led_class_register Muhammad Falak R Wani <falakreyaz@gmail.com> - 2015-10-16 22:20 +0200
    Re: [PATCH] leds: leds-menf21bmc.c: Use devm_led_class_register Jacek Anaszewski <j.anaszewski@samsung.com> - 2015-10-19 10:20 +0200

#1249136 — [PATCH] leds: leds-menf21bmc.c: Use devm_led_class_register

FromMuhammad Falak R Wani <falakreyaz@gmail.com>
Date2015-10-16 22:20 +0200
Subject[PATCH] leds: leds-menf21bmc.c: Use devm_led_class_register
Message-ID<qkjDQ-ax-11@gated-at.bofh.it>
Use resource-managed function devm_led_classdev_register instead
of led_classdev_register, consequently remove redundant
menf21bmc_led_remove function.
Also drop the unneeded label err_free_leds.

Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
---
 drivers/leds/leds-menf21bmc.c | 26 +++++---------------------
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/drivers/leds/leds-menf21bmc.c b/drivers/leds/leds-menf21bmc.c
index 4b9eea8..dec2a6e 100644
--- a/drivers/leds/leds-menf21bmc.c
+++ b/drivers/leds/leds-menf21bmc.c
@@ -87,36 +87,20 @@ static int menf21bmc_led_probe(struct platform_device *pdev)
 		leds[i].cdev.name = leds[i].name;
 		leds[i].cdev.brightness_set = menf21bmc_led_set;
 		leds[i].i2c_client = i2c_client;
-		ret = led_classdev_register(&pdev->dev, &leds[i].cdev);
-		if (ret < 0)
-			goto err_free_leds;
+		ret = devm_led_classdev_register(&pdev->dev, &leds[i].cdev);
+		if (ret < 0) {
+			dev_err(&pdev->dev, "failed to register LED device\n");
+			return ret;
+		}
 	}
 	dev_info(&pdev->dev, "MEN 140F21P00 BMC LED device enabled\n");
 
 	return 0;
 
-err_free_leds:
-	dev_err(&pdev->dev, "failed to register LED device\n");
-
-	for (i = i - 1; i >= 0; i--)
-		led_classdev_unregister(&leds[i].cdev);
-
-	return ret;
-}
-
-static int menf21bmc_led_remove(struct platform_device *pdev)
-{
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(leds); i++)
-		led_classdev_unregister(&leds[i].cdev);
-
-	return 0;
 }
 
 static struct platform_driver menf21bmc_led = {
 	.probe		= menf21bmc_led_probe,
-	.remove		= menf21bmc_led_remove,
 	.driver		= {
 		.name		= "menf21bmc_led",
 	},
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1250435

FromJacek Anaszewski <j.anaszewski@samsung.com>
Date2015-10-19 10:20 +0200
Message-ID<qldPH-74y-11@gated-at.bofh.it>
In reply to#1249136
Hi Muhammad,

On 10/16/2015 10:17 PM, Muhammad Falak R Wani wrote:
> Use resource-managed function devm_led_classdev_register instead
> of led_classdev_register, consequently remove redundant
> menf21bmc_led_remove function.
> Also drop the unneeded label err_free_leds.
>
> Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com>
> ---
>   drivers/leds/leds-menf21bmc.c | 26 +++++---------------------
>   1 file changed, 5 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/leds/leds-menf21bmc.c b/drivers/leds/leds-menf21bmc.c
> index 4b9eea8..dec2a6e 100644
> --- a/drivers/leds/leds-menf21bmc.c
> +++ b/drivers/leds/leds-menf21bmc.c
> @@ -87,36 +87,20 @@ static int menf21bmc_led_probe(struct platform_device *pdev)
>   		leds[i].cdev.name = leds[i].name;
>   		leds[i].cdev.brightness_set = menf21bmc_led_set;
>   		leds[i].i2c_client = i2c_client;
> -		ret = led_classdev_register(&pdev->dev, &leds[i].cdev);
> -		if (ret < 0)
> -			goto err_free_leds;
> +		ret = devm_led_classdev_register(&pdev->dev, &leds[i].cdev);
> +		if (ret < 0) {
> +			dev_err(&pdev->dev, "failed to register LED device\n");
> +			return ret;
> +		}
>   	}
>   	dev_info(&pdev->dev, "MEN 140F21P00 BMC LED device enabled\n");
>
>   	return 0;
>
> -err_free_leds:
> -	dev_err(&pdev->dev, "failed to register LED device\n");
> -
> -	for (i = i - 1; i >= 0; i--)
> -		led_classdev_unregister(&leds[i].cdev);
> -
> -	return ret;
> -}
> -
> -static int menf21bmc_led_remove(struct platform_device *pdev)
> -{
> -	int i;
> -
> -	for (i = 0; i < ARRAY_SIZE(leds); i++)
> -		led_classdev_unregister(&leds[i].cdev);
> -
> -	return 0;
>   }
>
>   static struct platform_driver menf21bmc_led = {
>   	.probe		= menf21bmc_led_probe,
> -	.remove		= menf21bmc_led_remove,
>   	.driver		= {
>   		.name		= "menf21bmc_led",
>   	},
>

Applied, thanks.

-- 
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web