Staging: phison: depends on ATA_BMDMA
[safe/jmp/linux-2.6] / drivers / rtc / rtc-mpc5121.c
index 4313ca0..db5d8c4 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/of_device.h>
 #include <linux/of_platform.h>
 #include <linux/io.h>
+#include <linux/slab.h>
 
 struct mpc5121_rtc_regs {
        u8 set_time;            /* RTC + 0x00 */
@@ -278,7 +279,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op,
        if (!rtc)
                return -ENOMEM;
 
-       rtc->regs = of_iomap(op->node, 0);
+       rtc->regs = of_iomap(op->dev.of_node, 0);
        if (!rtc->regs) {
                dev_err(&op->dev, "%s: couldn't map io space\n", __func__);
                err = -ENOSYS;
@@ -289,7 +290,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op,
 
        dev_set_drvdata(&op->dev, rtc);
 
-       rtc->irq = irq_of_parse_and_map(op->node, 1);
+       rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
        err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED,
                                                "mpc5121-rtc", &op->dev);
        if (err) {
@@ -298,7 +299,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op,
                goto out_dispose;
        }
 
-       rtc->irq_periodic = irq_of_parse_and_map(op->node, 0);
+       rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
        err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd,
                                IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev);
        if (err) {
@@ -364,9 +365,11 @@ static struct of_device_id mpc5121_rtc_match[] __devinitdata = {
 };
 
 static struct of_platform_driver mpc5121_rtc_driver = {
-       .owner = THIS_MODULE,
-       .name = "mpc5121-rtc",
-       .match_table = mpc5121_rtc_match,
+       .driver = {
+               .name = "mpc5121-rtc",
+               .owner = THIS_MODULE,
+               .of_match_table = mpc5121_rtc_match,
+       },
        .probe = mpc5121_rtc_probe,
        .remove = __devexit_p(mpc5121_rtc_remove),
 };