Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
mraa_result_t (*spi_init_pre) (int bus);
mraa_result_t (*spi_init_post) (mraa_spi_context spi);
+
+ mraa_result_t (*uart_init_post) (mraa_uart_context uart);
} mraa_adv_func_t;
int adc_in_fp; /**< File Pointer to raw sysfs */
int value_bit; /**< 10 bits by default. Can be increased if board */
};
+
+/**
+ * A structure representing a UART device
+ */
+struct _uart {
+ /*@{*/
+ int index; /**< the uart index, as known to the os. */
+ /*@}*/
+};
#include "uart.h"
#include "mraa_internal.h"
-/**
- * A structure representing a UART device
- */
-struct _uart {
- /*@{*/
- int index; /**< the uart index, as known to the os. */
- /*@}*/
-};
-
mraa_uart_context
mraa_uart_init(int index)
{
memset(dev, 0, sizeof(struct _uart));
dev->index = index;
+ if (advance_func->uart_init_post != NULL) {
+ mraa_result_t ret = advance_func->uart_init_post(dev);
+ if (ret != MRAA_SUCCESS) {
+ free(dev);
+ return NULL;
+ }
+ }
return dev;
}