]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/rtc/rtc-cmos.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[linux-2.6-omap-h63xx.git] / drivers / rtc / rtc-cmos.c
index 6085261aa2c15b581a8c7dba2a7b2830a945db86..e24ea82dc35b83b1036a2b5cf15d9e54afd2ee96 100644 (file)
@@ -641,9 +641,16 @@ cmos_pnp_probe(struct pnp_dev *pnp, const struct pnp_device_id *id)
         * drivers can't provide shutdown() methods to disable IRQs.
         * Or better yet, fix PNP to allow those methods...
         */
-       return cmos_do_probe(&pnp->dev,
-                       &pnp->res.port_resource[0],
-                       pnp->res.irq_resource[0].start);
+       if (pnp_port_start(pnp,0) == 0x70 && !pnp_irq_valid(pnp,0))
+               /* Some machines contain a PNP entry for the RTC, but
+                * don't define the IRQ. It should always be safe to
+                * hardcode it in these cases
+                */
+               return cmos_do_probe(&pnp->dev, &pnp->res.port_resource[0], 8);
+       else
+               return cmos_do_probe(&pnp->dev,
+                                    &pnp->res.port_resource[0],
+                                    pnp->res.irq_resource[0].start);
 }
 
 static void __exit cmos_pnp_remove(struct pnp_dev *pnp)