uart.c: make use of no_bus_mux flag
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fri, 11 Dec 2015 16:28:18 +0000 (16:28 +0000)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Mon, 14 Dec 2015 11:00:04 +0000 (11:00 +0000)
This patch makes use of no_bus_mux flag in mraa_board_t to skip
unnessary mux checks.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
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;
+                }
             }
         }
     }