/* * Copyright (c) 2018 Samsung Electronics Co., Ltd. * http://www.samsung.com * * * This program is free software; you can redistributs it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, * or (at your option) any later version. * */ #ifndef __EXYNOS_BTS_H_ #define __EXYNOS_BTS_H_ /** * struct bts_bw - BTS bandwidth information * @name: name of IP * @peak: IP Peak bandwidth * @read: Average read Bandwidth * @write: Average write Bandwidth * */ struct bts_bw { char *name; unsigned int peak; unsigned int read; unsigned int write; }; #if defined(CONFIG_EXYNOS_BTS) || defined(CONFIG_EXYNOS_BTS_MODULE) int bts_get_bwindex(const char *name); int bts_update_bw(unsigned int index, struct bts_bw bw); unsigned int bts_get_scenindex(const char *name); int bts_add_scenario(unsigned int index); int bts_del_scenario(unsigned int index); void bts_pd_sync(unsigned int cal_id, int on); int bts_change_mo(unsigned int scen, unsigned int ip, unsigned int rmo, unsigned int wmo); #else /* CONFIG_EXYNOS_BTS */ static inline int bts_get_bwindex(const char *name) { return 0; } static inline int bts_update_bw(unsigned int index, struct bts_bw bw) { return 0; } static inline unsigned int bts_get_scenindex(const char *name) { return 0; } static inline int bts_add_scenario(unsigned int index) { return 0; } static inline int bts_del_scenario(unsigned int index) { return 0; } static inline void bts_pd_sync(unsigned int cal_id, int on) { return; } static inline int bts_change_mo(unsigned int scen, unsigned int ip, unsigned int rmo, unsigned int wmo) { return 0; } #endif /* CONFIG_EXYNOS_BTS */ #define bts_update_scen(a, b) do {} while (0) #define exynos_bts_scitoken_setting(a) do {} while (0) #endif /* __EXYNOS_BTS_H_ */