aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-07-11 19:43:20 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-07-11 19:43:20 -0400
commit32a85edb16cac696ef5438a54c21235c58f77cb8 (patch)
treeaf6aaf4d95a77853f8de8923446bde9218243adb
parent733506dfb248a329794ae3f5f994b5c7c3ec2f7d (diff)
downloadkutter-32a85edb16cac696ef5438a54c21235c58f77cb8.tar.gz
kutter-32a85edb16cac696ef5438a54c21235c58f77cb8.tar.xz
kutter-32a85edb16cac696ef5438a54c21235c58f77cb8.zip
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>
-rw-r--r--src/spicmds.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/spicmds.c b/src/spicmds.c
index 3c9c2928..ebbe8a87 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