diff options
Diffstat (limited to 'drivers/watchdog/intel-mid_wdt.c')
| -rw-r--r-- | drivers/watchdog/intel-mid_wdt.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/drivers/watchdog/intel-mid_wdt.c b/drivers/watchdog/intel-mid_wdt.c index 1ae03b64ef8b..756d262dc580 100644 --- a/drivers/watchdog/intel-mid_wdt.c +++ b/drivers/watchdog/intel-mid_wdt.c @@ -9,15 +9,19 @@ * Contact: David Cohen <david.a.cohen@linux.intel.com> */ +#include <linux/bitops.h> +#include <linux/device.h> +#include <linux/errno.h> #include <linux/interrupt.h> +#include <linux/math.h> #include <linux/module.h> -#include <linux/nmi.h> +#include <linux/panic.h> #include <linux/platform_device.h> +#include <linux/types.h> #include <linux/watchdog.h> -#include <linux/platform_data/intel-mid_wdt.h> -#include <asm/intel_scu_ipc.h> -#include <asm/intel-mid.h> +#include <linux/platform_data/x86/intel-mid_wdt.h> +#include <linux/platform_data/x86/intel_scu_ipc.h> #define IPC_WATCHDOG 0xf8 @@ -122,7 +126,7 @@ static int mid_wdt_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct watchdog_device *wdt_dev; - struct intel_mid_wdt_pdata *pdata = dev->platform_data; + struct intel_mid_wdt_pdata *pdata = dev_get_platdata(dev); struct mid_wdt *mid; int ret; @@ -154,6 +158,10 @@ static int mid_wdt_probe(struct platform_device *pdev) watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT); watchdog_set_drvdata(wdt_dev, mid); + mid->scu = devm_intel_scu_ipc_dev_get(dev); + if (!mid->scu) + return -EPROBE_DEFER; + ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq, IRQF_SHARED | IRQF_NO_SUSPEND, "watchdog", wdt_dev); @@ -162,10 +170,6 @@ static int mid_wdt_probe(struct platform_device *pdev) return ret; } - mid->scu = devm_intel_scu_ipc_dev_get(dev); - if (!mid->scu) - return -EPROBE_DEFER; - /* * The firmware followed by U-Boot leaves the watchdog running * with the default threshold which may vary. When we get here @@ -203,3 +207,4 @@ module_platform_driver(mid_wdt_driver); MODULE_AUTHOR("David Cohen <david.a.cohen@linux.intel.com>"); MODULE_DESCRIPTION("Watchdog Driver for Intel MID platform"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:intel_mid_wdt"); |
