Message ID | 20241103-sysfs-const-bin_attr-v2-4-71110628844c@weissschuh.net (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | sysfs: constify struct bin_attribute (Part 1) | expand |
On 03/11/2024 17:03, Thomas Weißschuh wrote: > 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> > --- Thanks for the patch, LGTM. Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --srini > drivers/nvmem/core.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c > index 33ffa2aa4c1152398ec66b8dd7b30384c5346a6e..63370c76394ee9b8d514da074779617cef67c311 100644 > --- a/drivers/nvmem/core.c > +++ b/drivers/nvmem/core.c > @@ -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, > }; > >
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 33ffa2aa4c1152398ec66b8dd7b30384c5346a6e..63370c76394ee9b8d514da074779617cef67c311 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -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, };
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> --- drivers/nvmem/core.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)