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

hwmon-sysfs.h (2840B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *  hwmon-sysfs.h - hardware monitoring chip driver sysfs defines
      4 *
      5 *  Copyright (C) 2005 Yani Ioannou <yani.ioannou@gmail.com>
      6 */
      7#ifndef _LINUX_HWMON_SYSFS_H
      8#define _LINUX_HWMON_SYSFS_H
      9
     10#include <linux/device.h>
     11
     12struct sensor_device_attribute{
     13	struct device_attribute dev_attr;
     14	int index;
     15};
     16#define to_sensor_dev_attr(_dev_attr) \
     17	container_of(_dev_attr, struct sensor_device_attribute, dev_attr)
     18
     19#define SENSOR_ATTR(_name, _mode, _show, _store, _index)	\
     20	{ .dev_attr = __ATTR(_name, _mode, _show, _store),	\
     21	  .index = _index }
     22
     23#define SENSOR_ATTR_RO(_name, _func, _index)			\
     24	SENSOR_ATTR(_name, 0444, _func##_show, NULL, _index)
     25
     26#define SENSOR_ATTR_RW(_name, _func, _index)			\
     27	SENSOR_ATTR(_name, 0644, _func##_show, _func##_store, _index)
     28
     29#define SENSOR_ATTR_WO(_name, _func, _index)			\
     30	SENSOR_ATTR(_name, 0200, NULL, _func##_store, _index)
     31
     32#define SENSOR_DEVICE_ATTR(_name, _mode, _show, _store, _index)	\
     33struct sensor_device_attribute sensor_dev_attr_##_name		\
     34	= SENSOR_ATTR(_name, _mode, _show, _store, _index)
     35
     36#define SENSOR_DEVICE_ATTR_RO(_name, _func, _index)		\
     37	SENSOR_DEVICE_ATTR(_name, 0444, _func##_show, NULL, _index)
     38
     39#define SENSOR_DEVICE_ATTR_RW(_name, _func, _index)		\
     40	SENSOR_DEVICE_ATTR(_name, 0644, _func##_show, _func##_store, _index)
     41
     42#define SENSOR_DEVICE_ATTR_WO(_name, _func, _index)		\
     43	SENSOR_DEVICE_ATTR(_name, 0200, NULL, _func##_store, _index)
     44
     45struct sensor_device_attribute_2 {
     46	struct device_attribute dev_attr;
     47	u8 index;
     48	u8 nr;
     49};
     50#define to_sensor_dev_attr_2(_dev_attr) \
     51	container_of(_dev_attr, struct sensor_device_attribute_2, dev_attr)
     52
     53#define SENSOR_ATTR_2(_name, _mode, _show, _store, _nr, _index)	\
     54	{ .dev_attr = __ATTR(_name, _mode, _show, _store),	\
     55	  .index = _index,					\
     56	  .nr = _nr }
     57
     58#define SENSOR_ATTR_2_RO(_name, _func, _nr, _index)		\
     59	SENSOR_ATTR_2(_name, 0444, _func##_show, NULL, _nr, _index)
     60
     61#define SENSOR_ATTR_2_RW(_name, _func, _nr, _index)		\
     62	SENSOR_ATTR_2(_name, 0644, _func##_show, _func##_store, _nr, _index)
     63
     64#define SENSOR_ATTR_2_WO(_name, _func, _nr, _index)		\
     65	SENSOR_ATTR_2(_name, 0200, NULL, _func##_store, _nr, _index)
     66
     67#define SENSOR_DEVICE_ATTR_2(_name,_mode,_show,_store,_nr,_index)	\
     68struct sensor_device_attribute_2 sensor_dev_attr_##_name		\
     69	= SENSOR_ATTR_2(_name, _mode, _show, _store, _nr, _index)
     70
     71#define SENSOR_DEVICE_ATTR_2_RO(_name, _func, _nr, _index)		\
     72	SENSOR_DEVICE_ATTR_2(_name, 0444, _func##_show, NULL,		\
     73			     _nr, _index)
     74
     75#define SENSOR_DEVICE_ATTR_2_RW(_name, _func, _nr, _index)		\
     76	SENSOR_DEVICE_ATTR_2(_name, 0644, _func##_show, _func##_store,	\
     77			     _nr, _index)
     78
     79#define SENSOR_DEVICE_ATTR_2_WO(_name, _func, _nr, _index)		\
     80	SENSOR_DEVICE_ATTR_2(_name, 0200, NULL, _func##_store,		\
     81			     _nr, _index)
     82
     83#endif /* _LINUX_HWMON_SYSFS_H */