Sometimes (particularly on MPC8610HPCD) we want IRQ-less CMOS RTC for
the boards without (or disabled) i8259 PICs.

We lookup the device tree for "chrp,iic" compatible devices, and if not
found we do not assign RTC IRQ.

Signed-off-by: Anton Vorontsov <[EMAIL PROTECTED]>
---
 arch/powerpc/sysdev/rtc_cmos_setup.c |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c 
b/arch/powerpc/sysdev/rtc_cmos_setup.c
index c09ddc0..e5d0bcb 100644
--- a/arch/powerpc/sysdev/rtc_cmos_setup.c
+++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
@@ -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,22 @@ 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) {
+               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);
-- 
1.5.5.1

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to