#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/clk.h>
+#include <linux/compat.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
enum vcodec_device_id current_hw_mode;
};
-typedef struct vpu_request {
- u64 req;
+struct vpu_request {
+ u32 *req;
u32 size;
-} vpu_request;
+};
+
+struct compat_vpu_request {
+ compat_uptr_t req;
+ u32 size;
+};
/* debugfs root directory for all device (vpu, hevc).*/
static struct dentry *parent;
return -1;
}
- vpu_service_power_on(pservice);
-
for (i = 0; i < size; i++) {
usr_fd = reg->reg[tbl[i]] & 0x3FF;
}
if (size > data->reg_size) {
- /*printk("warning: vpu reg size %lu is larger than hw reg size %lu\n",
- size, pservice->reg_size);
- size = pservice->reg_size;*/
+ /*printk("warning: vpu reg size %u is larger than hw reg size %u\n",
+ size, data->reg_size);*/
extra_size = size - data->reg_size;
size = data->reg_size;
}
break;
}
case VPU_IOC_GET_HW_FUSE_STATUS : {
- vpu_request req;
- if (copy_from_user(&req, (void __user *)arg, sizeof(vpu_request))) {
+ struct vpu_request req;
+ if (copy_from_user(&req, (void __user *)arg, sizeof(struct vpu_request))) {
vpu_err("error: VPU_IOC_GET_HW_FUSE_STATUS copy_from_user failed\n");
return -EFAULT;
} else {
break;
}
case VPU_IOC_SET_REG : {
- vpu_request req;
+ struct vpu_request req;
vpu_reg *reg;
if (copy_from_user(&req, (void __user *)arg,
- sizeof(vpu_request))) {
+ sizeof(struct vpu_request))) {
vpu_err("error: VPU_IOC_SET_REG copy_from_user failed\n");
return -EFAULT;
}
break;
}
case VPU_IOC_GET_REG : {
- vpu_request req;
+ struct vpu_request req;
vpu_reg *reg;
if (copy_from_user(&req, (void __user *)arg,
- sizeof(vpu_request))) {
+ sizeof(struct vpu_request))) {
vpu_err("error: VPU_IOC_GET_REG copy_from_user failed\n");
return -EFAULT;
} else {
break;
}
case COMPAT_VPU_IOC_GET_HW_FUSE_STATUS : {
- vpu_request req;
+ struct compat_vpu_request req;
+
if (copy_from_user(&req, compat_ptr((compat_uptr_t)arg),
- sizeof(vpu_request))) {
+ sizeof(struct compat_vpu_request))) {
vpu_err("error: VPU_IOC_GET_HW_FUSE_STATUS"
" copy_from_user failed\n");
return -EFAULT;
break;
}
case COMPAT_VPU_IOC_SET_REG : {
- vpu_request req;
+ struct compat_vpu_request req;
vpu_reg *reg;
if (copy_from_user(&req, compat_ptr((compat_uptr_t)arg),
- sizeof(vpu_request))) {
+ sizeof(struct compat_vpu_request))) {
vpu_err("VPU_IOC_SET_REG copy_from_user failed\n");
return -EFAULT;
}
break;
}
case COMPAT_VPU_IOC_GET_REG : {
- vpu_request req;
+ struct compat_vpu_request req;
vpu_reg *reg;
if (copy_from_user(&req, compat_ptr((compat_uptr_t)arg),
- sizeof(vpu_request))) {
+ sizeof(struct compat_vpu_request))) {
vpu_err("VPU_IOC_GET_REG copy_from_user failed\n");
return -EFAULT;
} else {