From e602460688b186d2f9155b905d81a1dc1a5e158d Mon Sep 17 00:00:00 2001 From: Thomas Ingleby Date: Fri, 18 Jul 2014 13:19:29 +0100 Subject: [PATCH] hook: move gpio init post hook Signed-off-by: Thomas Ingleby --- docs/platform-hooks.md | 2 +- src/gpio/gpio.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/platform-hooks.md b/docs/platform-hooks.md index adb5e65..ece7291 100644 --- a/docs/platform-hooks.md +++ b/docs/platform-hooks.md @@ -14,7 +14,7 @@ Any functionality perfomed here is done just before the normal function returns. ##Hooks ### GPIO - * init (pre-post) - On RAW functions + * init (pre-post) * mode (replace-pre-post) * dir (replace-pre-post) * write (pre-post) diff --git a/src/gpio/gpio.c b/src/gpio/gpio.c index 7ca328f..ec71531 100644 --- a/src/gpio/gpio.c +++ b/src/gpio/gpio.c @@ -61,6 +61,14 @@ mraa_gpio_init(int pin) mraa_gpio_context r = mraa_gpio_init_raw(pinm); r->phy_pin = pin; + + if (advance_func->gpio_init_post != NULL) { + mraa_result_t ret = advance_func->gpio_init_post(r); + if (ret != MRAA_SUCCESS) { + free(r); + return NULL; + } + } return r; } @@ -106,13 +114,6 @@ mraa_gpio_init_raw(int pin) close(export); } - if (advance_func->gpio_init_post != NULL) { - mraa_result_t ret = advance_func->gpio_init_post(dev); - if (ret != MRAA_SUCCESS) { - free(dev); - return NULL; - } - } return dev; } -- 2.7.4