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 int rpmh_flush(const struct device *dev); 24 25 int rpmh_invalidate(const struct device *dev); 26 27 #else 28 29 static inline int rpmh_write(const struct device *dev, enum rpmh_state state, 30 const struct tcs_cmd *cmd, u32 n) 31 { return -ENODEV; } 32 33 static 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 38 static 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 43 static inline int rpmh_flush(const struct device *dev) 44 { return -ENODEV; } 45 46 static inline int rpmh_invalidate(const struct device *dev) 47 { return -ENODEV; } 48 49 #endif /* CONFIG_QCOM_RPMH */ 50 51 #endif /* __SOC_QCOM_RPMH_H__ */ 52