#ifndef __VSP1_H__
#define __VSP1_H__
#include <linux/io.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <media/media-device.h>
#include <media/v4l2-device.h>
#include <media/v4l2-subdev.h>
#include "vsp1_regs.h"
struct clk;
struct device;
struct rcar_fcp_device;
struct reset_control;
struct vsp1_drm;
struct vsp1_entity;
struct vsp1_platform_data;
struct vsp1_brx;
struct vsp1_clu;
struct vsp1_hgo;
struct vsp1_hgt;
struct vsp1_hsit;
struct vsp1_lif;
struct vsp1_lut;
struct vsp1_rwpf;
struct vsp1_sru;
struct vsp1_uds;
struct vsp1_uif;
#define VSP1_MAX_LIF …
#define VSP1_MAX_RPF …
#define VSP1_MAX_UDS …
#define VSP1_MAX_UIF …
#define VSP1_MAX_WPF …
#define VSP1_HAS_LUT …
#define VSP1_HAS_SRU …
#define VSP1_HAS_BRU …
#define VSP1_HAS_CLU …
#define VSP1_HAS_WPF_VFLIP …
#define VSP1_HAS_WPF_HFLIP …
#define VSP1_HAS_HGO …
#define VSP1_HAS_HGT …
#define VSP1_HAS_BRS …
#define VSP1_HAS_EXT_DL …
#define VSP1_HAS_NON_ZERO_LBA …
struct vsp1_device_info { … };
#define vsp1_feature(vsp1, f) …
struct vsp1_device { … };
int vsp1_device_get(struct vsp1_device *vsp1);
void vsp1_device_put(struct vsp1_device *vsp1);
int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index);
static inline u32 vsp1_read(struct vsp1_device *vsp1, u32 reg)
{ … }
static inline void vsp1_write(struct vsp1_device *vsp1, u32 reg, u32 data)
{ … }
#endif