@@ -280,58 +280,58 @@ static struct kobj_attribute sys_##_prefix##_##_name##_attr = \
280
280
sys_##_prefix##_##_name##_show, \
281
281
sys_##_prefix##_##_name##_store)
282
282
283
- #define IPL_ATTR_SCP_DATA_SHOW_FN (_prefix , _ipl_block ) \
284
- static ssize_t sys_##_prefix##_scp_data_show(struct file *filp, \
285
- struct kobject *kobj, \
286
- struct bin_attribute *attr, \
287
- char *buf, loff_t off, \
288
- size_t count) \
289
- { \
290
- size_t size = _ipl_block.scp_data_len; \
291
- void *scp_data = _ipl_block.scp_data; \
292
- \
293
- return memory_read_from_buffer(buf, count, &off, \
294
- scp_data, size); \
283
+ #define IPL_ATTR_SCP_DATA_SHOW_FN (_prefix , _ipl_block ) \
284
+ static ssize_t sys_##_prefix##_scp_data_show(struct file *filp, \
285
+ struct kobject *kobj, \
286
+ const struct bin_attribute *attr, \
287
+ char *buf, loff_t off, \
288
+ size_t count) \
289
+ { \
290
+ size_t size = _ipl_block.scp_data_len; \
291
+ void *scp_data = _ipl_block.scp_data; \
292
+ \
293
+ return memory_read_from_buffer(buf, count, &off, \
294
+ scp_data, size); \
295
295
}
296
296
297
297
#define IPL_ATTR_SCP_DATA_STORE_FN (_prefix , _ipl_block_hdr , _ipl_block , _ipl_bp_len , _ipl_bp0_len )\
298
- static ssize_t sys_##_prefix##_scp_data_store(struct file *filp, \
299
- struct kobject *kobj, \
300
- struct bin_attribute *attr, \
301
- char *buf, loff_t off, \
302
- size_t count) \
303
- { \
304
- size_t scpdata_len = count; \
305
- size_t padding; \
306
- \
307
- if (off) \
308
- return -EINVAL; \
309
- \
310
- memcpy(_ipl_block.scp_data, buf, count); \
311
- if (scpdata_len % 8) { \
312
- padding = 8 - (scpdata_len % 8); \
313
- memset(_ipl_block.scp_data + scpdata_len, \
314
- 0, padding); \
315
- scpdata_len += padding; \
316
- } \
317
- \
318
- _ipl_block_hdr.len = _ipl_bp_len + scpdata_len; \
319
- _ipl_block.len = _ipl_bp0_len + scpdata_len; \
320
- _ipl_block.scp_data_len = scpdata_len; \
321
- \
322
- return count; \
298
+ static ssize_t sys_##_prefix##_scp_data_store(struct file *filp, \
299
+ struct kobject *kobj, \
300
+ const struct bin_attribute *attr, \
301
+ char *buf, loff_t off, \
302
+ size_t count) \
303
+ { \
304
+ size_t scpdata_len = count; \
305
+ size_t padding; \
306
+ \
307
+ if (off) \
308
+ return -EINVAL; \
309
+ \
310
+ memcpy(_ipl_block.scp_data, buf, count); \
311
+ if (scpdata_len % 8) { \
312
+ padding = 8 - (scpdata_len % 8); \
313
+ memset(_ipl_block.scp_data + scpdata_len, \
314
+ 0, padding); \
315
+ scpdata_len += padding; \
316
+ } \
317
+ \
318
+ _ipl_block_hdr.len = _ipl_bp_len + scpdata_len; \
319
+ _ipl_block.len = _ipl_bp0_len + scpdata_len; \
320
+ _ipl_block.scp_data_len = scpdata_len; \
321
+ \
322
+ return count; \
323
323
}
324
324
325
325
#define DEFINE_IPL_ATTR_SCP_DATA_RO (_prefix , _ipl_block , _size ) \
326
326
IPL_ATTR_SCP_DATA_SHOW_FN(_prefix, _ipl_block) \
327
- static struct bin_attribute sys_##_prefix##_scp_data_attr = \
327
+ static const struct bin_attribute sys_##_prefix##_scp_data_attr = \
328
328
__BIN_ATTR(scp_data, 0444, sys_##_prefix##_scp_data_show, \
329
329
NULL, _size)
330
330
331
331
#define DEFINE_IPL_ATTR_SCP_DATA_RW (_prefix , _ipl_block_hdr , _ipl_block , _ipl_bp_len , _ipl_bp0_len , _size )\
332
332
IPL_ATTR_SCP_DATA_SHOW_FN(_prefix, _ipl_block) \
333
333
IPL_ATTR_SCP_DATA_STORE_FN(_prefix, _ipl_block_hdr, _ipl_block, _ipl_bp_len, _ipl_bp0_len)\
334
- static struct bin_attribute sys_##_prefix##_scp_data_attr = \
334
+ static const struct bin_attribute sys_##_prefix##_scp_data_attr = \
335
335
__BIN_ATTR(scp_data, 0644, sys_##_prefix##_scp_data_show, \
336
336
sys_##_prefix##_scp_data_store, _size)
337
337
@@ -434,35 +434,35 @@ static struct kobj_attribute sys_ipl_device_attr =
434
434
__ATTR (device , 0444 , sys_ipl_device_show , NULL );
435
435
436
436
static ssize_t sys_ipl_parameter_read (struct file * filp , struct kobject * kobj ,
437
- struct bin_attribute * attr , char * buf ,
437
+ const struct bin_attribute * attr , char * buf ,
438
438
loff_t off , size_t count )
439
439
{
440
440
return memory_read_from_buffer (buf , count , & off , & ipl_block ,
441
441
ipl_block .hdr .len );
442
442
}
443
- static struct bin_attribute sys_ipl_parameter_attr =
443
+ static const struct bin_attribute sys_ipl_parameter_attr =
444
444
__BIN_ATTR (binary_parameter , 0444 , sys_ipl_parameter_read , NULL ,
445
445
PAGE_SIZE );
446
446
447
447
DEFINE_IPL_ATTR_SCP_DATA_RO (ipl_fcp , ipl_block .fcp , PAGE_SIZE );
448
448
449
- static struct bin_attribute * ipl_fcp_bin_attrs [] = {
449
+ static const struct bin_attribute * const ipl_fcp_bin_attrs [] = {
450
450
& sys_ipl_parameter_attr ,
451
451
& sys_ipl_fcp_scp_data_attr ,
452
452
NULL ,
453
453
};
454
454
455
455
DEFINE_IPL_ATTR_SCP_DATA_RO (ipl_nvme , ipl_block .nvme , PAGE_SIZE );
456
456
457
- static struct bin_attribute * ipl_nvme_bin_attrs [] = {
457
+ static const struct bin_attribute * const ipl_nvme_bin_attrs [] = {
458
458
& sys_ipl_parameter_attr ,
459
459
& sys_ipl_nvme_scp_data_attr ,
460
460
NULL ,
461
461
};
462
462
463
463
DEFINE_IPL_ATTR_SCP_DATA_RO (ipl_eckd , ipl_block .eckd , PAGE_SIZE );
464
464
465
- static struct bin_attribute * ipl_eckd_bin_attrs [] = {
465
+ static const struct bin_attribute * const ipl_eckd_bin_attrs [] = {
466
466
& sys_ipl_parameter_attr ,
467
467
& sys_ipl_eckd_scp_data_attr ,
468
468
NULL ,
@@ -593,9 +593,9 @@ static struct attribute *ipl_fcp_attrs[] = {
593
593
NULL ,
594
594
};
595
595
596
- static struct attribute_group ipl_fcp_attr_group = {
596
+ static const struct attribute_group ipl_fcp_attr_group = {
597
597
.attrs = ipl_fcp_attrs ,
598
- .bin_attrs = ipl_fcp_bin_attrs ,
598
+ .bin_attrs_new = ipl_fcp_bin_attrs ,
599
599
};
600
600
601
601
static struct attribute * ipl_nvme_attrs [] = {
@@ -607,9 +607,9 @@ static struct attribute *ipl_nvme_attrs[] = {
607
607
NULL ,
608
608
};
609
609
610
- static struct attribute_group ipl_nvme_attr_group = {
610
+ static const struct attribute_group ipl_nvme_attr_group = {
611
611
.attrs = ipl_nvme_attrs ,
612
- .bin_attrs = ipl_nvme_bin_attrs ,
612
+ .bin_attrs_new = ipl_nvme_bin_attrs ,
613
613
};
614
614
615
615
static struct attribute * ipl_eckd_attrs [] = {
@@ -620,9 +620,9 @@ static struct attribute *ipl_eckd_attrs[] = {
620
620
NULL ,
621
621
};
622
622
623
- static struct attribute_group ipl_eckd_attr_group = {
623
+ static const struct attribute_group ipl_eckd_attr_group = {
624
624
.attrs = ipl_eckd_attrs ,
625
- .bin_attrs = ipl_eckd_bin_attrs ,
625
+ .bin_attrs_new = ipl_eckd_bin_attrs ,
626
626
};
627
627
628
628
/* CCW ipl device attributes */
@@ -640,11 +640,11 @@ static struct attribute *ipl_ccw_attrs_lpar[] = {
640
640
NULL ,
641
641
};
642
642
643
- static struct attribute_group ipl_ccw_attr_group_vm = {
643
+ static const struct attribute_group ipl_ccw_attr_group_vm = {
644
644
.attrs = ipl_ccw_attrs_vm ,
645
645
};
646
646
647
- static struct attribute_group ipl_ccw_attr_group_lpar = {
647
+ static const struct attribute_group ipl_ccw_attr_group_lpar = {
648
648
.attrs = ipl_ccw_attrs_lpar
649
649
};
650
650
@@ -655,7 +655,7 @@ static struct attribute *ipl_common_attrs[] = {
655
655
NULL ,
656
656
};
657
657
658
- static struct attribute_group ipl_common_attr_group = {
658
+ static const struct attribute_group ipl_common_attr_group = {
659
659
.attrs = ipl_common_attrs ,
660
660
};
661
661
@@ -808,7 +808,7 @@ DEFINE_IPL_ATTR_SCP_DATA_RW(reipl_fcp, reipl_block_fcp->hdr,
808
808
IPL_BP_FCP_LEN , IPL_BP0_FCP_LEN ,
809
809
DIAG308_SCPDATA_SIZE );
810
810
811
- static struct bin_attribute * reipl_fcp_bin_attrs [] = {
811
+ static const struct bin_attribute * const reipl_fcp_bin_attrs [] = {
812
812
& sys_reipl_fcp_scp_data_attr ,
813
813
NULL ,
814
814
};
@@ -917,9 +917,9 @@ static struct attribute *reipl_fcp_attrs[] = {
917
917
NULL ,
918
918
};
919
919
920
- static struct attribute_group reipl_fcp_attr_group = {
920
+ static const struct attribute_group reipl_fcp_attr_group = {
921
921
.attrs = reipl_fcp_attrs ,
922
- .bin_attrs = reipl_fcp_bin_attrs ,
922
+ .bin_attrs_new = reipl_fcp_bin_attrs ,
923
923
};
924
924
925
925
static struct kobj_attribute sys_reipl_fcp_clear_attr =
@@ -932,7 +932,7 @@ DEFINE_IPL_ATTR_SCP_DATA_RW(reipl_nvme, reipl_block_nvme->hdr,
932
932
IPL_BP_NVME_LEN , IPL_BP0_NVME_LEN ,
933
933
DIAG308_SCPDATA_SIZE );
934
934
935
- static struct bin_attribute * reipl_nvme_bin_attrs [] = {
935
+ static const struct bin_attribute * const reipl_nvme_bin_attrs [] = {
936
936
& sys_reipl_nvme_scp_data_attr ,
937
937
NULL ,
938
938
};
@@ -955,9 +955,9 @@ static struct attribute *reipl_nvme_attrs[] = {
955
955
NULL ,
956
956
};
957
957
958
- static struct attribute_group reipl_nvme_attr_group = {
958
+ static const struct attribute_group reipl_nvme_attr_group = {
959
959
.attrs = reipl_nvme_attrs ,
960
- .bin_attrs = reipl_nvme_bin_attrs
960
+ .bin_attrs_new = reipl_nvme_bin_attrs
961
961
};
962
962
963
963
static ssize_t reipl_nvme_clear_show (struct kobject * kobj ,
@@ -1031,7 +1031,7 @@ DEFINE_IPL_ATTR_SCP_DATA_RW(reipl_eckd, reipl_block_eckd->hdr,
1031
1031
IPL_BP_ECKD_LEN , IPL_BP0_ECKD_LEN ,
1032
1032
DIAG308_SCPDATA_SIZE );
1033
1033
1034
- static struct bin_attribute * reipl_eckd_bin_attrs [] = {
1034
+ static const struct bin_attribute * const reipl_eckd_bin_attrs [] = {
1035
1035
& sys_reipl_eckd_scp_data_attr ,
1036
1036
NULL ,
1037
1037
};
@@ -1048,9 +1048,9 @@ static struct attribute *reipl_eckd_attrs[] = {
1048
1048
NULL ,
1049
1049
};
1050
1050
1051
- static struct attribute_group reipl_eckd_attr_group = {
1051
+ static const struct attribute_group reipl_eckd_attr_group = {
1052
1052
.attrs = reipl_eckd_attrs ,
1053
- .bin_attrs = reipl_eckd_bin_attrs
1053
+ .bin_attrs_new = reipl_eckd_bin_attrs
1054
1054
};
1055
1055
1056
1056
static ssize_t reipl_eckd_clear_show (struct kobject * kobj ,
@@ -1587,15 +1587,15 @@ static struct attribute *dump_fcp_attrs[] = {
1587
1587
NULL ,
1588
1588
};
1589
1589
1590
- static struct bin_attribute * dump_fcp_bin_attrs [] = {
1590
+ static const struct bin_attribute * const dump_fcp_bin_attrs [] = {
1591
1591
& sys_dump_fcp_scp_data_attr ,
1592
1592
NULL ,
1593
1593
};
1594
1594
1595
- static struct attribute_group dump_fcp_attr_group = {
1595
+ static const struct attribute_group dump_fcp_attr_group = {
1596
1596
.name = IPL_FCP_STR ,
1597
1597
.attrs = dump_fcp_attrs ,
1598
- .bin_attrs = dump_fcp_bin_attrs ,
1598
+ .bin_attrs_new = dump_fcp_bin_attrs ,
1599
1599
};
1600
1600
1601
1601
/* NVME dump device attributes */
@@ -1621,15 +1621,15 @@ static struct attribute *dump_nvme_attrs[] = {
1621
1621
NULL ,
1622
1622
};
1623
1623
1624
- static struct bin_attribute * dump_nvme_bin_attrs [] = {
1624
+ static const struct bin_attribute * const dump_nvme_bin_attrs [] = {
1625
1625
& sys_dump_nvme_scp_data_attr ,
1626
1626
NULL ,
1627
1627
};
1628
1628
1629
- static struct attribute_group dump_nvme_attr_group = {
1629
+ static const struct attribute_group dump_nvme_attr_group = {
1630
1630
.name = IPL_NVME_STR ,
1631
1631
.attrs = dump_nvme_attrs ,
1632
- .bin_attrs = dump_nvme_bin_attrs ,
1632
+ .bin_attrs_new = dump_nvme_bin_attrs ,
1633
1633
};
1634
1634
1635
1635
/* ECKD dump device attributes */
@@ -1655,15 +1655,15 @@ static struct attribute *dump_eckd_attrs[] = {
1655
1655
NULL ,
1656
1656
};
1657
1657
1658
- static struct bin_attribute * dump_eckd_bin_attrs [] = {
1658
+ static const struct bin_attribute * const dump_eckd_bin_attrs [] = {
1659
1659
& sys_dump_eckd_scp_data_attr ,
1660
1660
NULL ,
1661
1661
};
1662
1662
1663
- static struct attribute_group dump_eckd_attr_group = {
1663
+ static const struct attribute_group dump_eckd_attr_group = {
1664
1664
.name = IPL_ECKD_STR ,
1665
1665
.attrs = dump_eckd_attrs ,
1666
- .bin_attrs = dump_eckd_bin_attrs ,
1666
+ .bin_attrs_new = dump_eckd_bin_attrs ,
1667
1667
};
1668
1668
1669
1669
/* CCW dump device attributes */
0 commit comments