summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authortangweikang <[email protected]>2019-08-23 14:36:12 +0800
committertangweikang <[email protected]>2019-08-23 14:43:44 +0800
commit086d26e0b478e2f98bfc5c0fa7b6e1a5de588f49 (patch)
tree2d8c740d3eb3e715ae1570b8d5d31b52d09c40b2 /components/drivers
parent200f3d4480a7de9165c6eb3ad36ffecb7d12d60a (diff)
[components][drivers][encoder] update
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/misc/encoder.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/components/drivers/misc/encoder.c b/components/drivers/misc/encoder.c
index e9e1da0f40..d7fd845599 100644
--- a/components/drivers/misc/encoder.c
+++ b/components/drivers/misc/encoder.c
@@ -13,47 +13,47 @@
static rt_err_t rt_encoder_init(struct rt_device *dev)
{
+ rt_err_t ret;
struct rt_encoder_device *encoder;
+ ret = RT_EOK;
encoder = (struct rt_encoder_device *)dev;
if (encoder->ops->init)
{
- return encoder->ops->init(encoder);
- }
- else
- {
- return -RT_ENOSYS;
+ ret = encoder->ops->init(encoder);
}
+
+ return ret;
}
static rt_err_t rt_encoder_open(struct rt_device *dev, rt_uint16_t oflag)
{
+ rt_err_t ret;
struct rt_encoder_device *encoder;
+ ret = RT_EOK;
encoder = (struct rt_encoder_device *)dev;
if (encoder->ops->control)
{
- return encoder->ops->control(encoder, ENCODER_CMD_ENABLE, RT_NULL);
- }
- else
- {
- return -RT_ENOSYS;
+ ret = encoder->ops->control(encoder, ENCODER_CMD_ENABLE, RT_NULL);
}
+
+ return ret;
}
static rt_err_t rt_encoder_close(struct rt_device *dev)
{
+ rt_err_t ret;
struct rt_encoder_device *encoder;
+ ret = RT_EOK;
encoder = (struct rt_encoder_device *)dev;
if (encoder->ops->control)
{
- return encoder->ops->control(encoder, ENCODER_CMD_DISABLE, RT_NULL);
- }
- else
- {
- return -RT_ENOSYS;
+ ret = encoder->ops->control(encoder, ENCODER_CMD_DISABLE, RT_NULL);
}
+
+ return ret;
}
static rt_size_t rt_encoder_read(struct rt_device *dev, rt_off_t pos, void *buffer, rt_size_t size)
@@ -113,6 +113,7 @@ rt_err_t rt_device_encoder_register(struct rt_encoder_device *encoder, const cha
RT_ASSERT(encoder != RT_NULL);
RT_ASSERT(encoder->ops != RT_NULL);
+ RT_ASSERT(encoder->ops->get_count != RT_NULL);
device = &(encoder->parent);