blob: b60a7b176c371a931ea2c91cfb9797c97e906fcd [file] [log] [blame]
Laurent Pinchart7b492352016-02-11 22:29:58 -02001/*
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);
Laurent Pinchart02533542017-05-17 02:20:04 +030022struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp);
Laurent Pinchart7b492352016-02-11 22:29:58 -020023int 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) { }
Laurent Pinchart02533542017-05-17 02:20:04 +030031static inline struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp)
32{
33 return NULL;
34}
Laurent Pinchart7b492352016-02-11 22:29:58 -020035static inline int rcar_fcp_enable(struct rcar_fcp_device *fcp)
36{
Laurent Pinchartfd44aa92016-08-17 09:57:37 -030037 return 0;
Laurent Pinchart7b492352016-02-11 22:29:58 -020038}
39static inline void rcar_fcp_disable(struct rcar_fcp_device *fcp) { }
40#endif
41
42#endif /* __MEDIA_RCAR_FCP_H__ */