Re: [PATCH] bus: arm-cci: constify attribute_group structures.

From: Arvind Yadav
Date: Thu Jul 06 2017 - 00:54:03 EST


Hi,


On Wednesday 05 July 2017 09:33 PM, Suzuki K Poulose wrote:
On 03/07/17 08:46, Arvind Yadav wrote:
attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work with const
attribute_group. So mark the non-const structs as const.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx>
---
drivers/bus/arm-cci.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c
index c49da15..64c75d2 100644
--- a/drivers/bus/arm-cci.c
+++ b/drivers/bus/arm-cci.c
@@ -1445,16 +1445,16 @@ static ssize_t pmu_cpumask_attr_show(struct device *dev,
NULL,
};

-static struct attribute_group pmu_attr_group = {
+static const struct attribute_group pmu_attr_group = {
.attrs = pmu_attrs, /*This can be const*/
};

-static struct attribute_group pmu_format_attr_group = {
+static const struct attribute_group pmu_format_attr_group = {
.name = "format",
.attrs = NULL, /* Filled in cci_pmu_init_attrs */
};




-static struct attribute_group pmu_event_attr_group = {
+static const struct attribute_group pmu_event_attr_group = {
.name = "events",
.attrs = NULL, /* Filled in cci_pmu_init_attrs */
};


I think we cannot make these const, as the attrs field gets filled in at runtime, indicated
by the comments next to them.

Yes, Your are right. It's filled at run time.
pmu_event_attr_group.attrs = model->event_attrs;
pmu_format_attr_group.attrs = model->format_attrs;
can we make pmu_attr_group as const.? It's already initialized.
If you are ok with this please let me know. I can push updated patch.


Cheers
Suzuki

Thanks,
Arvind Yadav