Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
mraa_result_t (*gpio_init_pre) (int pin);
mraa_result_t (*gpio_init_post) (mraa_gpio_context dev);
+ mraa_result_t (*gpio_close_pre) (mraa_gpio_context dev);
+
mraa_result_t (*gpio_mode_replace) (mraa_gpio_context dev, gpio_mode_t mode);
mraa_result_t (*gpio_mode_pre) (mraa_gpio_context dev, gpio_mode_t mode);
mraa_result_t (*gpio_mode_post) (mraa_gpio_context dev, gpio_mode_t mode);
mraa_result_t
mraa_gpio_close(mraa_gpio_context dev)
{
+ mraa_result_t result = MRAA_SUCCESS;
+
+ if (advance_func->gpio_close_pre != NULL) {
+ result = advance_func->gpio_close_pre(dev);
+ }
+
if (dev->value_fp != -1) {
close(dev->value_fp);
}
mraa_gpio_unexport(dev);
free(dev);
- return MRAA_SUCCESS;
+ return result;
}
mraa_result_t