From 32a85edb16cac696ef5438a54c21235c58f77cb8 Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin@koconnor.net>
Date: Wed, 11 Jul 2018 19:43:20 -0400
Subject: [PATCH] spidev: Minor rework to spidev_transfer()

Gcc does a better job of inlining code if spidev_transfer() is
reworked slightly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
---
 src/spicmds.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/spicmds.c b/src/spicmds.c
index 3c9c29281..ebbe8a871 100644
--- a/src/spicmds.c
+++ b/src/spicmds.c
@@ -57,15 +57,15 @@ static void
 spidev_transfer(struct spidev_s *spi, uint8_t receive_data
                 , uint8_t data_len, uint8_t *data)
 {
-    if (spi->flags & SF_HAVE_PIN) {
-        spi_prepare(spi->spi_config);
+    spi_prepare(spi->spi_config);
+
+    if (spi->flags & SF_HAVE_PIN)
         gpio_out_write(spi->pin, 0);
-        spi_transfer(spi->spi_config, receive_data, data_len, data);
+
+    spi_transfer(spi->spi_config, receive_data, data_len, data);
+
+    if (spi->flags & SF_HAVE_PIN)
         gpio_out_write(spi->pin, 1);
-    } else {
-        spi_prepare(spi->spi_config);
-        spi_transfer(spi->spi_config, receive_data, data_len, data);
-    }
 }
 
 void