From 2b9a9e0163a833ca426109738507442d31a089fb Mon Sep 17 00:00:00 2001 From: tangweikang Date: Mon, 12 Aug 2019 13:47:03 +0800 Subject: [PATCH] [components][drivers] update : Move clear_count() function from ops->control() to ops->clear_count() --- components/drivers/include/drivers/encoder.h | 1 + components/drivers/misc/encoder.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/drivers/include/drivers/encoder.h b/components/drivers/include/drivers/encoder.h index 57cb47e6fb..f338f9e845 100644 --- a/components/drivers/include/drivers/encoder.h +++ b/components/drivers/include/drivers/encoder.h @@ -38,6 +38,7 @@ struct rt_encoder_ops { rt_err_t (*init)(struct rt_encoder_device *encoder); rt_int32_t (*get_count)(struct rt_encoder_device *encoder); + rt_err_t (*clear_count)(struct rt_encoder_device *encoder); rt_err_t (*control)(struct rt_encoder_device *encoder, rt_uint32_t cmd, void *args); }; diff --git a/components/drivers/misc/encoder.c b/components/drivers/misc/encoder.c index ec799bd5fe..e9e1da0f40 100644 --- a/components/drivers/misc/encoder.c +++ b/components/drivers/misc/encoder.c @@ -77,12 +77,14 @@ static rt_err_t rt_encoder_control(struct rt_device *dev, int cmd, void *args) encoder = (struct rt_encoder_device *)dev; switch (cmd) { + case ENCODER_CMD_CLEAR_COUNT: + result = encoder->ops->clear_count(encoder); + break; case ENCODER_CMD_GET_TYPE: *(enum rt_encoder_type *)args = encoder->type; break; case ENCODER_CMD_ENABLE: case ENCODER_CMD_DISABLE: - case ENCODER_CMD_CLEAR_COUNT: result = encoder->ops->control(encoder, cmd, args); break; default: -- GitLab