Merge branch 'for-linus' of git://www.jni.nu/cris
[pandora-kernel.git] / arch / powerpc / sysdev / rtc_cmos_setup.c
index c09ddc0..c1879eb 100644 (file)
@@ -21,6 +21,7 @@ static int  __init add_rtc(void)
        struct device_node *np;
        struct platform_device *pd;
        struct resource res[2];
+       unsigned int num_res = 1;
        int ret;
 
        memset(&res, 0, sizeof(res));
@@ -41,14 +42,24 @@ static int  __init add_rtc(void)
        if (res[0].start != RTC_PORT(0))
                return -EINVAL;
 
-       /* Use a fixed interrupt value of 8 since on PPC if we are using this
-        * its off an i8259 which we ensure has interrupt numbers 0..15. */
-       res[1].start = 8;
-       res[1].end = 8;
-       res[1].flags = IORESOURCE_IRQ;
+       np = of_find_compatible_node(NULL, NULL, "chrp,iic");
+       if (!np)
+               np = of_find_compatible_node(NULL, NULL, "pnpPNP,000");
+       if (np) {
+               of_node_put(np);
+               /*
+                * Use a fixed interrupt value of 8 since on PPC if we are
+                * using this its off an i8259 which we ensure has interrupt
+                * numbers 0..15.
+                */
+               res[1].start = 8;
+               res[1].end = 8;
+               res[1].flags = IORESOURCE_IRQ;
+               num_res++;
+       }
 
        pd = platform_device_register_simple("rtc_cmos", -1,
-                                            &res[0], 2);
+                                            &res[0], num_res);
 
        if (IS_ERR(pd))
                return PTR_ERR(pd);