From 154c33950ac28eb1ca857c246645b11f9eb26b78 Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Wed, 14 Jun 2017 14:27:31 +0200 Subject: [PATCH] spi: get rid of the separate calls to spi_set_cs_level() --- include/spi.h | 1 - source/core/spi.c | 8 -------- source/drivers/spi_flash.c | 6 ------ source/drivers/stm32f0_spi.c | 15 --------------- 4 files changed, 30 deletions(-) diff --git a/include/spi.h b/include/spi.h index 6483e9b..8ec2adb 100644 --- a/include/spi.h +++ b/include/spi.h @@ -15,6 +15,5 @@ struct spi_dev { struct spi_dev *spi_probe(void); void spi_release(struct spi_dev *dev); -int spi_set_cs_level(struct spi_dev *dev, int level); int spi_tx_rx(struct spi_dev *dev, void *rx_buf, size_t rx_len, const void *tx_buf, size_t tx_len); diff --git a/source/core/spi.c b/source/core/spi.c index a949630..8c43966 100644 --- a/source/core/spi.c +++ b/source/core/spi.c @@ -3,14 +3,6 @@ #include -int spi_set_cs_level(struct spi_dev *dev, int level) -{ - if (!dev) - return -1; - - return dev->ops->set_cs_level(dev, level); -} - int spi_tx_rx(struct spi_dev *dev, void *rx_buf, size_t rx_len, const void *tx_buf, size_t tx_len) { diff --git a/source/drivers/spi_flash.c b/source/drivers/spi_flash.c index 78471c6..44a8a90 100644 --- a/source/drivers/spi_flash.c +++ b/source/drivers/spi_flash.c @@ -80,9 +80,7 @@ static size_t spi_flash_read(struct flash_dev *dev, uint32_t addr, void *data, spi_flash_addr(cmd, addr); - spi_set_cs_level(spi_dev, 0); spi_tx_rx(spi_dev, data, len, cmd, sizeof cmd); - spi_set_cs_level(spi_dev, 1); return len; } @@ -99,9 +97,7 @@ static size_t spi_flash_write(struct flash_dev *dev, uint32_t addr, spi_flash_addr(cmd, addr); memcpy(cmd + 4, data, len); - spi_set_cs_level(spi_dev, 0); spi_tx_rx(spi_dev, NULL, 0, cmd, sizeof cmd); - spi_set_cs_level(spi_dev, 1); spi_flash_write_disable(dev); @@ -118,9 +114,7 @@ static int spi_flash_erase(struct flash_dev *dev, uint32_t addr) cmd[0] = SPI_FLASH_ERASE_4K; spi_flash_addr(cmd, addr << dev->log2_block_size); - spi_set_cs_level(spi_dev, 0); spi_tx_rx(spi_dev, NULL, 0, cmd, sizeof cmd); - spi_set_cs_level(spi_dev, 1); spi_flash_write_disable(dev); diff --git a/source/drivers/stm32f0_spi.c b/source/drivers/stm32f0_spi.c index 4ee2806..ac2cc79 100644 --- a/source/drivers/stm32f0_spi.c +++ b/source/drivers/stm32f0_spi.c @@ -9,12 +9,10 @@ #include -static int stm32f0_spi_set_cs_level(struct spi_dev *dev, int level); static int stm32f0_spi_tx_rx(struct spi_dev *dev, void *rx_buf, size_t rx_len, const void *tx_buf, size_t tx_len); static struct spi_ops stm32f0_spi_ops = { - .set_cs_level = stm32f0_spi_set_cs_level, .tx_rx = stm32f0_spi_tx_rx, }; @@ -67,19 +65,6 @@ void spi_release(struct spi_dev *dev) free(dev); } -static int stm32f0_spi_set_cs_level(struct spi_dev *dev, int level) -{ - (void)dev; - - if (level) { - gpio_set(GPIOA, GPIO4); - } else { - gpio_clear(GPIOA, GPIO4); - } - - return 0; -} - static int stm32f0_spi_tx_rx(struct spi_dev *dev, void *rx_buf, size_t rx_len, const void *tx_buf, size_t tx_len) {