52 lines
1.7 KiB
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;
|
||
|
|
}
|