summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2014-10-24 03:32:25 +0400
committerRalf Baechle <ralf@linux-mips.org>2015-04-01 18:22:05 +0300
commit01f7ab34325e76301915d5a4604834c5e2a91e74 (patch)
tree558a078e259ee03f1089691da847343298200df5
parent8a5f1efbb1a13cd2e2a1c2d1ae3773821e8b1d67 (diff)
downloadlinux-01f7ab34325e76301915d5a4604834c5e2a91e74.tar.xz
MIPS: SEAD3: Collect LED platform device registration in a single file.
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/
-rw-r--r--arch/mips/mti-sead3/leds-sead3.c19
-rw-r--r--arch/mips/mti-sead3/sead3-leds.c18
2 files changed, 15 insertions, 22 deletions
diff --git a/arch/mips/mti-sead3/leds-sead3.c b/arch/mips/mti-sead3/leds-sead3.c
index 3abe47b316aa..3346c31f4f02 100644
--- a/arch/mips/mti-sead3/leds-sead3.c
+++ b/arch/mips/mti-sead3/leds-sead3.c
@@ -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);
}
diff --git a/arch/mips/mti-sead3/sead3-leds.c b/arch/mips/mti-sead3/sead3-leds.c
index c427c5778186..c6fa3e44cb8a 100644
--- a/arch/mips/mti-sead3/sead3-leds.c
+++ b/arch/mips/mti-sead3/sead3-leds.c
@@ -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);