MIPS: SEAD3: Collect LED platform device registration in a single file.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 23 Oct 2014 23:32:25 +0000 (01:32 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 1 Apr 2015 15:22:05 +0000 (17:22 +0200)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Bryan Wu <cooloney@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: linux-leds@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8203/

arch/mips/mti-sead3/leds-sead3.c
arch/mips/mti-sead3/sead3-leds.c

index 3abe47b316aa54270a95aa60f2ece684a2e11855..3346c31f4f022b8f731ff64985b88ec50e125789 100644 (file)
@@ -15,8 +15,6 @@
 
 #define DRVNAME "sead3-led"
 
-static struct platform_device *pdev;
-
 static void sead3_pled_set(struct led_classdev *led_cdev,
                enum led_brightness value)
 {
@@ -75,26 +73,11 @@ static struct platform_driver sead3_led_driver = {
 
 static int __init sead3_led_init(void)
 {
-       int ret;
-
-       ret = platform_driver_register(&sead3_led_driver);
-       if (ret < 0)
-               goto out;
-
-       pdev = platform_device_register_simple(DRVNAME, -1, NULL, 0);
-       if (IS_ERR(pdev)) {
-               ret = PTR_ERR(pdev);
-               platform_driver_unregister(&sead3_led_driver);
-               goto out;
-       }
-
-out:
-       return ret;
+       return platform_driver_register(&sead3_led_driver);
 }
 
 static void __exit sead3_led_exit(void)
 {
-       platform_device_unregister(pdev);
        platform_driver_unregister(&sead3_led_driver);
 }
 
index c427c57781865e13d52dc75ea2bb2f8db5db9ad7..c6fa3e44cb8acd0a7127d9998e118bc862b9bf7c 100644 (file)
@@ -70,10 +70,20 @@ static struct platform_device fled_device = {
        .resource               = fled_resources
 };
 
-static int __init led_init(void)
+static struct platform_device sead3_led_device = {
+        .name   = "sead3-led",
+        .id     = -1,
+};
+
+struct platform_device *sead3_led_devices[] = {
+       &pled_device,
+       &fled_device,
+       &sead3_led_device,
+};
+
+static int __init sead3_led_init(void)
 {
-       platform_device_register(&pled_device);
-       return platform_device_register(&fled_device);
+       return platform_add_devices(sead3_led_devices, ARRAY_SIZE(sead3_led_devices));
 }
 
-device_initcall(led_init);
+device_initcall(sead3_led_init);