Структура, определяющая аппаратный интерфейс драйвера низкого уровня.
#include <hw/platform-control.h>typedef struct {size_t size;void* (*init)(void *hdl, char *options);void (*fini)(void *hdl);int (*drvinfo)(void *hdl,spi_drvinfo_t *info);int (*devinfo)(void *hdl,uint32_t device,spi_devinfo_t *info);int (*setcfg)(void *hdl,uint16_t device,spi_cfg_t *cfg);void* (*xfer)(void *hdl,uint32_t device,uint8_t *buf,int *len);int (*dma_xfer)(void *hdl,uint32_t device,spi_dma_paddr_t *paddr,int len);} spi_funcs_t;
libspi-master
Эта структура определяет интерфейс драйвера. Каждый указатель представляет определенную операцию, которая может быть выполнена на устройстве. Фактическая реализация этих функций будет зависеть от контекста и конкретных требований драйвера или библиотеки, с которыми вы работаете.
ЗОСРВ «Нейтрино»
spi_funcs_t :: init(), spi_funcs_t :: fini(), spi_funcs_t :: drvinfo(), spi_funcs_t :: devinfo(), spi_funcs_t :: setcfg(), spi_funcs_t :: xfer(), spi_funcs_t :: dma_xfer(), spi_drvinfo_t, spi_devinfo_t, spi_cfg_t, spi_dma_paddr_t
Предыдущий раздел: Библиотека разработки SPI драйверов