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.
Arvind Yadav (3):
[PATCH 1/3] PCI: pci-sysfs: constify attribute_group structures.
[PATCH 2/3] PCI: pci-label: constify attribute_group structures.
[PATCH 3/3] PCI: hotplug: constify attribute_group structures.
drivers/pci/hotplug/rpadlpar_sysfs.c | 2 +-
drivers/pci/pci-label.c | 4 ++--
drivers/pci/pci-sysfs.c | 10 +++++-----
3 files changed, 8 insertions(+), 8 deletions(-)
--
1.9.1
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.
File size before:
text data bss dec hex filename
8480 2024 4 10508 290c drivers/pci/pci-sysfs.o
File size After adding 'const':
text data bss dec hex filename
8736 1768 4 10508 290c drivers/pci/pci-sysfs.o
Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/pci/pci-sysfs.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 2f3780b..2eed0dc 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -1735,7 +1735,7 @@ static umode_t pcie_dev_attrs_are_visible(struct kobject *kobj,
NULL,
};
-static struct attribute_group pci_dev_hp_attr_group = {
+static const struct attribute_group pci_dev_hp_attr_group = {
.attrs = pci_dev_hp_attrs,
.is_visible = pci_dev_hp_attrs_are_visible,
};
@@ -1759,23 +1759,23 @@ static umode_t sriov_attrs_are_visible(struct kobject *kobj,
return a->mode;
}
-static struct attribute_group sriov_dev_attr_group = {
+static const struct attribute_group sriov_dev_attr_group = {
.attrs = sriov_dev_attrs,
.is_visible = sriov_attrs_are_visible,
};
#endif /* CONFIG_PCI_IOV */
-static struct attribute_group pci_dev_attr_group = {
+static const struct attribute_group pci_dev_attr_group = {
.attrs = pci_dev_dev_attrs,
.is_visible = pci_dev_attrs_are_visible,
};
-static struct attribute_group pci_bridge_attr_group = {
+static const struct attribute_group pci_bridge_attr_group = {
.attrs = pci_bridge_attrs,
.is_visible = pci_bridge_attrs_are_visible,
};
-static struct attribute_group pcie_dev_attr_group = {
+static const struct attribute_group pcie_dev_attr_group = {
.attrs = pcie_dev_attrs,
.is_visible = pcie_dev_attrs_are_visible,
};
--
1.9.1
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.
File size before:
text data bss dec hex filename
930 320 0 1250 4e2 drivers/pci/pci-label.o
File size After adding 'const':
text data bss dec hex filename
1058 192 0 1250 4ca drivers/pci/pci-label.o
Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/pci/pci-label.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-label.c b/drivers/pci/pci-label.c
index a7a41d9..7e9e795 100644
--- a/drivers/pci/pci-label.c
+++ b/drivers/pci/pci-label.c
@@ -123,7 +123,7 @@ static ssize_t smbiosinstance_show(struct device *dev,
NULL,
};
-static struct attribute_group smbios_attr_group = {
+static const struct attribute_group smbios_attr_group = {
.attrs = smbios_attributes,
.is_visible = smbios_instance_string_exist,
};
@@ -260,7 +260,7 @@ static ssize_t acpiindex_show(struct device *dev,
NULL,
};
-static struct attribute_group acpi_attr_group = {
+static const struct attribute_group acpi_attr_group = {
.attrs = acpi_attributes,
.is_visible = acpi_index_string_exist,
};
--
1.9.1
On Tue, Jul 11, 2017 at 02:57:06PM +0530, 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.
>
> Arvind Yadav (3):
> [PATCH 1/3] PCI: pci-sysfs: constify attribute_group structures.
> [PATCH 2/3] PCI: pci-label: constify attribute_group structures.
> [PATCH 3/3] PCI: hotplug: constify attribute_group structures.
>
> drivers/pci/hotplug/rpadlpar_sysfs.c | 2 +-
> drivers/pci/pci-label.c | 4 ++--
> drivers/pci/pci-sysfs.c | 10 +++++-----
> 3 files changed, 8 insertions(+), 8 deletions(-)
Applied to pci/misc for v4.14, thanks!
For some reason the list got two copies of the cover letter and patch
3 was a response to the *second* cover letter. But I think I got the
right stuff.