cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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__ */