History

hwmon: (sysfs) Allow drivers to register const attributes

Switch to the __DEVICE_ATTR() macro which can handle callbacks taking both const and non-const attribute structure arguments. Allow the step-wise migration of the drivers. Also use container_of_const() over container_of() to avoid casting away the constness accidentally.

Thomas Weißschuh committed 3 months ago

Commit 87fdc8d1 parent 52fcdd52 files · +10 −10Browse files

Showing the changes to include (1 of 2 files). Show all

Unified · Split

include/linux/hwmon-sysfs.h+7−7
@@ -15,10 +15,10 @@ struct sensor_device_attribute{ · 14 unmodified lines
15 int index;15 int index;
16};16};
17#define to_sensor_dev_attr(_dev_attr) \17#define to_sensor_dev_attr(_dev_attr) \
18 container_of(_dev_attr, struct sensor_device_attribute, dev_attr)18 container_of_const(_dev_attr, struct sensor_device_attribute, dev_attr)
19 19
20#define SENSOR_ATTR(_name, _mode, _show, _store, _index) \20#define SENSOR_ATTR(_name, _mode, _show, _store, _index) \
21 { .dev_attr = __ATTR(_name, _mode, _show, _store), \21 { .dev_attr = __DEVICE_ATTR(_name, _mode, _show, _store), \
22 .index = _index }22 .index = _index }
23 23
24#define SENSOR_ATTR_RO(_name, _func, _index) \24#define SENSOR_ATTR_RO(_name, _func, _index) \
@@ -49,11 +49,11 @@ struct sensor_device_attribute_2 { · 24 unmodified lines
49 u8 nr;49 u8 nr;
50};50};
51#define to_sensor_dev_attr_2(_dev_attr) \51#define to_sensor_dev_attr_2(_dev_attr) \
52 container_of(_dev_attr, struct sensor_device_attribute_2, dev_attr)52 container_of_const(_dev_attr, struct sensor_device_attribute_2, dev_attr)
53 53
54#define SENSOR_ATTR_2(_name, _mode, _show, _store, _nr, _index) \54#define SENSOR_ATTR_2(_name, _mode, _show, _store, _nr, _index) \
55 { .dev_attr = __ATTR(_name, _mode, _show, _store), \55 { .dev_attr = __DEVICE_ATTR(_name, _mode, _show, _store), \
56 .index = _index, \56 .index = _index, \
57 .nr = _nr }57 .nr = _nr }
58 58
59#define SENSOR_ATTR_2_RO(_name, _func, _nr, _index) \59#define SENSOR_ATTR_2_RO(_name, _func, _nr, _index) \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t