Skip to content

Commit ff832f9

Browse files
committed
Merge: Update kernel's driver core sysfs subsystem with content from v6.13
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/638 ``` This series updates the kernel's driver core 'sysfs' subsystem with changes and preparations for more sysfs api cleanups that can come through all driver trees after this is out. With the above in place, also include the PCI tree's changes to Constify struct bin_attribute for sysfs, VPD, P2PDMA, and the IBM ACPI hotplug driver. JIRA: https://issues.redhat.com/browse/RHEL-85241 Signed-off-by: Myron Stowe <mstowe@redhat.com> ``` Approved-by: Rafael Aquini <raquini@redhat.com> Approved-by: David Arcari <darcari@redhat.com> Approved-by: Jocelyn Falempe <jfalempe@redhat.com> Approved-by: John W. Linville <linville@redhat.com> Approved-by: Mika Penttilä <mpenttil@redhat.com> Approved-by: Corinna Vinschen <vinschen@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Approved-by: Kamal Heib <kheib@redhat.com> Merged-by: Julio Faracco <jfaracco@redhat.com>
2 parents 6ebb4cd + e30df09 commit ff832f9

File tree

27 files changed

+199
-154
lines changed

27 files changed

+199
-154
lines changed

arch/alpha/kernel/pci-sysfs.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ static int __pci_mmap_fits(struct pci_dev *pdev, int num,
6464
* Return: %0 on success, negative error code otherwise
6565
*/
6666
static int pci_mmap_resource(struct kobject *kobj,
67-
struct bin_attribute *attr,
67+
const struct bin_attribute *attr,
6868
struct vm_area_struct *vma, int sparse)
6969
{
7070
struct pci_dev *pdev = to_pci_dev(kobj_to_dev(kobj));
@@ -93,14 +93,14 @@ static int pci_mmap_resource(struct kobject *kobj,
9393
}
9494

9595
static int pci_mmap_resource_sparse(struct file *filp, struct kobject *kobj,
96-
struct bin_attribute *attr,
96+
const struct bin_attribute *attr,
9797
struct vm_area_struct *vma)
9898
{
9999
return pci_mmap_resource(kobj, attr, vma, 1);
100100
}
101101

102102
static int pci_mmap_resource_dense(struct file *filp, struct kobject *kobj,
103-
struct bin_attribute *attr,
103+
const struct bin_attribute *attr,
104104
struct vm_area_struct *vma)
105105
{
106106
return pci_mmap_resource(kobj, attr, vma, 0);

drivers/base/node.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ static const struct bus_type node_subsys = {
2727
};
2828

2929
static inline ssize_t cpumap_read(struct file *file, struct kobject *kobj,
30-
struct bin_attribute *attr, char *buf,
30+
const struct bin_attribute *attr, char *buf,
3131
loff_t off, size_t count)
3232
{
3333
struct device *dev = kobj_to_dev(kobj);
@@ -45,10 +45,10 @@ static inline ssize_t cpumap_read(struct file *file, struct kobject *kobj,
4545
return n;
4646
}
4747

48-
static BIN_ATTR_RO(cpumap, CPUMAP_FILE_MAX_BYTES);
48+
static const BIN_ATTR_RO(cpumap, CPUMAP_FILE_MAX_BYTES);
4949

5050
static inline ssize_t cpulist_read(struct file *file, struct kobject *kobj,
51-
struct bin_attribute *attr, char *buf,
51+
const struct bin_attribute *attr, char *buf,
5252
loff_t off, size_t count)
5353
{
5454
struct device *dev = kobj_to_dev(kobj);
@@ -66,7 +66,7 @@ static inline ssize_t cpulist_read(struct file *file, struct kobject *kobj,
6666
return n;
6767
}
6868

69-
static BIN_ATTR_RO(cpulist, CPULIST_FILE_MAX_BYTES);
69+
static const BIN_ATTR_RO(cpulist, CPULIST_FILE_MAX_BYTES);
7070

7171
/**
7272
* struct node_access_nodes - Access class device to hold user visible
@@ -578,15 +578,15 @@ static struct attribute *node_dev_attrs[] = {
578578
NULL
579579
};
580580

581-
static struct bin_attribute *node_dev_bin_attrs[] = {
581+
static const struct bin_attribute *node_dev_bin_attrs[] = {
582582
&bin_attr_cpumap,
583583
&bin_attr_cpulist,
584584
NULL
585585
};
586586

587587
static const struct attribute_group node_dev_group = {
588588
.attrs = node_dev_attrs,
589-
.bin_attrs = node_dev_bin_attrs
589+
.bin_attrs_new = node_dev_bin_attrs,
590590
};
591591

592592
static const struct attribute_group *node_dev_groups[] = {

drivers/base/topology.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ static ssize_t name##_show(struct device *dev, \
2323

2424
#define define_siblings_read_func(name, mask) \
2525
static ssize_t name##_read(struct file *file, struct kobject *kobj, \
26-
struct bin_attribute *attr, char *buf, \
26+
const struct bin_attribute *attr, char *buf, \
2727
loff_t off, size_t count) \
2828
{ \
2929
struct device *dev = kobj_to_dev(kobj); \
@@ -33,7 +33,7 @@ static ssize_t name##_read(struct file *file, struct kobject *kobj, \
3333
} \
3434
\
3535
static ssize_t name##_list_read(struct file *file, struct kobject *kobj, \
36-
struct bin_attribute *attr, char *buf, \
36+
const struct bin_attribute *attr, char *buf, \
3737
loff_t off, size_t count) \
3838
{ \
3939
struct device *dev = kobj_to_dev(kobj); \
@@ -62,50 +62,50 @@ define_id_show_func(ppin, "0x%llx");
6262
static DEVICE_ATTR_ADMIN_RO(ppin);
6363

6464
define_siblings_read_func(thread_siblings, sibling_cpumask);
65-
static BIN_ATTR_RO(thread_siblings, CPUMAP_FILE_MAX_BYTES);
66-
static BIN_ATTR_RO(thread_siblings_list, CPULIST_FILE_MAX_BYTES);
65+
static const BIN_ATTR_RO(thread_siblings, CPUMAP_FILE_MAX_BYTES);
66+
static const BIN_ATTR_RO(thread_siblings_list, CPULIST_FILE_MAX_BYTES);
6767

6868
define_siblings_read_func(core_cpus, sibling_cpumask);
69-
static BIN_ATTR_RO(core_cpus, CPUMAP_FILE_MAX_BYTES);
70-
static BIN_ATTR_RO(core_cpus_list, CPULIST_FILE_MAX_BYTES);
69+
static const BIN_ATTR_RO(core_cpus, CPUMAP_FILE_MAX_BYTES);
70+
static const BIN_ATTR_RO(core_cpus_list, CPULIST_FILE_MAX_BYTES);
7171

7272
define_siblings_read_func(core_siblings, core_cpumask);
73-
static BIN_ATTR_RO(core_siblings, CPUMAP_FILE_MAX_BYTES);
74-
static BIN_ATTR_RO(core_siblings_list, CPULIST_FILE_MAX_BYTES);
73+
static const BIN_ATTR_RO(core_siblings, CPUMAP_FILE_MAX_BYTES);
74+
static const BIN_ATTR_RO(core_siblings_list, CPULIST_FILE_MAX_BYTES);
7575

7676
#ifdef TOPOLOGY_CLUSTER_SYSFS
7777
define_siblings_read_func(cluster_cpus, cluster_cpumask);
78-
static BIN_ATTR_RO(cluster_cpus, CPUMAP_FILE_MAX_BYTES);
79-
static BIN_ATTR_RO(cluster_cpus_list, CPULIST_FILE_MAX_BYTES);
78+
static const BIN_ATTR_RO(cluster_cpus, CPUMAP_FILE_MAX_BYTES);
79+
static const BIN_ATTR_RO(cluster_cpus_list, CPULIST_FILE_MAX_BYTES);
8080
#endif
8181

8282
#ifdef TOPOLOGY_DIE_SYSFS
8383
define_siblings_read_func(die_cpus, die_cpumask);
84-
static BIN_ATTR_RO(die_cpus, CPUMAP_FILE_MAX_BYTES);
85-
static BIN_ATTR_RO(die_cpus_list, CPULIST_FILE_MAX_BYTES);
84+
static const BIN_ATTR_RO(die_cpus, CPUMAP_FILE_MAX_BYTES);
85+
static const BIN_ATTR_RO(die_cpus_list, CPULIST_FILE_MAX_BYTES);
8686
#endif
8787

8888
define_siblings_read_func(package_cpus, core_cpumask);
89-
static BIN_ATTR_RO(package_cpus, CPUMAP_FILE_MAX_BYTES);
90-
static BIN_ATTR_RO(package_cpus_list, CPULIST_FILE_MAX_BYTES);
89+
static const BIN_ATTR_RO(package_cpus, CPUMAP_FILE_MAX_BYTES);
90+
static const BIN_ATTR_RO(package_cpus_list, CPULIST_FILE_MAX_BYTES);
9191

9292
#ifdef TOPOLOGY_BOOK_SYSFS
9393
define_id_show_func(book_id, "%d");
9494
static DEVICE_ATTR_RO(book_id);
9595
define_siblings_read_func(book_siblings, book_cpumask);
96-
static BIN_ATTR_RO(book_siblings, CPUMAP_FILE_MAX_BYTES);
97-
static BIN_ATTR_RO(book_siblings_list, CPULIST_FILE_MAX_BYTES);
96+
static const BIN_ATTR_RO(book_siblings, CPUMAP_FILE_MAX_BYTES);
97+
static const BIN_ATTR_RO(book_siblings_list, CPULIST_FILE_MAX_BYTES);
9898
#endif
9999

100100
#ifdef TOPOLOGY_DRAWER_SYSFS
101101
define_id_show_func(drawer_id, "%d");
102102
static DEVICE_ATTR_RO(drawer_id);
103103
define_siblings_read_func(drawer_siblings, drawer_cpumask);
104-
static BIN_ATTR_RO(drawer_siblings, CPUMAP_FILE_MAX_BYTES);
105-
static BIN_ATTR_RO(drawer_siblings_list, CPULIST_FILE_MAX_BYTES);
104+
static const BIN_ATTR_RO(drawer_siblings, CPUMAP_FILE_MAX_BYTES);
105+
static const BIN_ATTR_RO(drawer_siblings_list, CPULIST_FILE_MAX_BYTES);
106106
#endif
107107

108-
static struct bin_attribute *bin_attrs[] = {
108+
static const struct bin_attribute *const bin_attrs[] = {
109109
&bin_attr_core_cpus,
110110
&bin_attr_core_cpus_list,
111111
&bin_attr_thread_siblings,
@@ -163,7 +163,7 @@ static umode_t topology_is_visible(struct kobject *kobj,
163163

164164
static const struct attribute_group topology_attr_group = {
165165
.attrs = default_attrs,
166-
.bin_attrs = bin_attrs,
166+
.bin_attrs_new = bin_attrs,
167167
.is_visible = topology_is_visible,
168168
.name = "topology"
169169
};

drivers/cdx/cdx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -707,7 +707,7 @@ static const struct vm_operations_struct cdx_phys_vm_ops = {
707707
* Return: true on success, false otherwise.
708708
*/
709709
static int cdx_mmap_resource(struct file *fp, struct kobject *kobj,
710-
struct bin_attribute *attr,
710+
const struct bin_attribute *attr,
711711
struct vm_area_struct *vma)
712712
{
713713
struct cdx_device *cdx_dev = to_cdx_device(kobj_to_dev(kobj));

drivers/cxl/port.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ static ssize_t CDAT_read(struct file *filp, struct kobject *kobj,
173173
static BIN_ATTR_ADMIN_RO(CDAT, 0);
174174

175175
static umode_t cxl_port_bin_attr_is_visible(struct kobject *kobj,
176-
struct bin_attribute *attr, int i)
176+
const struct bin_attribute *attr, int i)
177177
{
178178
struct device *dev = kobj_to_dev(kobj);
179179
struct cxl_port *port = to_cxl_port(dev);

drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3999,7 +3999,7 @@ static umode_t amdgpu_flash_attr_is_visible(struct kobject *kobj, struct attribu
39993999
}
40004000

40014001
static umode_t amdgpu_bin_flash_attr_is_visible(struct kobject *kobj,
4002-
struct bin_attribute *attr,
4002+
const struct bin_attribute *attr,
40034003
int idx)
40044004
{
40054005
struct device *dev = kobj_to_dev(kobj);

drivers/infiniband/hw/qib/qib_sysfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ static struct bin_attribute *port_ccmgta_attributes[] = {
283283
};
284284

285285
static umode_t qib_ccmgta_is_bin_visible(struct kobject *kobj,
286-
struct bin_attribute *attr, int n)
286+
const struct bin_attribute *attr, int n)
287287
{
288288
struct qib_pportdata *ppd = qib_get_pportdata_kobj(kobj);
289289

drivers/misc/ocxl/sysfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ static const struct vm_operations_struct global_mmio_vmops = {
125125
};
126126

127127
static int global_mmio_mmap(struct file *filp, struct kobject *kobj,
128-
struct bin_attribute *bin_attr,
128+
const struct bin_attribute *bin_attr,
129129
struct vm_area_struct *vma)
130130
{
131131
struct ocxl_afu *afu = to_afu(kobj_to_dev(kobj));

drivers/mtd/spi-nor/sysfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ static umode_t spi_nor_sysfs_is_visible(struct kobject *kobj,
8787
}
8888

8989
static umode_t spi_nor_sysfs_is_bin_visible(struct kobject *kobj,
90-
struct bin_attribute *attr, int n)
90+
const struct bin_attribute *attr, int n)
9191
{
9292
struct spi_device *spi = to_spi_device(kobj_to_dev(kobj));
9393
struct spi_mem *spimem = spi_get_drvdata(spi);

drivers/nvmem/core.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,16 +298,25 @@ static umode_t nvmem_bin_attr_get_umode(struct nvmem_device *nvmem)
298298
}
299299

300300
static umode_t nvmem_bin_attr_is_visible(struct kobject *kobj,
301-
struct bin_attribute *attr, int i)
301+
const struct bin_attribute *attr,
302+
int i)
302303
{
303304
struct device *dev = kobj_to_dev(kobj);
304305
struct nvmem_device *nvmem = to_nvmem_device(dev);
305306

306-
attr->size = nvmem->size;
307-
308307
return nvmem_bin_attr_get_umode(nvmem);
309308
}
310309

310+
static size_t nvmem_bin_attr_size(struct kobject *kobj,
311+
const struct bin_attribute *attr,
312+
int i)
313+
{
314+
struct device *dev = kobj_to_dev(kobj);
315+
struct nvmem_device *nvmem = to_nvmem_device(dev);
316+
317+
return nvmem->size;
318+
}
319+
311320
static umode_t nvmem_attr_is_visible(struct kobject *kobj,
312321
struct attribute *attr, int i)
313322
{
@@ -383,6 +392,7 @@ static const struct attribute_group nvmem_bin_group = {
383392
.bin_attrs = nvmem_bin_attributes,
384393
.attrs = nvmem_attrs,
385394
.is_bin_visible = nvmem_bin_attr_is_visible,
395+
.bin_size = nvmem_bin_attr_size,
386396
.is_visible = nvmem_attr_is_visible,
387397
};
388398

0 commit comments

Comments
 (0)