diff --git a/model/sensor/driver/chipset/hall/hall_ak8789.c b/model/sensor/driver/chipset/hall/hall_ak8789.c index 6f1351e6..b2737093 100755 --- a/model/sensor/driver/chipset/hall/hall_ak8789.c +++ b/model/sensor/driver/chipset/hall/hall_ak8789.c @@ -24,26 +24,26 @@ int32_t ReadAk8789Data(struct SensorCfgData *data) int32_t ret; uint8_t tmp = 1; OsalTimespec time; - struct SensorReportEvent event; - + struct SensorReportEvent event; + CHECK_NULL_PTR_RETURN_VALUE(data, HDF_ERR_INVALID_PARAM); (void)memset_s(&event, sizeof(event), 0, sizeof(event)); (void)memset_s(&time, sizeof(time), 0, sizeof(time)); - if (OsalGetTime(&time) != HDF_SUCCESS) { + if (OsalGetTime(&time) != HDF_SUCCESS) { HDF_LOGE("%s: Get time failed", __func__); return HDF_FAILURE; } - event.timestamp = time.sec * SENSOR_SECOND_CONVERT_NANOSECOND + time.usec * - SENSOR_CONVERT_UNIT; /* unit nanosecond */ - event.sensorId = SENSOR_TAG_HALL; + event.timestamp = time.sec * SENSOR_SECOND_CONVERT_NANOSECOND + time.usec * + SENSOR_CONVERT_UNIT; /* unit nanosecond */ + event.sensorId = SENSOR_TAG_HALL; event.version = 0; - event.option = 0; - event.mode = SENSOR_WORK_MODE_ON_CHANGE; - event.dataLen = sizeof(tmp); - event.data = (uint8_t *)&tmp; - ret = ReportSensorEvent(&event); + event.option = 0; + event.mode = SENSOR_WORK_MODE_ON_CHANGE; + event.dataLen = sizeof(tmp); + event.data = (uint8_t *)&tmp; + ret = ReportSensorEvent(&event); return ret; } diff --git a/model/sensor/driver/hall/sensor_hall_driver.c b/model/sensor/driver/hall/sensor_hall_driver.c index 56c7ecbd..bbfa67f7 100755 --- a/model/sensor/driver/hall/sensor_hall_driver.c +++ b/model/sensor/driver/hall/sensor_hall_driver.c @@ -24,7 +24,7 @@ static struct HallDetectIfList g_hallDetectIfList[] = { {HALL_CHIP_NAME_AK8789, DetectHallAk8789Chip}, -}; +}; static struct HallDrvData *g_hallDrvData = NULL; @@ -40,7 +40,7 @@ int32_t RegisterHallChipOps(const struct HallOpsCall *ops) CHECK_NULL_PTR_RETURN_VALUE(ops, HDF_ERR_INVALID_PARAM); drvData = HallGetDrvData(); CHECK_NULL_PTR_RETURN_VALUE(drvData, HDF_ERR_INVALID_PARAM); - drvData->ops.Init = ops->Init; + drvData->ops.Init = ops->Init; drvData->ops.ReadData = ops->ReadData; return HDF_SUCCESS; } @@ -58,7 +58,7 @@ static void HallDataWorkEntry(void *arg) return; } } - + static int32_t HallNorthPolarityIrqFunc(uint16_t gpio, void *data) { (void)gpio; @@ -123,7 +123,7 @@ static int32_t SetHallEnable(void) HDF_LOGE("%s: hall sensor is enabled", __func__); return HDF_SUCCESS; } - + if (drvData->GpioIrq[HALL_NORTH_POLARITY_GPIO] >= 0) { ret = GpioSetIrq(drvData->GpioIrq[HALL_NORTH_POLARITY_GPIO], OSAL_IRQF_TRIGGER_FALLING, HallNorthPolarityIrqFunc, drvData); @@ -135,7 +135,7 @@ static int32_t SetHallEnable(void) HDF_LOGE("gpio enable north irq failed: %d", ret); } } - + if (drvData->GpioIrq[HALL_SOUTH_POLARITY_GPIO] >= 0) { ret = GpioSetIrq(drvData->GpioIrq[HALL_SOUTH_POLARITY_GPIO], OSAL_IRQF_TRIGGER_FALLING, HallSouthPolarityIrqFunc, drvData); @@ -168,17 +168,19 @@ static int32_t SetHallDisable(void) if (ret != 0) { HDF_LOGE("%s: gpio unset north irq failed", __func__); } + ret = GpioDisableIrq(drvData->GpioIrq[HALL_NORTH_POLARITY_GPIO]); if (ret != 0) { HDF_LOGE("%s: gpio disable north irq failed", __func__); } } - + if (drvData->GpioIrq[HALL_SOUTH_POLARITY_GPIO] >= 0) { ret = GpioUnSetIrq(drvData->GpioIrq[HALL_SOUTH_POLARITY_GPIO]); if (ret != 0) { HDF_LOGE("%s: gpio unset south irq failed", __func__); } + ret = GpioDisableIrq(drvData->GpioIrq[HALL_SOUTH_POLARITY_GPIO]); if (ret != 0) { HDF_LOGE("%s: gpio disable south irq failed", __func__); @@ -260,7 +262,7 @@ static int32_t InitHallAfterConfig(void) if (InitHallData() != HDF_SUCCESS) { HDF_LOGE("%s: init hall config failed", __func__); return HDF_FAILURE; - } + } if (InitHallOps(&deviceInfo) != HDF_SUCCESS) { HDF_LOGE("%s: init hall ops failed", __func__); @@ -384,6 +386,7 @@ int32_t InitHallDriver(struct HdfDeviceObject *device) HDF_LOGE("%s: hall sensor detect device no exist", __func__); goto DETECT_CHIP_EXIT; } + drvData->detectFlag = true; if (InitHallAfterConfig() != HDF_SUCCESS) {