1 /* 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) 14 int rpmh_write(const struct device *dev, enum rpmh_state state, 15 const struct tcs_cmd *cmd, u32 n); 16 17 int rpmh_write_async(const struct device *dev, enum rpmh_state state, 18 const struct tcs_cmd *cmd, u32 n); 19 20 int rpmh_write_batch(const struct device *dev, enum rpmh_state state, 21 const struct tcs_cmd *cmd, u32 *n); 22 23 void rpmh_invalidate(const struct device *dev); 24 25 #else 26 27 static inline int rpmh_write(const struct device *dev, enum rpmh_state state, 28 const struct tcs_cmd *cmd, u32 n) 29 { return -ENODEV; } 30 31 static 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 36 static 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 41 static inline void rpmh_invalidate(const struct device *dev) 42 { 43 } 44 45 #endif /* CONFIG_QCOM_RPMH */ 46 47 #endif /* __SOC_QCOM_RPMH_H__ */ 48