diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2016-03-04 09:07:53 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@zephyrproject.org> | 2016-03-04 20:13:21 +0000 |
commit | 0efd558cbc237a74b142d5cc14e716668e6118ca (patch) | |
tree | 872fc67be8e5bedd788d2ce342a2ab4c02821ae2 | |
parent | 8708b73c6513c186e2f6f1da7434add4a2b943e6 (diff) |
SPI: Change read/write buffer pointers to void *
There's no reason to require callers to cast their data to uint8_t *
when the data might e.g. originate in a packed struct or some other
data type. Instead, be nice to callers and let them use any pointer
they want. Additionally, declare the TX buffer as a const pointer so
unnecessary typecasts aren't needed for that either (if the data
originates in a const location).
Change-Id: I1482ca4e350b5a7fbda6871ed9f54f255af3aa9e
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
-rw-r--r-- | drivers/adc/adc_ti_adc108s102.c | 9 | ||||
-rw-r--r-- | drivers/spi/spi_dw.c | 4 | ||||
-rw-r--r-- | drivers/spi/spi_dw.h | 2 | ||||
-rw-r--r-- | drivers/spi/spi_intel.c | 4 | ||||
-rw-r--r-- | drivers/spi/spi_intel.h | 2 | ||||
-rw-r--r-- | drivers/spi/spi_qmsi.c | 4 | ||||
-rw-r--r-- | include/spi.h | 12 |
7 files changed, 18 insertions, 19 deletions
diff --git a/drivers/adc/adc_ti_adc108s102.c b/drivers/adc/adc_ti_adc108s102.c index d27b988a9..f2b90f73b 100644 --- a/drivers/adc/adc_ti_adc108s102.c +++ b/drivers/adc/adc_ti_adc108s102.c @@ -42,11 +42,10 @@ static inline int _ti_adc108s102_sampling(struct device *dev) DBG("Sampling!\n"); /* SPI deals with uint8_t buffers so multiplying by 2 the length */ - return spi_transceive(adc->spi, - (uint8_t *) adc->cmd_buffer, - adc->cmd_buf_len*2, - (uint8_t *) adc->sampling_buffer, - adc->sampling_buf_len*2); + return spi_transceive(adc->spi, adc->cmd_buffer, + adc->cmd_buf_len * 2, + adc->sampling_buffer, + adc->sampling_buf_len * 2); } static inline void _ti_adc108s102_handle_result(struct device *dev) diff --git a/drivers/spi/spi_dw.c b/drivers/spi/spi_dw.c index e0af9c130..d52014da1 100644 --- a/drivers/spi/spi_dw.c +++ b/drivers/spi/spi_dw.c @@ -257,8 +257,8 @@ static int spi_dw_slave_select(struct device *dev, uint32_t slave) } static int spi_dw_transceive(struct device *dev, - uint8_t *tx_buf, uint32_t tx_buf_len, - uint8_t *rx_buf, uint32_t rx_buf_len) + const void *tx_buf, uint32_t tx_buf_len, + void *rx_buf, uint32_t rx_buf_len) { struct spi_dw_config *info = dev->config->config_info; struct spi_dw_data *spi = dev->driver_data; diff --git a/drivers/spi/spi_dw.h b/drivers/spi/spi_dw.h index aae1c1356..527ab041c 100644 --- a/drivers/spi/spi_dw.h +++ b/drivers/spi/spi_dw.h @@ -53,7 +53,7 @@ struct spi_dw_data { #ifdef CONFIG_SPI_DW_CS_GPIO struct device *cs_gpio_port; #endif /* CONFIG_SPI_DW_CS_GPIO */ - uint8_t *tx_buf; + const uint8_t *tx_buf; uint32_t tx_buf_len; uint8_t *rx_buf; uint32_t rx_buf_len; diff --git a/drivers/spi/spi_intel.c b/drivers/spi/spi_intel.c index 668d059e8..57596d63b 100644 --- a/drivers/spi/spi_intel.c +++ b/drivers/spi/spi_intel.c @@ -263,8 +263,8 @@ static int spi_intel_configure(struct device *dev, } static int spi_intel_transceive(struct device *dev, - uint8_t *tx_buf, uint32_t tx_buf_len, - uint8_t *rx_buf, uint32_t rx_buf_len) + const void *tx_buf, uint32_t tx_buf_len, + void *rx_buf, uint32_t rx_buf_len) { struct spi_intel_config *info = dev->config->config_info; struct spi_intel_data *spi = dev->driver_data; diff --git a/drivers/spi/spi_intel.h b/drivers/spi/spi_intel.h index ae453131a..04acbb562 100644 --- a/drivers/spi/spi_intel.h +++ b/drivers/spi/spi_intel.h @@ -51,7 +51,7 @@ struct spi_intel_data { #endif /* CONFIG_SPI_INTEL_CS_GPIO */ uint32_t sscr0; uint32_t sscr1; - uint8_t *tx_buf; + const uint8_t *tx_buf; uint8_t *rx_buf; uint32_t t_buf_len; uint32_t r_buf_len; diff --git a/drivers/spi/spi_qmsi.c b/drivers/spi/spi_qmsi.c index 1ddcedee8..341621cde 100644 --- a/drivers/spi/spi_qmsi.c +++ b/drivers/spi/spi_qmsi.c @@ -156,8 +156,8 @@ static inline uint8_t frame_size_to_dfs(qm_spi_frame_size_t frame_size) } static int spi_qmsi_transceive(struct device *dev, - uint8_t *tx_buf, uint32_t tx_buf_len, - uint8_t *rx_buf, uint32_t rx_buf_len) + const void *tx_buf, uint32_t tx_buf_len, + void *rx_buf, uint32_t rx_buf_len) { struct spi_qmsi_config *spi_config = dev->config->config_info; qm_spi_t spi = spi_config->spi; diff --git a/include/spi.h b/include/spi.h index 41e6247f3..895dd292a 100644 --- a/include/spi.h +++ b/include/spi.h @@ -81,8 +81,8 @@ typedef int (*spi_api_configure)(struct device *dev, struct spi_config *config); typedef int (*spi_api_slave_select)(struct device *dev, uint32_t slave); typedef int (*spi_api_io)(struct device *dev, - uint8_t *tx_buf, uint32_t tx_buf_len, - uint8_t *rx_buf, uint32_t rx_buf_len); + const void *tx_buf, uint32_t tx_buf_len, + void *rx_buf, uint32_t rx_buf_len); typedef int (*spi_api_control)(struct device *dev); struct spi_driver_api { @@ -143,7 +143,7 @@ static inline int spi_slave_select(struct device *dev, uint32_t slave) * @retval DEV_OK If successful. * @retval DEV_* Code otherwise. */ -static inline int spi_read(struct device *dev, uint8_t *buf, uint32_t len) +static inline int spi_read(struct device *dev, void *buf, uint32_t len) { struct spi_driver_api *api = (struct spi_driver_api *)dev->driver_api; @@ -159,7 +159,7 @@ static inline int spi_read(struct device *dev, uint8_t *buf, uint32_t len) * @retval DEV_OK If successful. * @retval DEV_* Code otherwise. */ -static inline int spi_write(struct device *dev, uint8_t *buf, uint32_t len) +static inline int spi_write(struct device *dev, const void *buf, uint32_t len) { struct spi_driver_api *api = (struct spi_driver_api *)dev->driver_api; @@ -181,8 +181,8 @@ static inline int spi_write(struct device *dev, uint8_t *buf, uint32_t len) * @retval DEV_* Code otherwise. */ static inline int spi_transceive(struct device *dev, - uint8_t *tx_buf, uint32_t tx_buf_len, - uint8_t *rx_buf, uint32_t rx_buf_len) + const void *tx_buf, uint32_t tx_buf_len, + void *rx_buf, uint32_t rx_buf_len) { struct spi_driver_api *api = (struct spi_driver_api *)dev->driver_api; |