1 /*
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 
16 struct device_node;
17 struct rcar_fcp_device;
18 
19 #if IS_ENABLED(CONFIG_VIDEO_RENESAS_FCP)
20 struct rcar_fcp_device *rcar_fcp_get(const struct device_node *np);
21 void rcar_fcp_put(struct rcar_fcp_device *fcp);
22 struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp);
23 int rcar_fcp_enable(struct rcar_fcp_device *fcp);
24 void rcar_fcp_disable(struct rcar_fcp_device *fcp);
25 #else
rcar_fcp_get(const struct device_node * np)26 static inline struct rcar_fcp_device *rcar_fcp_get(const struct device_node *np)
27 {
28 	return ERR_PTR(-ENOENT);
29 }
rcar_fcp_put(struct rcar_fcp_device * fcp)30 static inline void rcar_fcp_put(struct rcar_fcp_device *fcp) { }
rcar_fcp_get_device(struct rcar_fcp_device * fcp)31 static inline struct device *rcar_fcp_get_device(struct rcar_fcp_device *fcp)
32 {
33 	return NULL;
34 }
rcar_fcp_enable(struct rcar_fcp_device * fcp)35 static inline int rcar_fcp_enable(struct rcar_fcp_device *fcp)
36 {
37 	return 0;
38 }
rcar_fcp_disable(struct rcar_fcp_device * fcp)39 static inline void rcar_fcp_disable(struct rcar_fcp_device *fcp) { }
40 #endif
41 
42 #endif /* __MEDIA_RCAR_FCP_H__ */
43