common.h (1079B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2014 NVIDIA Corporation 4 */ 5 6#ifndef __SOC_TEGRA_COMMON_H__ 7#define __SOC_TEGRA_COMMON_H__ 8 9#include <linux/errno.h> 10#include <linux/types.h> 11 12struct device; 13 14/** 15 * Tegra SoC core device OPP table configuration 16 * 17 * @init_state: pre-initialize OPP state of a device 18 */ 19struct tegra_core_opp_params { 20 bool init_state; 21}; 22 23#ifdef CONFIG_ARCH_TEGRA 24bool soc_is_tegra(void); 25 26int devm_tegra_core_dev_init_opp_table(struct device *dev, 27 struct tegra_core_opp_params *params); 28#else 29static inline bool soc_is_tegra(void) 30{ 31 return false; 32} 33 34static inline int 35devm_tegra_core_dev_init_opp_table(struct device *dev, 36 struct tegra_core_opp_params *params) 37{ 38 return -ENODEV; 39} 40#endif 41 42static inline int 43devm_tegra_core_dev_init_opp_table_common(struct device *dev) 44{ 45 struct tegra_core_opp_params opp_params = {}; 46 int err; 47 48 opp_params.init_state = true; 49 50 err = devm_tegra_core_dev_init_opp_table(dev, &opp_params); 51 if (err != -ENODEV) 52 return err; 53 54 return 0; 55} 56 57#endif /* __SOC_TEGRA_COMMON_H__ */