uart.c: make use of no_bus_mux flag
[contrib/mraa.git] / src / uart / uart.c
index 5fc0cc1..499af93 100644 (file)
@@ -152,22 +152,24 @@ mraa_uart_init(int index)
         return NULL;
     }
 
-    int pos = plat->uart_dev[index].rx;
-    if (pos >= 0) {
-        if (plat->pins[pos].uart.mux_total > 0) {
-            if (mraa_setup_mux_mapped(plat->pins[pos].uart) != MRAA_SUCCESS) {
-                syslog(LOG_ERR, "uart: failed to setup muxes for RX pin");
-                return NULL;
+    if (!plat->no_bus_mux) {
+        int pos = plat->uart_dev[index].rx;
+        if (pos >= 0) {
+            if (plat->pins[pos].uart.mux_total > 0) {
+                if (mraa_setup_mux_mapped(plat->pins[pos].uart) != MRAA_SUCCESS) {
+                    syslog(LOG_ERR, "uart: failed to setup muxes for RX pin");
+                    return NULL;
+                }
             }
         }
-    }
 
-    pos = plat->uart_dev[index].tx;
-    if (pos >= 0) {
-        if (plat->pins[pos].uart.mux_total > 0) {
-            if (mraa_setup_mux_mapped(plat->pins[pos].uart) != MRAA_SUCCESS) {
-                syslog(LOG_ERR, "uart: failed to setup muxes for TX pin");
-                return NULL;
+        pos = plat->uart_dev[index].tx;
+        if (pos >= 0) {
+            if (plat->pins[pos].uart.mux_total > 0) {
+                if (mraa_setup_mux_mapped(plat->pins[pos].uart) != MRAA_SUCCESS) {
+                    syslog(LOG_ERR, "uart: failed to setup muxes for TX pin");
+                    return NULL;
+                }
             }
         }
     }