int ret;
switch (ar71xx_soc) {
+ case AR71XX_SOC_AR7130:
+ case AR71XX_SOC_AR7141:
+ case AR71XX_SOC_AR7161:
+ case AR71XX_SOC_AR7240:
+ case AR71XX_SOC_AR7241:
+ case AR71XX_SOC_AR7242:
+ case AR71XX_SOC_AR9130:
+ case AR71XX_SOC_AR9132:
+ wdt_clk_freq = ar71xx_ahb_freq;
+ break;
+
+ case AR71XX_SOC_AR9330:
+ case AR71XX_SOC_AR9331:
case AR71XX_SOC_AR9341:
case AR71XX_SOC_AR9342:
case AR71XX_SOC_AR9344:
break;
default:
- wdt_clk_freq = ar71xx_ahb_freq;
- break;
+ BUG();
}
max_timeout = (0xfffffffful / wdt_clk_freq);
return 0;
}
+static void ar71xx_wdt_shutdown(struct platform_device *pdev)
+{
+ ar71xx_wdt_disable();
+}
+
static struct platform_driver ar71xx_wdt_driver = {
.probe = ar71xx_wdt_probe,
.remove = __devexit_p(ar71xx_wdt_remove),
+ .shutdown = ar71xx_wdt_shutdown,
.driver = {
.name = DRV_NAME,
.owner = THIS_MODULE,