root/include/linux/hwmon-sysfs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
  12 struct 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) \
  33 struct 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 
  45 struct 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)       \
  68 struct 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 */

/* [<][>][^][v][top][bottom][index][help] */