From 37a4ea8aca13fcb087f52467ec32ea29db3d349e Mon Sep 17 00:00:00 2001 From: kevin Date: Mon, 30 Aug 2021 11:39:26 +0800 Subject: [PATCH] modify sensor accel driver Signed-off-by: kevin Change-Id: I51dbbefc9655f5993318e1ac5ce4caad3ebdf2d2 --- .../sensor/driver/accel/sensor_accel_driver.c | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/model/sensor/driver/accel/sensor_accel_driver.c b/model/sensor/driver/accel/sensor_accel_driver.c index 803da7a4..aa555b73 100644 --- a/model/sensor/driver/accel/sensor_accel_driver.c +++ b/model/sensor/driver/accel/sensor_accel_driver.c @@ -303,19 +303,18 @@ BASE_CONFIG_EXIT: return NULL; } -void AccelReleaseCfgData(struct SensorCfgData *sensorCfgData) +void AccelReleaseCfgData(struct SensorCfgData *accelCfg) { - struct AccelDrvData *drvData = AccelGetDrvData(); + CHECK_NULL_PTR_RETURN(accelCfg); - CHECK_NULL_PTR_RETURN(drvData); - (void)DeleteSensorDevice(&drvData->accelCfg->sensorInfo); - ReleaseSensorAllRegConfig(drvData->accelCfg); - (void)ReleaseSensorBusHandle(&drvData->accelCfg->busCfg); - drvData->detectFlag = false; - 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)); + (void)DeleteSensorDevice(&accelCfg->sensorInfo); + ReleaseSensorAllRegConfig(accelCfg); + (void)ReleaseSensorBusHandle(&accelCfg->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)); } int32_t AccelInitDriver(struct HdfDeviceObject *device) @@ -352,6 +351,9 @@ void AccelReleaseDriver(struct HdfDeviceObject *device) AccelReleaseCfgData(drvData->accelCfg); } + OsalMemFree(drvData->accelCfg); + drvData->accelCfg = NULL; + HdfWorkDestroy(&drvData->accelWork); HdfWorkQueueDestroy(&drvData->accelWorkQueue); OsalMemFree(drvData);