hc
2024-05-16 8d2a02b24d66aa359e83eebc1ed3c0f85367a1cb
kernel/include/linux/hwmon-sysfs.h
....@@ -1,21 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
23 * hwmon-sysfs.h - hardware monitoring chip driver sysfs defines
34 *
45 * Copyright (C) 2005 Yani Ioannou <yani.ioannou@gmail.com>
5
- *
6
- * This program is free software; you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License as published by
8
- * the Free Software Foundation; either version 2 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * This program is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- * GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU General Public License
17
- * along with this program; if not, write to the Free Software
18
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
196 */
207 #ifndef _LINUX_HWMON_SYSFS_H
218 #define _LINUX_HWMON_SYSFS_H
....@@ -33,9 +20,27 @@
3320 { .dev_attr = __ATTR(_name, _mode, _show, _store), \
3421 .index = _index }
3522
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
+
3632 #define SENSOR_DEVICE_ATTR(_name, _mode, _show, _store, _index) \
3733 struct sensor_device_attribute sensor_dev_attr_##_name \
3834 = 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)
3944
4045 struct sensor_device_attribute_2 {
4146 struct device_attribute dev_attr;
....@@ -50,8 +55,29 @@
5055 .index = _index, \
5156 .nr = _nr }
5257
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
+
5367 #define SENSOR_DEVICE_ATTR_2(_name,_mode,_show,_store,_nr,_index) \
5468 struct sensor_device_attribute_2 sensor_dev_attr_##_name \
5569 = SENSOR_ATTR_2(_name, _mode, _show, _store, _nr, _index)
5670
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
+
5783 #endif /* _LINUX_HWMON_SYSFS_H */