diff options
author | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-01-03 17:57:35 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-03 17:57:35 -0500 |
commit | 21500bb32acd4c34b50e5d985712e29792c1b9ad (patch) | |
tree | 5100546631aad4116835634b846979550deaf1a7 /drivers/mmc/wbsd.c | |
parent | 63648fb5c0173614064e329503cc75c907dcb1a1 (diff) |
[MMC] wbsd: convert to the new platfrom device interface
platform_device_register_simple() is going away, switch to
using platfrom_device_alloc() + platform_device_add(). Also
make sure that wbsd_driver gets unregistered when wbsd_init
fails.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/wbsd.c')
-rw-r--r-- | drivers/mmc/wbsd.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c index 9df0ddeb3ff..4f13bd2ccf9 100644 --- a/drivers/mmc/wbsd.c +++ b/drivers/mmc/wbsd.c | |||
@@ -2087,10 +2087,20 @@ static int __init wbsd_drv_init(void) | |||
2087 | if (result < 0) | 2087 | if (result < 0) |
2088 | return result; | 2088 | return result; |
2089 | 2089 | ||
2090 | wbsd_device = platform_device_register_simple(DRIVER_NAME, -1, | 2090 | wbsd_device = platform_device_alloc(DRIVER_NAME, -1); |
2091 | NULL, 0); | 2091 | if (!wbsd_device) |
2092 | if (IS_ERR(wbsd_device)) | 2092 | { |
2093 | return PTR_ERR(wbsd_device); | 2093 | platform_driver_unregister(&wbsd_driver); |
2094 | return -ENOMEM; | ||
2095 | } | ||
2096 | |||
2097 | result = platform_device_add(wbsd_device); | ||
2098 | if (result) | ||
2099 | { | ||
2100 | platform_device_put(wbsd_device); | ||
2101 | platform_driver_unregister(&wbsd_driver); | ||
2102 | return result; | ||
2103 | } | ||
2094 | } | 2104 | } |
2095 | 2105 | ||
2096 | return 0; | 2106 | return 0; |