]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nvmem: core: calculate bin_attribute size through bin_size()
authorThomas Weißschuh <linux@weissschuh.net>
Sun, 3 Nov 2024 17:03:33 +0000 (17:03 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Nov 2024 13:00:28 +0000 (14:00 +0100)
Stop abusing the is_bin_visible() callback to calculate the attribute
size. Instead use the new, dedicated bin_size() one.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Krzysztof Wilczyński <kw@linux.com>
Link: https://lore.kernel.org/r/20241103-sysfs-const-bin_attr-v2-4-71110628844c@weissschuh.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/core.c

index 33ffa2aa4c1152398ec66b8dd7b30384c5346a6e..63370c76394ee9b8d514da074779617cef67c311 100644 (file)
@@ -303,11 +303,19 @@ static umode_t nvmem_bin_attr_is_visible(struct kobject *kobj,
        struct device *dev = kobj_to_dev(kobj);
        struct nvmem_device *nvmem = to_nvmem_device(dev);
 
-       attr->size = nvmem->size;
-
        return nvmem_bin_attr_get_umode(nvmem);
 }
 
+static size_t nvmem_bin_attr_size(struct kobject *kobj,
+                                 const struct bin_attribute *attr,
+                                 int i)
+{
+       struct device *dev = kobj_to_dev(kobj);
+       struct nvmem_device *nvmem = to_nvmem_device(dev);
+
+       return nvmem->size;
+}
+
 static umode_t nvmem_attr_is_visible(struct kobject *kobj,
                                     struct attribute *attr, int i)
 {
@@ -383,6 +391,7 @@ static const struct attribute_group nvmem_bin_group = {
        .bin_attrs      = nvmem_bin_attributes,
        .attrs          = nvmem_attrs,
        .is_bin_visible = nvmem_bin_attr_is_visible,
+       .bin_size       = nvmem_bin_attr_size,
        .is_visible     = nvmem_attr_is_visible,
 };