Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/soc/tegra/common.h
26285 views
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
12
struct device;
13
14
/**
15
* Tegra SoC core device OPP table configuration
16
*
17
* @init_state: pre-initialize OPP state of a device
18
*/
19
struct tegra_core_opp_params {
20
bool init_state;
21
};
22
23
#ifdef CONFIG_ARCH_TEGRA
24
bool soc_is_tegra(void);
25
26
int devm_tegra_core_dev_init_opp_table(struct device *dev,
27
struct tegra_core_opp_params *params);
28
#else
29
static inline bool soc_is_tegra(void)
30
{
31
return false;
32
}
33
34
static inline int
35
devm_tegra_core_dev_init_opp_table(struct device *dev,
36
struct tegra_core_opp_params *params)
37
{
38
return -ENODEV;
39
}
40
#endif
41
42
static inline int
43
devm_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
59