From ecd621c9be5fc9d3dcd34a591776f2425c13780a Mon Sep 17 00:00:00 2001 From: chenchong Date: Fri, 5 Nov 2021 15:07:58 +0800 Subject: [PATCH 01/12] modify_code Signed-off-by: chenchong --- model/sensor/driver/als/sensor_als_driver.c | 6 +++--- model/sensor/driver/chipset/als/als_bh1745.c | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index 5208a28e4..be8b3596f 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -247,8 +247,6 @@ static int32_t InitAlsAfterDetected(struct SensorCfgData *config) if (ParseSensorRegConfig(config) != HDF_SUCCESS) { HDF_LOGE("%s: Parse sensor register failed", __func__); - (void)DeleteSensorDevice(&config->sensorInfo); - ReleaseSensorAllRegConfig(config); return HDF_FAILURE; } @@ -282,7 +280,7 @@ struct SensorCfgData *AlsCreateCfgData(const struct DeviceResourceNode *node) if (DetectSensorDevice(drvData->alsCfg) != HDF_SUCCESS) { HDF_LOGI("%s: Als sensor detect device no exist", __func__); drvData->detectFlag = false; - goto BASE_CONFIG_EXIT; + goto INIT_EXIT; } drvData->detectFlag = true; @@ -294,6 +292,8 @@ struct SensorCfgData *AlsCreateCfgData(const struct DeviceResourceNode *node) return drvData->alsCfg; INIT_EXIT: + (void)DeleteSensorDevice(&drvData->alsCfg->sensorInfo); + ReleaseSensorAllRegConfig(drvData->alsCfg); (void)ReleaseSensorBusHandle(&drvData->alsCfg->busCfg); BASE_CONFIG_EXIT: drvData->alsCfg->root = NULL; diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index b1fc82fc6..6f8efef52 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -218,8 +218,11 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) struct Bh1745DrvData *drvData = (struct Bh1745DrvData *)device->service; CHECK_NULL_PTR_RETURN(drvData); - AlsReleaseCfgData(drvData->sensorCfg); - drvData->sensorCfg = NULL; + if (drvData->sensorCfg != NULL) { + AlsReleaseCfgData(drvData->sensorCfg); + drvData->sensorCfg = NULL; + } + OsalMemFree(drvData); } -- Gitee From 9fb83d95dfd4788486fcabf70ec79df61d9066b7 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Mon, 8 Nov 2021 11:36:30 +0000 Subject: [PATCH 02/12] update model/sensor/driver/als/sensor_als_driver.c. --- model/sensor/driver/als/sensor_als_driver.c | 240 ++++++++++---------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index be8b3596f..dca54870a 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -1,36 +1,37 @@ /* - * Copyright (c) 2021 Huawei Device Co., Ltd. + * Copyright (c) 2020-2021 Huawei Device Co., Ltd. * * HDF is dual licensed: you can use it either under the terms of * the GPL, or the BSD license, at your option. * See the LICENSE file in the root of this repository for complete details. */ -#include "sensor_als_driver.h" +#include "sensor_accel_driver.h" #include -#include "als_bh1745.h" +#include "hdf_base.h" +#include "hdf_device_desc.h" #include "osal_math.h" #include "osal_mem.h" #include "sensor_config_controller.h" #include "sensor_device_manager.h" #include "sensor_platform_if.h" -#define HDF_LOG_TAG sensor_als_driver_c +#define HDF_LOG_TAG sensor_accel_driver_c -#define HDF_ALS_WORK_QUEUE_NAME "hdf_als_work_queue" +#define HDF_ACCEL_WORK_QUEUE_NAME "hdf_accel_work_queue" -static struct AlsDrvData *g_alsDrvData = NULL; +static struct AccelDrvData *g_accelDrvData = NULL; -static struct AlsDrvData *AlsGetDrvData(void) +static struct AccelDrvData *AccelGetDrvData(void) { - return g_alsDrvData; + return g_accelDrvData; } static struct SensorRegCfgGroupNode *g_regCfgGroup[SENSOR_GROUP_MAX] = { NULL }; -int32_t AlsRegisterChipOps(const struct AlsOpsCall *ops) +int32_t AccelRegisterChipOps(const struct AccelOpsCall *ops) { - struct AlsDrvData *drvData = AlsGetDrvData(); + struct AccelDrvData *drvData = AccelGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); @@ -40,50 +41,50 @@ int32_t AlsRegisterChipOps(const struct AlsOpsCall *ops) return HDF_SUCCESS; } -static void AlsDataWorkEntry(void *arg) +static void AccelDataWorkEntry(void *arg) { - struct AlsDrvData *drvData = NULL; + struct AccelDrvData *drvData = NULL; - drvData = (struct AlsDrvData *)arg; + drvData = (struct AccelDrvData *)arg; CHECK_NULL_PTR_RETURN(drvData); if (drvData->ops.ReadData == NULL) { - HDF_LOGI("%s: Als ReadData function NULl", __func__); + HDF_LOGI("%s: Accel ReadData function NULl", __func__); return; } - if (drvData->ops.ReadData(drvData->alsCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: Als read data failed", __func__); + if (drvData->ops.ReadData(drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: Accel read data failed", __func__); } } -static void AlsTimerEntry(uintptr_t arg) +static void AccelTimerEntry(uintptr_t arg) { int64_t interval; int32_t ret; - struct AlsDrvData *drvData = (struct AlsDrvData *)arg; + struct AccelDrvData *drvData = (struct AccelDrvData *)arg; CHECK_NULL_PTR_RETURN(drvData); - if (!HdfAddWork(&drvData->alsWorkQueue, &drvData->alsWork)) { - HDF_LOGE("%s: Als add work queue failed", __func__); + if (!HdfAddWork(&drvData->accelWorkQueue, &drvData->accelWork)) { + HDF_LOGE("%s: Accel add work queue failed", __func__); } interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); interval = (interval < SENSOR_TIMER_MIN_TIME) ? SENSOR_TIMER_MIN_TIME : interval; - ret = OsalTimerSetTimeout(&drvData->alsTimer, interval); + ret = OsalTimerSetTimeout(&drvData->accelTimer, interval); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als modify time failed", __func__); + HDF_LOGE("%s: Accel modify time failed", __func__); } } -static int32_t InitAlsData(struct AlsDrvData *drvData) +static int32_t InitAccelData(struct AccelDrvData *drvData) { - if (HdfWorkQueueInit(&drvData->alsWorkQueue, HDF_ALS_WORK_QUEUE_NAME) != HDF_SUCCESS) { - HDF_LOGE("%s: Als init work queue failed", __func__); + if (HdfWorkQueueInit(&drvData->accelWorkQueue, HDF_ACCEL_WORK_QUEUE_NAME) != HDF_SUCCESS) { + HDF_LOGE("%s: Accel init work queue failed", __func__); return HDF_FAILURE; } - if (HdfWorkInit(&drvData->alsWork, AlsDataWorkEntry, drvData) != HDF_SUCCESS) { - HDF_LOGE("%s: Als create thread failed", __func__); + if (HdfWorkInit(&drvData->accelWork, AccelDataWorkEntry, drvData) != HDF_SUCCESS) { + HDF_LOGE("%s: Accel create thread failed", __func__); return HDF_FAILURE; } @@ -94,34 +95,34 @@ static int32_t InitAlsData(struct AlsDrvData *drvData) return HDF_SUCCESS; } -static int32_t SetAlsEnable(void) +static int32_t SetAccelEnable(void) { int32_t ret; - struct AlsDrvData *drvData = AlsGetDrvData(); + struct AccelDrvData *drvData = AccelGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - CHECK_NULL_PTR_RETURN_VALUE(drvData->alsCfg, HDF_ERR_INVALID_PARAM); + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); if (drvData->enable) { - HDF_LOGE("%s: Als sensor is enabled", __func__); + HDF_LOGE("%s: Accel sensor is enabled", __func__); return HDF_SUCCESS; } - ret = SetSensorRegCfgArray(&drvData->alsCfg->busCfg, drvData->alsCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als sensor enable config failed", __func__); + HDF_LOGE("%s: Accel sensor enable config failed", __func__); return ret; } - ret = OsalTimerCreate(&drvData->alsTimer, SENSOR_TIMER_MIN_TIME, AlsTimerEntry, (uintptr_t)drvData); + ret = OsalTimerCreate(&drvData->accelTimer, SENSOR_TIMER_MIN_TIME, AccelTimerEntry, (uintptr_t)drvData); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als create timer failed[%d]", __func__, ret); + HDF_LOGE("%s: Accel create timer failed[%d]", __func__, ret); return ret; } - ret = OsalTimerStartLoop(&drvData->alsTimer); + ret = OsalTimerStartLoop(&drvData->accelTimer); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als start timer failed[%d]", __func__, ret); + HDF_LOGE("%s: Accel start timer failed[%d]", __func__, ret); return ret; } drvData->enable = true; @@ -129,28 +130,28 @@ static int32_t SetAlsEnable(void) return HDF_SUCCESS; } -static int32_t SetAlsDisable(void) +static int32_t SetAccelDisable(void) { int32_t ret; - struct AlsDrvData *drvData = AlsGetDrvData(); + struct AccelDrvData *drvData = AccelGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - CHECK_NULL_PTR_RETURN_VALUE(drvData->alsCfg, HDF_ERR_INVALID_PARAM); + CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); if (!drvData->enable) { - HDF_LOGE("%s: Als sensor had disable", __func__); + HDF_LOGE("%s: Accel sensor had disable", __func__); return HDF_SUCCESS; } - ret = SetSensorRegCfgArray(&drvData->alsCfg->busCfg, drvData->alsCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); + ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als sensor disable config failed", __func__); + HDF_LOGE("%s: Accel sensor disable config failed", __func__); return ret; } - ret = OsalTimerDelete(&drvData->alsTimer); + ret = OsalTimerDelete(&drvData->accelTimer); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Als delete timer failed", __func__); + HDF_LOGE("%s: Accel delete timer failed", __func__); return ret; } drvData->enable = false; @@ -158,13 +159,13 @@ static int32_t SetAlsDisable(void) return HDF_SUCCESS; } -static int32_t SetAlsBatch(int64_t samplingInterval, int64_t interval) +static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) { (void)interval; - struct AlsDrvData *drvData = NULL; + struct AccelDrvData *drvData = NULL; - drvData = AlsGetDrvData(); + drvData = AccelGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); drvData->interval = samplingInterval; @@ -172,18 +173,18 @@ static int32_t SetAlsBatch(int64_t samplingInterval, int64_t interval) return HDF_SUCCESS; } -static int32_t SetAlsMode(int32_t mode) +static int32_t SetAccelMode(int32_t mode) { return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; } -static int32_t SetAlsOption(uint32_t option) +static int32_t SetAccelOption(uint32_t option) { (void)option; return HDF_SUCCESS; } -static int32_t DispatchAls(struct HdfDeviceIoClient *client, +static int32_t DispatchAccel(struct HdfDeviceIoClient *client, int cmd, struct HdfSBuf *data, struct HdfSBuf *reply) { (void)client; @@ -194,32 +195,32 @@ static int32_t DispatchAls(struct HdfDeviceIoClient *client, return HDF_SUCCESS; } -int32_t AlsBindDriver(struct HdfDeviceObject *device) +int32_t AccelBindDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - struct AlsDrvData *drvData = (struct AlsDrvData *)OsalMemCalloc(sizeof(*drvData)); + struct AccelDrvData *drvData = (struct AccelDrvData *)OsalMemCalloc(sizeof(*drvData)); if (drvData == NULL) { - HDF_LOGE("%s: Malloc als drv data fail!", __func__); + HDF_LOGE("%s: Malloc accel drv data fail!", __func__); return HDF_ERR_MALLOC_FAIL; } - drvData->ioService.Dispatch = DispatchAls; + drvData->ioService.Dispatch = DispatchAccel; drvData->device = device; device->service = &drvData->ioService; - g_alsDrvData = drvData; + g_accelDrvData = drvData; return HDF_SUCCESS; } -static int32_t InitAlsOps(struct SensorCfgData *config, struct SensorDeviceInfo *deviceInfo) +static int32_t InitAccelOps(struct SensorCfgData *config, struct SensorDeviceInfo *deviceInfo) { CHECK_NULL_PTR_RETURN_VALUE(config, HDF_ERR_INVALID_PARAM); - deviceInfo->ops.Enable = SetAlsEnable; - deviceInfo->ops.Disable = SetAlsDisable; - deviceInfo->ops.SetBatch = SetAlsBatch; - deviceInfo->ops.SetMode = SetAlsMode; - deviceInfo->ops.SetOption = SetAlsOption; + deviceInfo->ops.Enable = SetAccelEnable; + deviceInfo->ops.Disable = SetAccelDisable; + deviceInfo->ops.SetBatch = SetAccelBatch; + deviceInfo->ops.SetMode = SetAccelMode; + deviceInfo->ops.SetOption = SetAccelOption; if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), &config->sensorInfo, sizeof(config->sensorInfo)) != EOK) { @@ -230,140 +231,139 @@ static int32_t InitAlsOps(struct SensorCfgData *config, struct SensorDeviceInfo return HDF_SUCCESS; } -static int32_t InitAlsAfterDetected(struct SensorCfgData *config) +static int32_t InitAccelAfterDetected(struct SensorCfgData *config) { struct SensorDeviceInfo deviceInfo; CHECK_NULL_PTR_RETURN_VALUE(config, HDF_ERR_INVALID_PARAM); - if (InitAlsOps(config, &deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: Init als ops failed", __func__); + if (InitAccelOps(config, &deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: Init accel ops failed", __func__); return HDF_FAILURE; } if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: Add als device failed", __func__); + HDF_LOGE("%s: Add accel device failed", __func__); return HDF_FAILURE; } if (ParseSensorRegConfig(config) != HDF_SUCCESS) { HDF_LOGE("%s: Parse sensor register failed", __func__); + (void)DeleteSensorDevice(&config->sensorInfo); + ReleaseSensorAllRegConfig(config); return HDF_FAILURE; } - return HDF_SUCCESS; } -struct SensorCfgData *AlsCreateCfgData(const struct DeviceResourceNode *node) +struct SensorCfgData *AccelCreateCfgData(const struct DeviceResourceNode *node) { - struct AlsDrvData *drvData = AlsGetDrvData(); + struct AccelDrvData *drvData = AccelGetDrvData(); if (drvData == NULL || node == NULL) { - HDF_LOGE("%s: Als node pointer NULL", __func__); + HDF_LOGE("%s: Accel node pointer NULL", __func__); return NULL; } if (drvData->detectFlag) { - HDF_LOGE("%s: Als sensor have detected", __func__); + HDF_LOGE("%s: Accel sensor have detected", __func__); return NULL; } - if (drvData->alsCfg == NULL) { - HDF_LOGE("%s: Als alsCfg pointer NULL", __func__); + if (drvData->accelCfg == NULL) { + HDF_LOGE("%s: Accel accelCfg pointer NULL", __func__); return NULL; } - if (GetSensorBaseConfigData(node, drvData->alsCfg) != HDF_SUCCESS) { + if (GetSensorBaseConfigData(node, drvData->accelCfg) != HDF_SUCCESS) { HDF_LOGE("%s: Get sensor base config failed", __func__); goto BASE_CONFIG_EXIT; } - if (DetectSensorDevice(drvData->alsCfg) != HDF_SUCCESS) { - HDF_LOGI("%s: Als sensor detect device no exist", __func__); + if (DetectSensorDevice(drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGI("%s: Accel sensor detect device no exist", __func__); drvData->detectFlag = false; - goto INIT_EXIT; + goto BASE_CONFIG_EXIT; } drvData->detectFlag = true; - if (InitAlsAfterDetected(drvData->alsCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: Als sensor detect device no exist", __func__); + if (InitAccelAfterDetected(drvData->accelCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: Accel sensor detect device no exist", __func__); goto INIT_EXIT; } - - return drvData->alsCfg; + return drvData->accelCfg; INIT_EXIT: - (void)DeleteSensorDevice(&drvData->alsCfg->sensorInfo); - ReleaseSensorAllRegConfig(drvData->alsCfg); - (void)ReleaseSensorBusHandle(&drvData->alsCfg->busCfg); + (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); BASE_CONFIG_EXIT: - drvData->alsCfg->root = NULL; - (void)memset_s(&drvData->alsCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); - (void)memset_s(&drvData->alsCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); - (void)memset_s(&drvData->alsCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); - return NULL; + drvData->accelCfg->root = NULL; + (void)memset_s(&drvData->accelCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); + (void)memset_s(&drvData->accelCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); + (void)memset_s(&drvData->accelCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); + return drvData->accelCfg; } -void AlsReleaseCfgData(struct SensorCfgData *alsCfg) +void AccelReleaseCfgData(struct SensorCfgData *accelCfg) { - CHECK_NULL_PTR_RETURN(alsCfg); + CHECK_NULL_PTR_RETURN(accelCfg); - (void)DeleteSensorDevice(&alsCfg->sensorInfo); - ReleaseSensorAllRegConfig(alsCfg); - (void)ReleaseSensorBusHandle(&alsCfg->busCfg); + (void)DeleteSensorDevice(&accelCfg->sensorInfo); + ReleaseSensorAllRegConfig(accelCfg); + (void)ReleaseSensorBusHandle(&accelCfg->busCfg); - alsCfg->root = NULL; - (void)memset_s(&alsCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); - (void)memset_s(&alsCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); - (void)memset_s(&alsCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); + accelCfg->root = NULL; + (void)memset_s(&accelCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); + (void)memset_s(&accelCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); + (void)memset_s(&accelCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); } -int32_t AlsInitDriver(struct HdfDeviceObject *device) +int32_t AccelInitDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - struct AlsDrvData *drvData = (struct AlsDrvData *)device->service; + struct AccelDrvData *drvData = (struct AccelDrvData *)device->service; CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - if (InitAlsData(drvData) != HDF_SUCCESS) { - HDF_LOGE("%s: Init als config failed", __func__); + if (InitAccelData(drvData) != HDF_SUCCESS) { + HDF_LOGE("%s: Init accel config failed", __func__); return HDF_FAILURE; } - drvData->alsCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*drvData->alsCfg)); - if (drvData->alsCfg == NULL) { - HDF_LOGE("%s: Malloc als config data failed", __func__); + drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*drvData->accelCfg)); + if (drvData->accelCfg == NULL) { + HDF_LOGE("%s: Malloc accel config data failed", __func__); return HDF_FAILURE; } - drvData->alsCfg->regCfgGroup = &g_regCfgGroup[0]; + drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; + HDF_LOGI("%s: Init accel driver success", __func__); return HDF_SUCCESS; } -void AlsReleaseDriver(struct HdfDeviceObject *device) +void AccelReleaseDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN(device); - struct AlsDrvData *drvData = (struct AlsDrvData *)device->service; + struct AccelDrvData *drvData = (struct AccelDrvData *)device->service; CHECK_NULL_PTR_RETURN(drvData); - if (drvData->detectFlag) { - AlsReleaseCfgData(drvData->alsCfg); + if (drvData->detectFlag && drvData->accelCfg != NULL) { + AccelReleaseCfgData(drvData->accelCfg); } - OsalMemFree(drvData->alsCfg); - drvData->alsCfg = NULL; + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; - HdfWorkDestroy(&drvData->alsWork); - HdfWorkQueueDestroy(&drvData->alsWorkQueue); + HdfWorkDestroy(&drvData->accelWork); + HdfWorkQueueDestroy(&drvData->accelWorkQueue); OsalMemFree(drvData); } -struct HdfDriverEntry g_sensorAlsDevEntry = { +struct HdfDriverEntry g_sensorAccelDevEntry = { .moduleVersion = 1, - .moduleName = "HDF_SENSOR_ALS", - .Bind = AlsBindDriver, - .Init = AlsInitDriver, - .Release = AlsReleaseDriver, + .moduleName = "HDF_SENSOR_ACCEL", + .Bind = AccelBindDriver, + .Init = AccelInitDriver, + .Release = AccelReleaseDriver, }; -HDF_INIT(g_sensorAlsDevEntry); +HDF_INIT(g_sensorAccelDevEntry); -- Gitee From 8760a43d1637da0169d5cbbfb8036baf046c104c Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Mon, 8 Nov 2021 11:38:05 +0000 Subject: [PATCH 03/12] update model/sensor/driver/als/sensor_als_driver.c. --- model/sensor/driver/als/sensor_als_driver.c | 234 ++++++++++---------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index dca54870a..e2b1c3f95 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -1,37 +1,36 @@ /* - * Copyright (c) 2020-2021 Huawei Device Co., Ltd. + * Copyright (c) 2021 Huawei Device Co., Ltd. * * HDF is dual licensed: you can use it either under the terms of * the GPL, or the BSD license, at your option. * See the LICENSE file in the root of this repository for complete details. */ -#include "sensor_accel_driver.h" +#include "sensor_als_driver.h" #include -#include "hdf_base.h" -#include "hdf_device_desc.h" +#include "als_bh1745.h" #include "osal_math.h" #include "osal_mem.h" #include "sensor_config_controller.h" #include "sensor_device_manager.h" #include "sensor_platform_if.h" -#define HDF_LOG_TAG sensor_accel_driver_c +#define HDF_LOG_TAG sensor_als_driver_c -#define HDF_ACCEL_WORK_QUEUE_NAME "hdf_accel_work_queue" +#define HDF_ALS_WORK_QUEUE_NAME "hdf_als_work_queue" -static struct AccelDrvData *g_accelDrvData = NULL; +static struct AlsDrvData *g_alsDrvData = NULL; -static struct AccelDrvData *AccelGetDrvData(void) +static struct AlsDrvData *AlsGetDrvData(void) { - return g_accelDrvData; + return g_alsDrvData; } static struct SensorRegCfgGroupNode *g_regCfgGroup[SENSOR_GROUP_MAX] = { NULL }; -int32_t AccelRegisterChipOps(const struct AccelOpsCall *ops) +int32_t AlsRegisterChipOps(const struct AlsOpsCall *ops) { - struct AccelDrvData *drvData = AccelGetDrvData(); + struct AlsDrvData *drvData = AlsGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); @@ -41,50 +40,50 @@ int32_t AccelRegisterChipOps(const struct AccelOpsCall *ops) return HDF_SUCCESS; } -static void AccelDataWorkEntry(void *arg) +static void AlsDataWorkEntry(void *arg) { - struct AccelDrvData *drvData = NULL; + struct AlsDrvData *drvData = NULL; - drvData = (struct AccelDrvData *)arg; + drvData = (struct AlsDrvData *)arg; CHECK_NULL_PTR_RETURN(drvData); if (drvData->ops.ReadData == NULL) { - HDF_LOGI("%s: Accel ReadData function NULl", __func__); + HDF_LOGI("%s: Als ReadData function NULl", __func__); return; } - if (drvData->ops.ReadData(drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: Accel read data failed", __func__); + if (drvData->ops.ReadData(drvData->alsCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: Als read data failed", __func__); } } -static void AccelTimerEntry(uintptr_t arg) +static void AlsTimerEntry(uintptr_t arg) { int64_t interval; int32_t ret; - struct AccelDrvData *drvData = (struct AccelDrvData *)arg; + struct AlsDrvData *drvData = (struct AlsDrvData *)arg; CHECK_NULL_PTR_RETURN(drvData); - if (!HdfAddWork(&drvData->accelWorkQueue, &drvData->accelWork)) { - HDF_LOGE("%s: Accel add work queue failed", __func__); + if (!HdfAddWork(&drvData->alsWorkQueue, &drvData->alsWork)) { + HDF_LOGE("%s: Als add work queue failed", __func__); } interval = OsalDivS64(drvData->interval, (SENSOR_CONVERT_UNIT * SENSOR_CONVERT_UNIT)); interval = (interval < SENSOR_TIMER_MIN_TIME) ? SENSOR_TIMER_MIN_TIME : interval; - ret = OsalTimerSetTimeout(&drvData->accelTimer, interval); + ret = OsalTimerSetTimeout(&drvData->alsTimer, interval); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel modify time failed", __func__); + HDF_LOGE("%s: Als modify time failed", __func__); } } -static int32_t InitAccelData(struct AccelDrvData *drvData) +static int32_t InitAlsData(struct AlsDrvData *drvData) { - if (HdfWorkQueueInit(&drvData->accelWorkQueue, HDF_ACCEL_WORK_QUEUE_NAME) != HDF_SUCCESS) { - HDF_LOGE("%s: Accel init work queue failed", __func__); + if (HdfWorkQueueInit(&drvData->alsWorkQueue, HDF_ALS_WORK_QUEUE_NAME) != HDF_SUCCESS) { + HDF_LOGE("%s: Als init work queue failed", __func__); return HDF_FAILURE; } - if (HdfWorkInit(&drvData->accelWork, AccelDataWorkEntry, drvData) != HDF_SUCCESS) { - HDF_LOGE("%s: Accel create thread failed", __func__); + if (HdfWorkInit(&drvData->alsWork, AlsDataWorkEntry, drvData) != HDF_SUCCESS) { + HDF_LOGE("%s: Als create thread failed", __func__); return HDF_FAILURE; } @@ -95,34 +94,34 @@ static int32_t InitAccelData(struct AccelDrvData *drvData) return HDF_SUCCESS; } -static int32_t SetAccelEnable(void) +static int32_t SetAlsEnable(void) { int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); + struct AlsDrvData *drvData = AlsGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + CHECK_NULL_PTR_RETURN_VALUE(drvData->alsCfg, HDF_ERR_INVALID_PARAM); if (drvData->enable) { - HDF_LOGE("%s: Accel sensor is enabled", __func__); + HDF_LOGE("%s: Als sensor is enabled", __func__); return HDF_SUCCESS; } - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); + ret = SetSensorRegCfgArray(&drvData->alsCfg->busCfg, drvData->alsCfg->regCfgGroup[SENSOR_ENABLE_GROUP]); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel sensor enable config failed", __func__); + HDF_LOGE("%s: Als sensor enable config failed", __func__); return ret; } - ret = OsalTimerCreate(&drvData->accelTimer, SENSOR_TIMER_MIN_TIME, AccelTimerEntry, (uintptr_t)drvData); + ret = OsalTimerCreate(&drvData->alsTimer, SENSOR_TIMER_MIN_TIME, AlsTimerEntry, (uintptr_t)drvData); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel create timer failed[%d]", __func__, ret); + HDF_LOGE("%s: Als create timer failed[%d]", __func__, ret); return ret; } - ret = OsalTimerStartLoop(&drvData->accelTimer); + ret = OsalTimerStartLoop(&drvData->alsTimer); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel start timer failed[%d]", __func__, ret); + HDF_LOGE("%s: Als start timer failed[%d]", __func__, ret); return ret; } drvData->enable = true; @@ -130,28 +129,28 @@ static int32_t SetAccelEnable(void) return HDF_SUCCESS; } -static int32_t SetAccelDisable(void) +static int32_t SetAlsDisable(void) { int32_t ret; - struct AccelDrvData *drvData = AccelGetDrvData(); + struct AlsDrvData *drvData = AlsGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - CHECK_NULL_PTR_RETURN_VALUE(drvData->accelCfg, HDF_ERR_INVALID_PARAM); + CHECK_NULL_PTR_RETURN_VALUE(drvData->alsCfg, HDF_ERR_INVALID_PARAM); if (!drvData->enable) { - HDF_LOGE("%s: Accel sensor had disable", __func__); + HDF_LOGE("%s: Als sensor had disable", __func__); return HDF_SUCCESS; } - ret = SetSensorRegCfgArray(&drvData->accelCfg->busCfg, drvData->accelCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); + ret = SetSensorRegCfgArray(&drvData->alsCfg->busCfg, drvData->alsCfg->regCfgGroup[SENSOR_DISABLE_GROUP]); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel sensor disable config failed", __func__); + HDF_LOGE("%s: Als sensor disable config failed", __func__); return ret; } - ret = OsalTimerDelete(&drvData->accelTimer); + ret = OsalTimerDelete(&drvData->alsTimer); if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: Accel delete timer failed", __func__); + HDF_LOGE("%s: Als delete timer failed", __func__); return ret; } drvData->enable = false; @@ -159,13 +158,13 @@ static int32_t SetAccelDisable(void) return HDF_SUCCESS; } -static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) +static int32_t SetAlsBatch(int64_t samplingInterval, int64_t interval) { (void)interval; - struct AccelDrvData *drvData = NULL; + struct AlsDrvData *drvData = NULL; - drvData = AccelGetDrvData(); + drvData = AlsGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); drvData->interval = samplingInterval; @@ -173,18 +172,18 @@ static int32_t SetAccelBatch(int64_t samplingInterval, int64_t interval) return HDF_SUCCESS; } -static int32_t SetAccelMode(int32_t mode) +static int32_t SetAlsMode(int32_t mode) { return (mode == SENSOR_WORK_MODE_REALTIME) ? HDF_SUCCESS : HDF_FAILURE; } -static int32_t SetAccelOption(uint32_t option) +static int32_t SetAlsOption(uint32_t option) { (void)option; return HDF_SUCCESS; } -static int32_t DispatchAccel(struct HdfDeviceIoClient *client, +static int32_t DispatchAls(struct HdfDeviceIoClient *client, int cmd, struct HdfSBuf *data, struct HdfSBuf *reply) { (void)client; @@ -195,32 +194,32 @@ static int32_t DispatchAccel(struct HdfDeviceIoClient *client, return HDF_SUCCESS; } -int32_t AccelBindDriver(struct HdfDeviceObject *device) +int32_t AlsBindDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - struct AccelDrvData *drvData = (struct AccelDrvData *)OsalMemCalloc(sizeof(*drvData)); + struct AlsDrvData *drvData = (struct AlsDrvData *)OsalMemCalloc(sizeof(*drvData)); if (drvData == NULL) { - HDF_LOGE("%s: Malloc accel drv data fail!", __func__); + HDF_LOGE("%s: Malloc als drv data fail!", __func__); return HDF_ERR_MALLOC_FAIL; } - drvData->ioService.Dispatch = DispatchAccel; + drvData->ioService.Dispatch = DispatchAls; drvData->device = device; device->service = &drvData->ioService; - g_accelDrvData = drvData; + g_alsDrvData = drvData; return HDF_SUCCESS; } -static int32_t InitAccelOps(struct SensorCfgData *config, struct SensorDeviceInfo *deviceInfo) +static int32_t InitAlsOps(struct SensorCfgData *config, struct SensorDeviceInfo *deviceInfo) { CHECK_NULL_PTR_RETURN_VALUE(config, HDF_ERR_INVALID_PARAM); - deviceInfo->ops.Enable = SetAccelEnable; - deviceInfo->ops.Disable = SetAccelDisable; - deviceInfo->ops.SetBatch = SetAccelBatch; - deviceInfo->ops.SetMode = SetAccelMode; - deviceInfo->ops.SetOption = SetAccelOption; + deviceInfo->ops.Enable = SetAlsEnable; + deviceInfo->ops.Disable = SetAlsDisable; + deviceInfo->ops.SetBatch = SetAlsBatch; + deviceInfo->ops.SetMode = SetAlsMode; + deviceInfo->ops.SetOption = SetAlsOption; if (memcpy_s(&deviceInfo->sensorInfo, sizeof(deviceInfo->sensorInfo), &config->sensorInfo, sizeof(config->sensorInfo)) != EOK) { @@ -231,18 +230,18 @@ static int32_t InitAccelOps(struct SensorCfgData *config, struct SensorDeviceInf return HDF_SUCCESS; } -static int32_t InitAccelAfterDetected(struct SensorCfgData *config) +static int32_t InitAlsAfterDetected(struct SensorCfgData *config) { struct SensorDeviceInfo deviceInfo; CHECK_NULL_PTR_RETURN_VALUE(config, HDF_ERR_INVALID_PARAM); - if (InitAccelOps(config, &deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: Init accel ops failed", __func__); + if (InitAlsOps(config, &deviceInfo) != HDF_SUCCESS) { + HDF_LOGE("%s: Init als ops failed", __func__); return HDF_FAILURE; } if (AddSensorDevice(&deviceInfo) != HDF_SUCCESS) { - HDF_LOGE("%s: Add accel device failed", __func__); + HDF_LOGE("%s: Add als device failed", __func__); return HDF_FAILURE; } @@ -252,118 +251,119 @@ static int32_t InitAccelAfterDetected(struct SensorCfgData *config) ReleaseSensorAllRegConfig(config); return HDF_FAILURE; } + return HDF_SUCCESS; } -struct SensorCfgData *AccelCreateCfgData(const struct DeviceResourceNode *node) +struct SensorCfgData *AlsCreateCfgData(const struct DeviceResourceNode *node) { - struct AccelDrvData *drvData = AccelGetDrvData(); + struct AlsDrvData *drvData = AlsGetDrvData(); if (drvData == NULL || node == NULL) { - HDF_LOGE("%s: Accel node pointer NULL", __func__); + HDF_LOGE("%s: Als node pointer NULL", __func__); return NULL; } if (drvData->detectFlag) { - HDF_LOGE("%s: Accel sensor have detected", __func__); + HDF_LOGE("%s: Als sensor have detected", __func__); return NULL; } - if (drvData->accelCfg == NULL) { - HDF_LOGE("%s: Accel accelCfg pointer NULL", __func__); + if (drvData->alsCfg == NULL) { + HDF_LOGE("%s: Als alsCfg pointer NULL", __func__); return NULL; } - if (GetSensorBaseConfigData(node, drvData->accelCfg) != HDF_SUCCESS) { + if (GetSensorBaseConfigData(node, drvData->alsCfg) != HDF_SUCCESS) { HDF_LOGE("%s: Get sensor base config failed", __func__); goto BASE_CONFIG_EXIT; } - if (DetectSensorDevice(drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGI("%s: Accel sensor detect device no exist", __func__); + if (DetectSensorDevice(drvData->alsCfg) != HDF_SUCCESS) { + HDF_LOGI("%s: Als sensor detect device no exist", __func__); drvData->detectFlag = false; goto BASE_CONFIG_EXIT; } drvData->detectFlag = true; - if (InitAccelAfterDetected(drvData->accelCfg) != HDF_SUCCESS) { - HDF_LOGE("%s: Accel sensor detect device no exist", __func__); + if (InitAlsAfterDetected(drvData->alsCfg) != HDF_SUCCESS) { + HDF_LOGE("%s: Als sensor detect device no exist", __func__); goto INIT_EXIT; } - return drvData->accelCfg; + + return drvData->alsCfg; INIT_EXIT: - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); + (void)ReleaseSensorBusHandle(&drvData->alsCfg->busCfg); BASE_CONFIG_EXIT: - drvData->accelCfg->root = NULL; - (void)memset_s(&drvData->accelCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); - (void)memset_s(&drvData->accelCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); - (void)memset_s(&drvData->accelCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); - return drvData->accelCfg; + drvData->alsCfg->root = NULL; + (void)memset_s(&drvData->alsCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); + (void)memset_s(&drvData->alsCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); + (void)memset_s(&drvData->alsCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); + return drvData->alsCfg; } -void AccelReleaseCfgData(struct SensorCfgData *accelCfg) +void AlsReleaseCfgData(struct SensorCfgData *alsCfg) { - CHECK_NULL_PTR_RETURN(accelCfg); + CHECK_NULL_PTR_RETURN(alsCfg); - (void)DeleteSensorDevice(&accelCfg->sensorInfo); - ReleaseSensorAllRegConfig(accelCfg); - (void)ReleaseSensorBusHandle(&accelCfg->busCfg); + (void)DeleteSensorDevice(&alsCfg->sensorInfo); + ReleaseSensorAllRegConfig(alsCfg); + (void)ReleaseSensorBusHandle(&alsCfg->busCfg); - accelCfg->root = NULL; - (void)memset_s(&accelCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); - (void)memset_s(&accelCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); - (void)memset_s(&accelCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); + alsCfg->root = NULL; + (void)memset_s(&alsCfg->sensorInfo, sizeof(struct SensorBasicInfo), 0, sizeof(struct SensorBasicInfo)); + (void)memset_s(&alsCfg->busCfg, sizeof(struct SensorBusCfg), 0, sizeof(struct SensorBusCfg)); + (void)memset_s(&alsCfg->sensorAttr, sizeof(struct SensorAttr), 0, sizeof(struct SensorAttr)); } -int32_t AccelInitDriver(struct HdfDeviceObject *device) +int32_t AlsInitDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN_VALUE(device, HDF_ERR_INVALID_PARAM); - struct AccelDrvData *drvData = (struct AccelDrvData *)device->service; + struct AlsDrvData *drvData = (struct AlsDrvData *)device->service; CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - if (InitAccelData(drvData) != HDF_SUCCESS) { - HDF_LOGE("%s: Init accel config failed", __func__); + if (InitAlsData(drvData) != HDF_SUCCESS) { + HDF_LOGE("%s: Init als config failed", __func__); return HDF_FAILURE; } - drvData->accelCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*drvData->accelCfg)); - if (drvData->accelCfg == NULL) { - HDF_LOGE("%s: Malloc accel config data failed", __func__); + drvData->alsCfg = (struct SensorCfgData *)OsalMemCalloc(sizeof(*drvData->alsCfg)); + if (drvData->alsCfg == NULL) { + HDF_LOGE("%s: Malloc als config data failed", __func__); return HDF_FAILURE; } - drvData->accelCfg->regCfgGroup = &g_regCfgGroup[0]; + drvData->alsCfg->regCfgGroup = &g_regCfgGroup[0]; - HDF_LOGI("%s: Init accel driver success", __func__); return HDF_SUCCESS; } -void AccelReleaseDriver(struct HdfDeviceObject *device) +void AlsReleaseDriver(struct HdfDeviceObject *device) { CHECK_NULL_PTR_RETURN(device); - struct AccelDrvData *drvData = (struct AccelDrvData *)device->service; + struct AlsDrvData *drvData = (struct AlsDrvData *)device->service; CHECK_NULL_PTR_RETURN(drvData); - if (drvData->detectFlag && drvData->accelCfg != NULL) { - AccelReleaseCfgData(drvData->accelCfg); + if (drvData->detectFlag && drvData->alsCfg != NULL) { + AlsReleaseCfgData(drvData->alsCfg); } - OsalMemFree(drvData->accelCfg); - drvData->accelCfg = NULL; + OsalMemFree(drvData->alsCfg); + drvData->alsCfg = NULL; - HdfWorkDestroy(&drvData->accelWork); - HdfWorkQueueDestroy(&drvData->accelWorkQueue); + HdfWorkDestroy(&drvData->alsWork); + HdfWorkQueueDestroy(&drvData->alsWorkQueue); OsalMemFree(drvData); } -struct HdfDriverEntry g_sensorAccelDevEntry = { +struct HdfDriverEntry g_sensorAlsDevEntry = { .moduleVersion = 1, - .moduleName = "HDF_SENSOR_ACCEL", - .Bind = AccelBindDriver, - .Init = AccelInitDriver, - .Release = AccelReleaseDriver, + .moduleName = "HDF_SENSOR_ALS", + .Bind = AlsBindDriver, + .Init = AlsInitDriver, + .Release = AlsReleaseDriver, }; -HDF_INIT(g_sensorAccelDevEntry); +HDF_INIT(g_sensorAlsDevEntry); -- Gitee From c3e1ded542e0674370d1f7c8ab6acb4197480078 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Mon, 8 Nov 2021 11:39:41 +0000 Subject: [PATCH 04/12] update model/sensor/driver/chipset/als/als_bh1745.c. --- model/sensor/driver/chipset/als/als_bh1745.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index 6f8efef52..2832402e4 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -190,7 +190,8 @@ int32_t Bh1745InitDriver(struct HdfDeviceObject *device) } drvData->sensorCfg = AlsCreateCfgData(device->property); - if (drvData->sensorCfg == NULL) { + if (drvData->sensorCfg == NULL || drvData->sensorCfg->root == NULL) { + HDF_LOGD("%s: Creating alscfg failed because detection failed", __func__); return HDF_ERR_NOT_SUPPORT; } @@ -222,7 +223,6 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) AlsReleaseCfgData(drvData->sensorCfg); drvData->sensorCfg = NULL; } - OsalMemFree(drvData); } -- Gitee From 73550bc3a2d8ca088948a55d988c8aa6d2d7a3b1 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 02:47:59 +0000 Subject: [PATCH 05/12] =?UTF-8?q?update=20model/sensor/driver/als/sensor?= =?UTF-8?q?=5Fals=5Fdriver.c.=20git=20commit=20=E2=80=93signoff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/sensor/driver/als/sensor_als_driver.c | 1 - 1 file changed, 1 deletion(-) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index e2b1c3f95..c57775eeb 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -349,7 +349,6 @@ void AlsReleaseDriver(struct HdfDeviceObject *device) if (drvData->detectFlag && drvData->alsCfg != NULL) { AlsReleaseCfgData(drvData->alsCfg); } - OsalMemFree(drvData->alsCfg); drvData->alsCfg = NULL; -- Gitee From 0bc1cad09264570c12df8a30d0b1b7349d5a148c Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 02:49:31 +0000 Subject: [PATCH 06/12] =?UTF-8?q?update=20model/sensor/driver/chipset/als/?= =?UTF-8?q?als=5Fbh1745.c.=20git=20commit=20=E2=80=93signoff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/sensor/driver/chipset/als/als_bh1745.c | 1 + 1 file changed, 1 insertion(+) diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index 2832402e4..db9dcffc7 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -223,6 +223,7 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) AlsReleaseCfgData(drvData->sensorCfg); drvData->sensorCfg = NULL; } + OsalMemFree(drvData); } -- Gitee From 705a0f9234f6c023e36a2d91834ac02801be5f36 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 02:58:03 +0000 Subject: [PATCH 07/12] update model/sensor/driver/als/sensor_als_driver.c. git commit -s --- model/sensor/driver/als/sensor_als_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index c57775eeb..353c1c50d 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -349,6 +349,7 @@ void AlsReleaseDriver(struct HdfDeviceObject *device) if (drvData->detectFlag && drvData->alsCfg != NULL) { AlsReleaseCfgData(drvData->alsCfg); } + OsalMemFree(drvData->alsCfg); drvData->alsCfg = NULL; -- Gitee From 948b2f1c8b7b4ebdf0e20cce8a030fdc30702ea1 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 02:58:34 +0000 Subject: [PATCH 08/12] update model/sensor/driver/chipset/als/als_bh1745.c. git commit -s --- model/sensor/driver/chipset/als/als_bh1745.c | 1 - 1 file changed, 1 deletion(-) diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index db9dcffc7..2832402e4 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -223,7 +223,6 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) AlsReleaseCfgData(drvData->sensorCfg); drvData->sensorCfg = NULL; } - OsalMemFree(drvData); } -- Gitee From 212e3cb4193c007486a0746ea47878021a2b08bd Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 03:03:34 +0000 Subject: [PATCH 09/12] update model/sensor/driver/chipset/als/als_bh1745.c. Signed-off-by: chenchong --- model/sensor/driver/chipset/als/als_bh1745.c | 1 + 1 file changed, 1 insertion(+) diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index 2832402e4..db9dcffc7 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -223,6 +223,7 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) AlsReleaseCfgData(drvData->sensorCfg); drvData->sensorCfg = NULL; } + OsalMemFree(drvData); } -- Gitee From 66230f47ace297377fc4f6094b69c1a7b3959971 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 03:05:37 +0000 Subject: [PATCH 10/12] =?UTF-8?q?update=20model/sensor/driver/als/sensor?= =?UTF-8?q?=5Fals=5Fdriver.c.=20Signed-off-by:=20chenchong=20=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/sensor/driver/als/sensor_als_driver.c | 1 - 1 file changed, 1 deletion(-) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index 353c1c50d..c57775eeb 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -349,7 +349,6 @@ void AlsReleaseDriver(struct HdfDeviceObject *device) if (drvData->detectFlag && drvData->alsCfg != NULL) { AlsReleaseCfgData(drvData->alsCfg); } - OsalMemFree(drvData->alsCfg); drvData->alsCfg = NULL; -- Gitee From 816b0e24093d19c206223c1014238cffe197f20f Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 03:22:35 +0000 Subject: [PATCH 11/12] =?UTF-8?q?update=20model/sensor/driver/als/sensor?= =?UTF-8?q?=5Fals=5Fdriver.c.=20Signed-off-by:=20chenchong=20=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/sensor/driver/als/sensor_als_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/model/sensor/driver/als/sensor_als_driver.c b/model/sensor/driver/als/sensor_als_driver.c index c57775eeb..353c1c50d 100755 --- a/model/sensor/driver/als/sensor_als_driver.c +++ b/model/sensor/driver/als/sensor_als_driver.c @@ -349,6 +349,7 @@ void AlsReleaseDriver(struct HdfDeviceObject *device) if (drvData->detectFlag && drvData->alsCfg != NULL) { AlsReleaseCfgData(drvData->alsCfg); } + OsalMemFree(drvData->alsCfg); drvData->alsCfg = NULL; -- Gitee From 3fa48c4485deb389504cefb069b2fb9584f48e07 Mon Sep 17 00:00:00 2001 From: chenchong_666 Date: Tue, 9 Nov 2021 03:23:02 +0000 Subject: [PATCH 12/12] =?UTF-8?q?update=20model/sensor/driver/chipset/als/?= =?UTF-8?q?als=5Fbh1745.c.=20Signed-off-by:=20chenchong=20=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/sensor/driver/chipset/als/als_bh1745.c | 1 - 1 file changed, 1 deletion(-) diff --git a/model/sensor/driver/chipset/als/als_bh1745.c b/model/sensor/driver/chipset/als/als_bh1745.c index db9dcffc7..2832402e4 100755 --- a/model/sensor/driver/chipset/als/als_bh1745.c +++ b/model/sensor/driver/chipset/als/als_bh1745.c @@ -223,7 +223,6 @@ void Bh1745ReleaseDriver(struct HdfDeviceObject *device) AlsReleaseCfgData(drvData->sensorCfg); drvData->sensorCfg = NULL; } - OsalMemFree(drvData); } -- Gitee