/* * Copyright (C) 2017-2019 Alibaba Group Holding Limited */ /****************************************************************************** * @file drv_common.h * @brief Header File for Common Driver * @version V1.0 * @date 19. Feb 2019 * @model common ******************************************************************************/ #ifndef _DRV_COMMON_H_ #define _DRV_COMMON_H_ #include #include #ifdef __cplusplus extern "C" { #endif /// \details driver handle typedef void *drv_handle_t; #ifndef CONFIG_PARAM_NOT_CHECK #define HANDLE_PARAM_CHK(para, err) \ do { \ if ((int64_t)para == (int64_t)NULL) { \ return (err); \ } \ } while (0) #define HANDLE_PARAM_CHK_NORETVAL(para, err) \ do { \ if ((int64_t)para == (int64_t)NULL) { \ return; \ } \ } while (0) #else #define HANDLE_PARAM_CHK(para, err) #define HANDLE_PARAM_CHK_NORETVAL(para, err) #endif /** \brief General power states */ typedef enum { DRV_POWER_OFF, ///< Power off: no operation possible DRV_POWER_LOW, ///< Low Power mode: retain state, detect and signal wake-up events DRV_POWER_FULL, ///< Power on: full operation at maximum performance DRV_POWER_SUSPEND, ///< Power suspend: power saving operation } csi_power_stat_e; #ifdef __cplusplus } #endif #endif /* _DRV_COMMON_H */