watchdog: imx2_wdt: set watchdog parent device
authorVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Tue, 2 Jun 2015 12:46:18 +0000 (15:46 +0300)
committerWim Van Sebroeck <wim@iguana.be>
Mon, 22 Jun 2015 13:54:33 +0000 (15:54 +0200)
If on watchdog device registration a parent device is not set, then
the registered watchdog is considered to be a virtual device:

  /sys/devices/virtual/watchdog/watchdog0
  /sys/devices/virtual/watchdog/watchdog1

Setting a correct reference to a platform device allows to
distinguish multiple instances of iMX2+ hardware watchdogs:

  /sys/devices/soc0/soc/2000000.aips-bus/20bc000.wdog/watchdog/watchdog0
  /sys/devices/soc0/soc/2000000.aips-bus/20c0000.wdog/watchdog/watchdog1

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/imx2_wdt.c

index 7cee4024ebfbfe931fe6efcbe577d95b0f4ccba9..2acdd17025c40e280bf90f91d9f33af49fcd0d06 100644 (file)
@@ -258,6 +258,7 @@ static int __init imx2_wdt_probe(struct platform_device *pdev)
        wdog->ops               = &imx2_wdt_ops;
        wdog->min_timeout       = 1;
        wdog->max_timeout       = IMX2_WDT_MAX_TIME;
+       wdog->parent            = &pdev->dev;
 
        clk_prepare_enable(wdev->clk);