diff options
author | Florian Fainelli <florian@openwrt.org> | 2011-06-15 13:15:23 -0400 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-06-28 03:42:23 -0400 |
commit | 9b19d40aa3ebaf1078779da10555da2ab8512422 (patch) | |
tree | 558ee3022e5bafa997c88612f414baaa4e628be7 /drivers/watchdog | |
parent | 076bad7c4d2c51d9484f0ac60d68838139d2bf72 (diff) |
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>
Diffstat (limited to 'drivers/watchdog')
-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) | |||
214 | int ret; | 214 | int ret; |
215 | 215 | ||
216 | mtx1_wdt_device.gpio = pdev->resource[0].start; | 216 | mtx1_wdt_device.gpio = pdev->resource[0].start; |
217 | ret = gpio_request_one(mtx1_wdt_device.gpio, | ||
218 | GPIOF_OUT_INIT_HIGH, "mtx1-wdt"); | ||
219 | if (ret < 0) { | ||
220 | dev_err(&pdev->dev, "failed to request gpio"); | ||
221 | return ret; | ||
222 | } | ||
217 | 223 | ||
218 | spin_lock_init(&mtx1_wdt_device.lock); | 224 | spin_lock_init(&mtx1_wdt_device.lock); |
219 | init_completion(&mtx1_wdt_device.stop); | 225 | init_completion(&mtx1_wdt_device.stop); |
@@ -239,6 +245,8 @@ static int __devexit mtx1_wdt_remove(struct platform_device *pdev) | |||
239 | mtx1_wdt_device.queue = 0; | 245 | mtx1_wdt_device.queue = 0; |
240 | wait_for_completion(&mtx1_wdt_device.stop); | 246 | wait_for_completion(&mtx1_wdt_device.stop); |
241 | } | 247 | } |
248 | |||
249 | gpio_free(mtx1_wdt_device.gpio); | ||
242 | misc_deregister(&mtx1_wdt_misc); | 250 | misc_deregister(&mtx1_wdt_misc); |
243 | return 0; | 251 | return 0; |
244 | } | 252 | } |