Files
TAIXIN/sdk/hal/para_in.c

52 lines
1.7 KiB
C

#include "sys_config.h"
#include "typesdef.h"
#include "list.h"
#include "errno.h"
#include "dev.h"
#include "devid.h"
#include "hal/para_in.h"
int32 para_in_open(struct para_in_device *p_dev)
{
if (p_dev && ((const struct para_in_hal_ops *)p_dev->dev.ops)->open) {
HALDEV_SUSPENDED(p_dev);
return ((const struct para_in_hal_ops *)p_dev->dev.ops)->open(p_dev);
}
return RET_ERR;
}
int32 para_in_close(struct para_in_device *p_dev)
{
if (p_dev && ((const struct para_in_hal_ops *)p_dev->dev.ops)->close) {
HALDEV_SUSPENDED(p_dev);
return ((const struct para_in_hal_ops *)p_dev->dev.ops)->close(p_dev);
}
return RET_ERR;
}
int32 para_in_ioctl(struct para_in_device *p_dev, uint32 cmd, uint32 param1, uint32 param2)
{
if (p_dev && ((const struct para_in_hal_ops *)p_dev->dev.ops)->ioctl) {
HALDEV_SUSPENDED(p_dev);
return ((const struct para_in_hal_ops *)p_dev->dev.ops)->ioctl(p_dev, cmd, param1, param2);
}
return RET_ERR;
}
int32 para_in_request_irq(struct para_in_device *p_dev, uint32 irq_flags, para_in_irq_hdl handle, uint32 data)
{
if (p_dev && ((const struct para_in_hal_ops *)p_dev->dev.ops)->request_irq) {
HALDEV_SUSPENDED(p_dev);
return ((const struct para_in_hal_ops *)p_dev->dev.ops)->request_irq(p_dev, irq_flags, handle, data);
}
return RET_ERR;
}
int32 para_in_release_irq(struct para_in_device *p_dev, uint32 irq_flag)
{
if (p_dev && ((const struct para_in_hal_ops *)p_dev->dev.ops)->release_irq) {
HALDEV_SUSPENDED(p_dev);
return ((const struct para_in_hal_ops *)p_dev->dev.ops)->release_irq(p_dev, irq_flag);
}
return RET_ERR;
}