summaryrefslogtreecommitdiffstats
path: root/lib/kobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kobject.c')
-rw-r--r--lib/kobject.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/kobject.c b/lib/kobject.c
index 9c9ff0f51..e7b010a98 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -823,9 +823,11 @@ static ssize_t kobj_attr_show(struct kobject *kobj, struct attribute *attr,
struct kobj_attribute *kattr;
ssize_t ret = -EIO;
- kattr = container_of(attr, struct kobj_attribute, attr);
+ kattr = container_of_const(attr, struct kobj_attribute, attr);
if (kattr->show)
ret = kattr->show(kobj, kattr, buf);
+ else if (kattr->show_const)
+ ret = kattr->show_const(kobj, kattr, buf);
return ret;
}
@@ -835,9 +837,11 @@ static ssize_t kobj_attr_store(struct kobject *kobj, struct attribute *attr,
struct kobj_attribute *kattr;
ssize_t ret = -EIO;
- kattr = container_of(attr, struct kobj_attribute, attr);
+ kattr = container_of_const(attr, struct kobj_attribute, attr);
if (kattr->store)
ret = kattr->store(kobj, kattr, buf, count);
+ else if (kattr->store_const)
+ ret = kattr->store_const(kobj, kattr, buf, count);
return ret;
}