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

sys_soc.h (1294B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) ST-Ericsson SA 2011
      4 * Author: Lee Jones <lee.jones@linaro.org> for ST-Ericsson.
      5 */
      6#ifndef __SOC_BUS_H
      7#define __SOC_BUS_H
      8
      9#include <linux/device.h>
     10
     11struct soc_device_attribute {
     12	const char *machine;
     13	const char *family;
     14	const char *revision;
     15	const char *serial_number;
     16	const char *soc_id;
     17	const void *data;
     18	const struct attribute_group *custom_attr_group;
     19};
     20
     21/**
     22 * soc_device_register - register SoC as a device
     23 * @soc_plat_dev_attr: Attributes passed from platform to be attributed to a SoC
     24 */
     25struct soc_device *soc_device_register(
     26	struct soc_device_attribute *soc_plat_dev_attr);
     27
     28/**
     29 * soc_device_unregister - unregister SoC device
     30 * @dev: SoC device to be unregistered
     31 */
     32void soc_device_unregister(struct soc_device *soc_dev);
     33
     34/**
     35 * soc_device_to_device - helper function to fetch struct device
     36 * @soc: Previously registered SoC device container
     37 */
     38struct device *soc_device_to_device(struct soc_device *soc);
     39
     40#ifdef CONFIG_SOC_BUS
     41const struct soc_device_attribute *soc_device_match(
     42	const struct soc_device_attribute *matches);
     43#else
     44static inline const struct soc_device_attribute *soc_device_match(
     45	const struct soc_device_attribute *matches) { return NULL; }
     46#endif
     47
     48#endif /* __SOC_BUS_H */