diff options
Diffstat (limited to 'drivers/rtc/rtc-ds1553.c')
-rw-r--r-- | drivers/rtc/rtc-ds1553.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c index 4fc9422ed86d..9647188fee2c 100644 --- a/drivers/rtc/rtc-ds1553.c +++ b/drivers/rtc/rtc-ds1553.c | |||
@@ -18,7 +18,7 @@ | |||
18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | 20 | ||
21 | #define DRV_VERSION "0.1" | 21 | #define DRV_VERSION "0.2" |
22 | 22 | ||
23 | #define RTC_REG_SIZE 0x2000 | 23 | #define RTC_REG_SIZE 0x2000 |
24 | #define RTC_OFFSET 0x1ff0 | 24 | #define RTC_OFFSET 0x1ff0 |
@@ -357,9 +357,13 @@ static int __init ds1553_rtc_probe(struct platform_device *pdev) | |||
357 | pdata->rtc = rtc; | 357 | pdata->rtc = rtc; |
358 | pdata->last_jiffies = jiffies; | 358 | pdata->last_jiffies = jiffies; |
359 | platform_set_drvdata(pdev, pdata); | 359 | platform_set_drvdata(pdev, pdata); |
360 | sysfs_create_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); | 360 | ret = sysfs_create_bin_file(&pdev->dev.kobj, &ds1553_nvram_attr); |
361 | if (ret) | ||
362 | goto out; | ||
361 | return 0; | 363 | return 0; |
362 | out: | 364 | out: |
365 | if (pdata->rtc) | ||
366 | rtc_device_unregister(pdata->rtc); | ||
363 | if (pdata->irq >= 0) | 367 | if (pdata->irq >= 0) |
364 | free_irq(pdata->irq, pdev); | 368 | free_irq(pdata->irq, pdev); |
365 | if (ioaddr) | 369 | if (ioaddr) |