rtc: DS1374 wakeup support
[safe/jmp/linux-2.6] / drivers / rtc / rtc-stk17ta8.c
index f10d3fa..31d3c8c 100644 (file)
@@ -258,7 +258,8 @@ static const struct rtc_class_ops stk17ta8_rtc_ops = {
        .ioctl          = stk17ta8_rtc_ioctl,
 };
 
-static ssize_t stk17ta8_nvram_read(struct kobject *kobj, char *buf,
+static ssize_t stk17ta8_nvram_read(struct kobject *kobj,
+                                struct bin_attribute *attr, char *buf,
                                 loff_t pos, size_t size)
 {
        struct platform_device *pdev =
@@ -272,7 +273,8 @@ static ssize_t stk17ta8_nvram_read(struct kobject *kobj, char *buf,
        return count;
 }
 
-static ssize_t stk17ta8_nvram_write(struct kobject *kobj, char *buf,
+static ssize_t stk17ta8_nvram_write(struct kobject *kobj,
+                                 struct bin_attribute *attr, char *buf,
                                  loff_t pos, size_t size)
 {
        struct platform_device *pdev =
@@ -289,7 +291,7 @@ static ssize_t stk17ta8_nvram_write(struct kobject *kobj, char *buf,
 static struct bin_attribute stk17ta8_nvram_attr = {
        .attr = {
                .name = "nvram",
-               .mode = S_IRUGO | S_IWUGO,
+               .mode = S_IRUGO | S_IWUSR,
                .owner = THIS_MODULE,
        },
        .size = RTC_OFFSET,
@@ -392,6 +394,9 @@ static int __devexit stk17ta8_rtc_remove(struct platform_device *pdev)
        return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:stk17ta8");
+
 static struct platform_driver stk17ta8_rtc_driver = {
        .probe          = stk17ta8_rtc_probe,
        .remove         = __devexit_p(stk17ta8_rtc_remove),