On 10/22/2013 02:29 AM, dinguyen@xxxxxxxxxx wrote:
From: Dinh Nguyen <dinguyen@xxxxxxxxxx> Add device tree support to the DW watchdog timer. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxx> Acked-by: Jamie Iles <jamie@xxxxxxxxxxxxx> Reviewed-by: Pavel Machek <pavel@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Jamie Iles <jamie@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.linux@xxxxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxxx> Cc: Rob Herring <rob.herring@xxxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-watchdog@xxxxxxxxxxxxxxx --- v3: - Clean up documentation v2: - Use of_match_ptr() for of_match_table --- .../devicetree/bindings/watchdog/dw_wdt.txt | 14 ++++++++++++++ drivers/watchdog/dw_wdt.c | 8 ++++++++ 2 files changed, 22 insertions(+) create mode 100644 Documentation/devicetree/bindings/watchdog/dw_wdt.txt diff --git a/Documentation/devicetree/bindings/watchdog/dw_wdt.txt b/Documentation/devicetree/bindings/watchdog/dw_wdt.txt new file mode 100644 index 0000000..c5e9b65 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/dw_wdt.txt @@ -0,0 +1,14 @@ +Synopsys Designware Watchdog Timer + +Required Properties: + +- compatible : Should be "snps,dw-wdt" +- reg : Base address and size of the watchdog timer register. +
'clocks' is still missing. Thanks, Guenter
+Example: + + watchdog0: wd@ffd02000 { + compatible = "snps,dw-wdt"; + reg = <0xffd02000 0x1000>; + clocks = <&per_base_clk>; + }; diff --git a/drivers/watchdog/dw_wdt.c b/drivers/watchdog/dw_wdt.c index e621098..261fa42 100644 --- a/drivers/watchdog/dw_wdt.c +++ b/drivers/watchdog/dw_wdt.c @@ -29,6 +29,7 @@ #include <linux/miscdevice.h> #include <linux/module.h> #include <linux/moduleparam.h> +#include <linux/of.h> #include <linux/pm.h> #include <linux/platform_device.h> #include <linux/spinlock.h> @@ -340,12 +341,19 @@ static int dw_wdt_drv_remove(struct platform_device *pdev) return 0; } +static const struct of_device_id dw_wdt_of_match[] = { + { .compatible = "snps,dw-wdt", }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, dw_wdt_of_match); + static struct platform_driver dw_wdt_driver = { .probe = dw_wdt_drv_probe, .remove = dw_wdt_drv_remove, .driver = { .name = "dw_wdt", .owner = THIS_MODULE, + .of_match_table = of_match_ptr(dw_wdt_of_match), #ifdef CONFIG_PM .pm = &dw_wdt_pm_ops, #endif /* CONFIG_PM */
-- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html