Files
vi-kernel/vvcam/native/video/video.h
2022-11-22 15:44:44 +08:00

59 lines
1.4 KiB
C
Executable File

#ifndef _THEAD_VIDEO_H_
#define _THEAD_VIDEO_H_
#include <linux/cdev.h>
#include <linux/ioctl.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/phy/phy.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/platform_device.h>
#include <linux/ratelimit.h>
#include <linux/reset.h>
#include <linux/videodev2.h>
#include <linux/wait.h>
#include "subdev.h"
#define video_info(fmt, ...) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#define video_warn(fmt, ...) printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
#define video_err(fmt, ...) printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
typedef struct {
int sub_dev_num;
sub_dev_info_t sub_dev[20];
} pipline_t;
typedef struct video_drvdata {
struct cdev cdev;
struct device *dev;
dev_t devt;
struct class *class;
int device_idx;
struct mutex mutex;
bool actived;
pid_t actived_owner;
int pipline_num;
pipline_t piplines[20];
int vi_mem_pool_region_id;
void *private;
} video_drvdata_t;
typedef struct {
char *subdev_name;
char *sensor_name;
unsigned int path_type;
unsigned int pipeline_id;
} pathtype_set_t;
int video_create_capabilities_sysfs(struct platform_device *pdev);
int video_remove_capabilities_sysfs(struct platform_device *pdev);
int vedio_get_path_type(const char *subdev_name, const char *path_name);
#endif /* _THEAD_VIDEO_H_ */