lib/spinlock_debug.c: print owner on spinlock lockup
[firefly-linux-kernel-4.4.55.git] / drivers / watchdog / bcm47xx_wdt.c
index bd44417c84d40940302fe484373818b84ac70982..5c5f4b14fd05aee17e1e6d1f30743f8a3735a1c9 100644 (file)
@@ -54,12 +54,35 @@ static atomic_t ticks;
 static inline void bcm47xx_wdt_hw_start(void)
 {
        /* this is 2,5s on 100Mhz clock  and 2s on 133 Mhz */
-       ssb_watchdog_timer_set(&ssb_bcm47xx, 0xfffffff);
+       switch (bcm47xx_bus_type) {
+#ifdef CONFIG_BCM47XX_SSB
+       case BCM47XX_BUS_TYPE_SSB:
+               ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 0xfffffff);
+               break;
+#endif
+#ifdef CONFIG_BCM47XX_BCMA
+       case BCM47XX_BUS_TYPE_BCMA:
+               bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc,
+                                              0xfffffff);
+               break;
+#endif
+       }
 }
 
 static inline int bcm47xx_wdt_hw_stop(void)
 {
-       return ssb_watchdog_timer_set(&ssb_bcm47xx, 0);
+       switch (bcm47xx_bus_type) {
+#ifdef CONFIG_BCM47XX_SSB
+       case BCM47XX_BUS_TYPE_SSB:
+               return ssb_watchdog_timer_set(&bcm47xx_bus.ssb, 0);
+#endif
+#ifdef CONFIG_BCM47XX_BCMA
+       case BCM47XX_BUS_TYPE_BCMA:
+               bcma_chipco_watchdog_timer_set(&bcm47xx_bus.bcma.bus.drv_cc, 0);
+               return 0;
+#endif
+       }
+       return -EINVAL;
 }
 
 static void bcm47xx_timer_tick(unsigned long unused)