blob: b60a7b176c371a931ea2c91cfb9797c97e906fcd [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/*
2 * rcar-fcp.h -- R-Car Frame Compression Processor Driver
3 *
4 * Copyright (C) 2016 Renesas Electronics Corporation
5 *
6 * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */
13#ifndef __MEDIA_RCAR_FCP_H__
14#define __MEDIA_RCAR_FCP_H__
15
16struct device_node;
17struct rcar_fcp_device;
18
19#if IS_ENABLED(CONFIG_VIDEO_RENESAS_FCP)
20struct rcar_fcp_device *rcar_fcp_get(const struct device_node *np);
21void rcar_fcp_put(struct rcar_fcp_device *fcp);
22struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp);
23int rcar_fcp_enable(struct rcar_fcp_device *fcp);
24void rcar_fcp_disable(struct rcar_fcp_device *fcp);
25#else
26static inline struct rcar_fcp_device *rcar_fcp_get(const struct device_node *np)
27{
28 return ERR_PTR(-ENOENT);
29}
30static inline void rcar_fcp_put(struct rcar_fcp_device *fcp) { }
31static inline struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp)
32{
33 return NULL;
34}
35static inline int rcar_fcp_enable(struct rcar_fcp_device *fcp)
36{
37 return 0;
38}
39static inline void rcar_fcp_disable(struct rcar_fcp_device *fcp) { }
40#endif
41
42#endif /* __MEDIA_RCAR_FCP_H__ */