1
2
3
4
5
6#ifndef __SOC_QCOM_RPMH_H__
7#define __SOC_QCOM_RPMH_H__
8
9#include <soc/qcom/tcs.h>
10#include <linux/platform_device.h>
11
12
13#if IS_ENABLED(CONFIG_QCOM_RPMH)
14int rpmh_write(const struct device *dev, enum rpmh_state state,
15 const struct tcs_cmd *cmd, u32 n);
16
17int rpmh_write_async(const struct device *dev, enum rpmh_state state,
18 const struct tcs_cmd *cmd, u32 n);
19
20int rpmh_write_batch(const struct device *dev, enum rpmh_state state,
21 const struct tcs_cmd *cmd, u32 *n);
22
23int rpmh_flush(const struct device *dev);
24
25int rpmh_invalidate(const struct device *dev);
26
27#else
28
29static inline int rpmh_write(const struct device *dev, enum rpmh_state state,
30 const struct tcs_cmd *cmd, u32 n)
31{ return -ENODEV; }
32
33static inline int rpmh_write_async(const struct device *dev,
34 enum rpmh_state state,
35 const struct tcs_cmd *cmd, u32 n)
36{ return -ENODEV; }
37
38static inline int rpmh_write_batch(const struct device *dev,
39 enum rpmh_state state,
40 const struct tcs_cmd *cmd, u32 *n)
41{ return -ENODEV; }
42
43static inline int rpmh_flush(const struct device *dev)
44{ return -ENODEV; }
45
46static inline int rpmh_invalidate(const struct device *dev)
47{ return -ENODEV; }
48
49#endif
50
51#endif
52