Merge pull request #15896 from maribu/spi-api-cleanup

drivers/periph/spi: clean up error codes and doc
This commit is contained in:
Jean Pierre Dudey 2021-02-27 01:09:49 +01:00 committed by GitHub
commit a30184b5a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -66,10 +66,11 @@
#ifndef PERIPH_SPI_H
#define PERIPH_SPI_H
#include <errno.h>
#include <limits.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <limits.h>
#include "periph_cpu.h"
#include "periph_conf.h"
@ -128,13 +129,16 @@ typedef gpio_t spi_cs_t;
/**
* @brief Status codes used by the SPI driver interface
*
* @deprecated Use negative errno codes instead. The enum is still provided
* for backwards compatibility
*/
enum {
SPI_OK = 0, /**< everything went as planned */
SPI_NODEV = -1, /**< invalid SPI bus specified */
SPI_NOCS = -2, /**< invalid chip select line specified */
SPI_NOMODE = -3, /**< selected mode is not supported */
SPI_NOCLK = -4 /**< selected clock value is not supported */
SPI_NODEV = -ENXIO, /**< invalid SPI bus specified */
SPI_NOCS = -EINVAL, /**< invalid chip select line specified */
SPI_NOMODE = -EINVAL, /**< selected mode is not supported */
SPI_NOCLK = -EINVAL /**< selected clock value is not supported */
};
/**
@ -234,9 +238,9 @@ void spi_init_pins(spi_t bus);
* @param[in] bus SPI device that is used with the given CS line
* @param[in] cs chip select pin to initialize
*
* @return SPI_OK on success
* @return SPI_NODEV on invalid device
* @return SPI_NOCS on invalid CS pin/line
* @retval 0 success
* @retval -ENXIO invalid device
* @retval -EINVAL invalid CS pin/line
*/
int spi_init_cs(spi_t bus, spi_cs_t cs);
@ -322,8 +326,8 @@ typedef struct {
* @param[in] bus SPI device that is used with the given CS line
* @param[in] mode a struct containing the 3 modes to use on each pin
*
* @return 0 on success
* @return <0 on error
* @retval 0 success
* @retval <0 error
*/
int spi_init_with_gpio_mode(spi_t bus, spi_gpio_mode_t mode);
#endif
@ -345,9 +349,11 @@ int spi_init_with_gpio_mode(spi_t bus, spi_gpio_mode_t mode);
* @param[in] mode mode to use for the new transaction
* @param[in] clk bus clock speed to use for the transaction
*
* @return SPI_OK on success
* @return SPI_NOMODE if given mode is not supported
* @return SPI_NOCLK if given clock speed is not supported
* @retval 0 success
* @return -EINVAL Invalid mode in @p mode
* @return -EINVAL Invalid clock in @p clock
* @return -ENOTSUP Unsupported but valid mode in @p mode
* @return -ENOTSUP Unsupported but valid clock in @p clock
*/
int spi_acquire(spi_t bus, spi_cs_t cs, spi_mode_t mode, spi_clk_t clk);