Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> --- arch/mips/mti-sead3/leds-sead3.c | 19 +------------------ arch/mips/mti-sead3/sead3-leds.c | 18 ++++++++++++++---- 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 0a168c9..e5632e6 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) { @@ -76,26 +74,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 c427c57..c6fa3e4 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); -- 1.9.3