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