| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (C) 2014 NVIDIA Corporation
- */
- #ifndef __SOC_TEGRA_COMMON_H__
- #define __SOC_TEGRA_COMMON_H__
- #include <linux/errno.h>
- #include <linux/types.h>
- struct device;
- /**
- * Tegra SoC core device OPP table configuration
- *
- * @init_state: pre-initialize OPP state of a device
- */
- struct tegra_core_opp_params {
- bool init_state;
- };
- #ifdef CONFIG_ARCH_TEGRA
- bool soc_is_tegra(void);
- int devm_tegra_core_dev_init_opp_table(struct device *dev,
- struct tegra_core_opp_params *params);
- #else
- static inline bool soc_is_tegra(void)
- {
- return false;
- }
- static inline int
- devm_tegra_core_dev_init_opp_table(struct device *dev,
- struct tegra_core_opp_params *params)
- {
- return -ENODEV;
- }
- #endif
- static inline int
- devm_tegra_core_dev_init_opp_table_common(struct device *dev)
- {
- struct tegra_core_opp_params opp_params = {};
- int err;
- opp_params.init_state = true;
- err = devm_tegra_core_dev_init_opp_table(dev, &opp_params);
- if (err != -ENODEV)
- return err;
- return 0;
- }
- #endif /* __SOC_TEGRA_COMMON_H__ */
|