blob: bdbee1a97d3685d8a6153d586ddf650bd3bd3dde [file] [log] [blame]
Caleb Connolly90ff5812024-07-15 12:08:02 +02001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
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
23void rpmh_invalidate(const struct device *dev);
24
25#else
26
27static inline int rpmh_write(const struct device *dev, enum rpmh_state state,
28 const struct tcs_cmd *cmd, u32 n)
29{ return -ENODEV; }
30
31static inline int rpmh_write_async(const struct device *dev,
32 enum rpmh_state state,
33 const struct tcs_cmd *cmd, u32 n)
34{ return -ENODEV; }
35
36static inline int rpmh_write_batch(const struct device *dev,
37 enum rpmh_state state,
38 const struct tcs_cmd *cmd, u32 *n)
39{ return -ENODEV; }
40
41static inline void rpmh_invalidate(const struct device *dev)
42{
43}
44
45#endif /* CONFIG_QCOM_RPMH */
46
47#endif /* __SOC_QCOM_RPMH_H__ */