brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · 8ec1ac0 Raw
58 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (C) 2014 NVIDIA Corporation4 */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 configuration16 *17 * @init_state: pre-initialize OPP state of a device18 */19struct tegra_core_opp_params {20	bool init_state;21};22 23#ifdef CONFIG_ARCH_TEGRA24bool soc_is_tegra(void);25 26int devm_tegra_core_dev_init_opp_table(struct device *dev,27				       struct tegra_core_opp_params *params);28#else29static inline bool soc_is_tegra(void)30{31	return false;32}33 34static inline int35devm_tegra_core_dev_init_opp_table(struct device *dev,36				   struct tegra_core_opp_params *params)37{38	return -ENODEV;39}40#endif41 42static inline int43devm_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__ */58