From: Dmitry Torokhov mv64x600_wdt: convert to the new platform device interface Do not use platform_device_register_simple() as it is going away. Signed-off-by: Dmitry Torokhov Signed-off-by: Andrew Morton --- drivers/char/watchdog/mv64x60_wdt.c | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff -puN drivers/char/watchdog/mv64x60_wdt.c~mv64x600_wdt-convert-to-the-new-platform-device-interface drivers/char/watchdog/mv64x60_wdt.c --- devel/drivers/char/watchdog/mv64x60_wdt.c~mv64x600_wdt-convert-to-the-new-platform-device-interface 2006-01-10 23:23:11.000000000 -0800 +++ devel-akpm/drivers/char/watchdog/mv64x60_wdt.c 2006-01-10 23:23:11.000000000 -0800 @@ -228,15 +228,25 @@ static int __init mv64x60_wdt_init(void) printk(KERN_INFO "MV64x60 watchdog driver\n"); - mv64x60_wdt_dev = platform_device_register_simple(MV64x60_WDT_NAME, - -1, NULL, 0); - if (IS_ERR(mv64x60_wdt_dev)) { - ret = PTR_ERR(mv64x60_wdt_dev); + mv64x60_wdt_dev = platform_device_alloc(MV64x60_WDT_NAME, -1); + if (!mv64x60_wdt_dev) { + ret = -ENOMEM; + goto out; + } + + ret = platform_device_add(mv64x60_wdt_dev); + if (ret) { + platform_device_put(mv64x60_wdt_dev); goto out; } ret = platform_driver_register(&mv64x60_wdt_driver); - out: + if (ret) { + platform_device_unregister(mv64x60_wdt_dev); + goto out; + } + + out: return ret; } _