1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * vsp1_uif.h -- R-Car VSP1 User Logic Interface 4 * 5 * Copyright (C) 2017-2018 Laurent Pinchart 6 * 7 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com) 8 */ 9 #ifndef __VSP1_UIF_H__ 10 #define __VSP1_UIF_H__ 11 12 #include "vsp1_entity.h" 13 14 struct vsp1_device; 15 16 #define UIF_PAD_SINK 0 17 #define UIF_PAD_SOURCE 1 18 19 struct vsp1_uif { 20 struct vsp1_entity entity; 21 bool m3w_quirk; 22 }; 23 to_uif(struct v4l2_subdev * subdev)24static inline struct vsp1_uif *to_uif(struct v4l2_subdev *subdev) 25 { 26 return container_of(subdev, struct vsp1_uif, entity.subdev); 27 } 28 29 struct vsp1_uif *vsp1_uif_create(struct vsp1_device *vsp1, unsigned int index); 30 u32 vsp1_uif_get_crc(struct vsp1_uif *uif); 31 32 #endif /* __VSP1_UIF_H__ */ 33