diff options
author | Florian Fainelli <florian@openwrt.org> | 2011-06-15 19:15:23 +0200 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-06-28 09:42:23 +0200 |
commit | 9b19d40aa3ebaf1078779da10555da2ab8512422 (patch) | |
tree | 558ee3022e5bafa997c88612f414baaa4e628be7 | |
parent | watchdog: Handle multiple wm831x watchdogs being registered (diff) | |
download | linux-9b19d40aa3ebaf1078779da10555da2ab8512422.tar.xz linux-9b19d40aa3ebaf1078779da10555da2ab8512422.zip |
watchdog: mtx1-wdt: request gpio before using it
Otherwise, the gpiolib autorequest feature will produce a WARN_ON():
WARNING: at drivers/gpio/gpiolib.c:101 0x8020ec6c()
autorequest GPIO-215
[...]
Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>
-rw-r--r-- | drivers/watchdog/mtx-1_wdt.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/watchdog/mtx-1_wdt.c b/drivers/watchdog/mtx-1_wdt.c index 1479dc4d6129..aa011da1d5fb 100644 --- a/drivers/watchdog/mtx-1_wdt.c +++ b/drivers/watchdog/mtx-1_wdt.c @@ -214,6 +214,12 @@ static int __devinit mtx1_wdt_probe(struct platform_device *pdev) int ret; mtx1_wdt_device.gpio = pdev->resource[0].start; + ret = gpio_request_one(mtx1_wdt_device.gpio, + GPIOF_OUT_INIT_HIGH, "mtx1-wdt"); + if (ret < 0) { + dev_err(&pdev->dev, "failed to request gpio"); + return ret; + } spin_lock_init(&mtx1_wdt_device.lock); init_completion(&mtx1_wdt_device.stop); @@ -239,6 +245,8 @@ static int __devexit mtx1_wdt_remove(struct platform_device *pdev) mtx1_wdt_device.queue = 0; wait_for_completion(&mtx1_wdt_device.stop); } + + gpio_free(mtx1_wdt_device.gpio); misc_deregister(&mtx1_wdt_misc); return 0; } |