@@ -1186,7 +1186,7 @@ static ssize_t bus_dsm_mask_show(struct device *dev,
1186
1186
struct nvdimm_bus_descriptor * nd_desc = to_nd_desc (nvdimm_bus );
1187
1187
struct acpi_nfit_desc * acpi_desc = to_acpi_desc (nd_desc );
1188
1188
1189
- return sprintf (buf , "%#lx\n" , acpi_desc -> bus_dsm_mask );
1189
+ return sysfs_emit (buf , "%#lx\n" , acpi_desc -> bus_dsm_mask );
1190
1190
}
1191
1191
static struct device_attribute dev_attr_bus_dsm_mask =
1192
1192
__ATTR (dsm_mask , 0444 , bus_dsm_mask_show , NULL );
@@ -1198,7 +1198,7 @@ static ssize_t revision_show(struct device *dev,
1198
1198
struct nvdimm_bus_descriptor * nd_desc = to_nd_desc (nvdimm_bus );
1199
1199
struct acpi_nfit_desc * acpi_desc = to_acpi_desc (nd_desc );
1200
1200
1201
- return sprintf (buf , "%d\n" , acpi_desc -> acpi_header .revision );
1201
+ return sysfs_emit (buf , "%d\n" , acpi_desc -> acpi_header .revision );
1202
1202
}
1203
1203
static DEVICE_ATTR_RO (revision );
1204
1204
@@ -1209,7 +1209,7 @@ static ssize_t hw_error_scrub_show(struct device *dev,
1209
1209
struct nvdimm_bus_descriptor * nd_desc = to_nd_desc (nvdimm_bus );
1210
1210
struct acpi_nfit_desc * acpi_desc = to_acpi_desc (nd_desc );
1211
1211
1212
- return sprintf (buf , "%d\n" , acpi_desc -> scrub_mode );
1212
+ return sysfs_emit (buf , "%d\n" , acpi_desc -> scrub_mode );
1213
1213
}
1214
1214
1215
1215
/*
@@ -1278,7 +1278,7 @@ static ssize_t scrub_show(struct device *dev,
1278
1278
mutex_lock (& acpi_desc -> init_mutex );
1279
1279
busy = test_bit (ARS_BUSY , & acpi_desc -> scrub_flags )
1280
1280
&& !test_bit (ARS_CANCEL , & acpi_desc -> scrub_flags );
1281
- rc = sprintf (buf , "%d%s" , acpi_desc -> scrub_count , busy ? "+\n" : "\n" );
1281
+ rc = sysfs_emit (buf , "%d%s" , acpi_desc -> scrub_count , busy ? "+\n" : "\n" );
1282
1282
/* Allow an admin to poll the busy state at a higher rate */
1283
1283
if (busy && capable (CAP_SYS_RAWIO ) && !test_and_set_bit (ARS_POLL ,
1284
1284
& acpi_desc -> scrub_flags )) {
@@ -1382,7 +1382,7 @@ static ssize_t handle_show(struct device *dev,
1382
1382
{
1383
1383
struct acpi_nfit_memory_map * memdev = to_nfit_memdev (dev );
1384
1384
1385
- return sprintf (buf , "%#x\n" , memdev -> device_handle );
1385
+ return sysfs_emit (buf , "%#x\n" , memdev -> device_handle );
1386
1386
}
1387
1387
static DEVICE_ATTR_RO (handle );
1388
1388
@@ -1391,7 +1391,7 @@ static ssize_t phys_id_show(struct device *dev,
1391
1391
{
1392
1392
struct acpi_nfit_memory_map * memdev = to_nfit_memdev (dev );
1393
1393
1394
- return sprintf (buf , "%#x\n" , memdev -> physical_id );
1394
+ return sysfs_emit (buf , "%#x\n" , memdev -> physical_id );
1395
1395
}
1396
1396
static DEVICE_ATTR_RO (phys_id );
1397
1397
@@ -1400,7 +1400,7 @@ static ssize_t vendor_show(struct device *dev,
1400
1400
{
1401
1401
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1402
1402
1403
- return sprintf (buf , "0x%04x\n" , be16_to_cpu (dcr -> vendor_id ));
1403
+ return sysfs_emit (buf , "0x%04x\n" , be16_to_cpu (dcr -> vendor_id ));
1404
1404
}
1405
1405
static DEVICE_ATTR_RO (vendor );
1406
1406
@@ -1409,7 +1409,7 @@ static ssize_t rev_id_show(struct device *dev,
1409
1409
{
1410
1410
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1411
1411
1412
- return sprintf (buf , "0x%04x\n" , be16_to_cpu (dcr -> revision_id ));
1412
+ return sysfs_emit (buf , "0x%04x\n" , be16_to_cpu (dcr -> revision_id ));
1413
1413
}
1414
1414
static DEVICE_ATTR_RO (rev_id );
1415
1415
@@ -1418,7 +1418,7 @@ static ssize_t device_show(struct device *dev,
1418
1418
{
1419
1419
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1420
1420
1421
- return sprintf (buf , "0x%04x\n" , be16_to_cpu (dcr -> device_id ));
1421
+ return sysfs_emit (buf , "0x%04x\n" , be16_to_cpu (dcr -> device_id ));
1422
1422
}
1423
1423
static DEVICE_ATTR_RO (device );
1424
1424
@@ -1427,7 +1427,7 @@ static ssize_t subsystem_vendor_show(struct device *dev,
1427
1427
{
1428
1428
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1429
1429
1430
- return sprintf (buf , "0x%04x\n" , be16_to_cpu (dcr -> subsystem_vendor_id ));
1430
+ return sysfs_emit (buf , "0x%04x\n" , be16_to_cpu (dcr -> subsystem_vendor_id ));
1431
1431
}
1432
1432
static DEVICE_ATTR_RO (subsystem_vendor );
1433
1433
@@ -1436,7 +1436,7 @@ static ssize_t subsystem_rev_id_show(struct device *dev,
1436
1436
{
1437
1437
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1438
1438
1439
- return sprintf (buf , "0x%04x\n" ,
1439
+ return sysfs_emit (buf , "0x%04x\n" ,
1440
1440
be16_to_cpu (dcr -> subsystem_revision_id ));
1441
1441
}
1442
1442
static DEVICE_ATTR_RO (subsystem_rev_id );
@@ -1446,7 +1446,7 @@ static ssize_t subsystem_device_show(struct device *dev,
1446
1446
{
1447
1447
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1448
1448
1449
- return sprintf (buf , "0x%04x\n" , be16_to_cpu (dcr -> subsystem_device_id ));
1449
+ return sysfs_emit (buf , "0x%04x\n" , be16_to_cpu (dcr -> subsystem_device_id ));
1450
1450
}
1451
1451
static DEVICE_ATTR_RO (subsystem_device );
1452
1452
@@ -1465,7 +1465,7 @@ static ssize_t format_show(struct device *dev,
1465
1465
{
1466
1466
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1467
1467
1468
- return sprintf (buf , "0x%04x\n" , le16_to_cpu (dcr -> code ));
1468
+ return sysfs_emit (buf , "0x%04x\n" , le16_to_cpu (dcr -> code ));
1469
1469
}
1470
1470
static DEVICE_ATTR_RO (format );
1471
1471
@@ -1498,7 +1498,7 @@ static ssize_t format1_show(struct device *dev,
1498
1498
continue ;
1499
1499
if (nfit_dcr -> dcr -> code == dcr -> code )
1500
1500
continue ;
1501
- rc = sprintf (buf , "0x%04x\n" ,
1501
+ rc = sysfs_emit (buf , "0x%04x\n" ,
1502
1502
le16_to_cpu (nfit_dcr -> dcr -> code ));
1503
1503
break ;
1504
1504
}
@@ -1515,7 +1515,7 @@ static ssize_t formats_show(struct device *dev,
1515
1515
{
1516
1516
struct nvdimm * nvdimm = to_nvdimm (dev );
1517
1517
1518
- return sprintf (buf , "%d\n" , num_nvdimm_formats (nvdimm ));
1518
+ return sysfs_emit (buf , "%d\n" , num_nvdimm_formats (nvdimm ));
1519
1519
}
1520
1520
static DEVICE_ATTR_RO (formats );
1521
1521
@@ -1524,7 +1524,7 @@ static ssize_t serial_show(struct device *dev,
1524
1524
{
1525
1525
struct acpi_nfit_control_region * dcr = to_nfit_dcr (dev );
1526
1526
1527
- return sprintf (buf , "0x%08x\n" , be32_to_cpu (dcr -> serial_number ));
1527
+ return sysfs_emit (buf , "0x%08x\n" , be32_to_cpu (dcr -> serial_number ));
1528
1528
}
1529
1529
static DEVICE_ATTR_RO (serial );
1530
1530
@@ -1536,7 +1536,7 @@ static ssize_t family_show(struct device *dev,
1536
1536
1537
1537
if (nfit_mem -> family < 0 )
1538
1538
return - ENXIO ;
1539
- return sprintf (buf , "%d\n" , nfit_mem -> family );
1539
+ return sysfs_emit (buf , "%d\n" , nfit_mem -> family );
1540
1540
}
1541
1541
static DEVICE_ATTR_RO (family );
1542
1542
@@ -1548,7 +1548,7 @@ static ssize_t dsm_mask_show(struct device *dev,
1548
1548
1549
1549
if (nfit_mem -> family < 0 )
1550
1550
return - ENXIO ;
1551
- return sprintf (buf , "%#lx\n" , nfit_mem -> dsm_mask );
1551
+ return sysfs_emit (buf , "%#lx\n" , nfit_mem -> dsm_mask );
1552
1552
}
1553
1553
static DEVICE_ATTR_RO (dsm_mask );
1554
1554
@@ -1562,7 +1562,7 @@ static ssize_t flags_show(struct device *dev,
1562
1562
if (test_bit (NFIT_MEM_DIRTY , & nfit_mem -> flags ))
1563
1563
flags |= ACPI_NFIT_MEM_FLUSH_FAILED ;
1564
1564
1565
- return sprintf (buf , "%s%s%s%s%s%s%s\n" ,
1565
+ return sysfs_emit (buf , "%s%s%s%s%s%s%s\n" ,
1566
1566
flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save_fail " : "" ,
1567
1567
flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore_fail " : "" ,
1568
1568
flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush_fail " : "" ,
@@ -1579,7 +1579,7 @@ static ssize_t id_show(struct device *dev,
1579
1579
struct nvdimm * nvdimm = to_nvdimm (dev );
1580
1580
struct nfit_mem * nfit_mem = nvdimm_provider_data (nvdimm );
1581
1581
1582
- return sprintf (buf , "%s\n" , nfit_mem -> id );
1582
+ return sysfs_emit (buf , "%s\n" , nfit_mem -> id );
1583
1583
}
1584
1584
static DEVICE_ATTR_RO (id );
1585
1585
@@ -1589,7 +1589,7 @@ static ssize_t dirty_shutdown_show(struct device *dev,
1589
1589
struct nvdimm * nvdimm = to_nvdimm (dev );
1590
1590
struct nfit_mem * nfit_mem = nvdimm_provider_data (nvdimm );
1591
1591
1592
- return sprintf (buf , "%d\n" , nfit_mem -> dirty_shutdown );
1592
+ return sysfs_emit (buf , "%d\n" , nfit_mem -> dirty_shutdown );
1593
1593
}
1594
1594
static DEVICE_ATTR_RO (dirty_shutdown );
1595
1595
@@ -2172,7 +2172,7 @@ static ssize_t range_index_show(struct device *dev,
2172
2172
struct nd_region * nd_region = to_nd_region (dev );
2173
2173
struct nfit_spa * nfit_spa = nd_region_provider_data (nd_region );
2174
2174
2175
- return sprintf (buf , "%d\n" , nfit_spa -> spa -> range_index );
2175
+ return sysfs_emit (buf , "%d\n" , nfit_spa -> spa -> range_index );
2176
2176
}
2177
2177
static DEVICE_ATTR_RO (range_index );
2178
2178
@@ -2257,26 +2257,23 @@ static int acpi_nfit_init_interleave_set(struct acpi_nfit_desc *acpi_desc,
2257
2257
struct nd_region_desc * ndr_desc ,
2258
2258
struct acpi_nfit_system_address * spa )
2259
2259
{
2260
+ u16 nr = ndr_desc -> num_mappings ;
2261
+ struct nfit_set_info2 * info2 __free (kfree ) =
2262
+ kcalloc (nr , sizeof (* info2 ), GFP_KERNEL );
2263
+ struct nfit_set_info * info __free (kfree ) =
2264
+ kcalloc (nr , sizeof (* info ), GFP_KERNEL );
2260
2265
struct device * dev = acpi_desc -> dev ;
2261
2266
struct nd_interleave_set * nd_set ;
2262
- u16 nr = ndr_desc -> num_mappings ;
2263
- struct nfit_set_info2 * info2 ;
2264
- struct nfit_set_info * info ;
2265
2267
int i ;
2266
2268
2269
+ if (!info || !info2 )
2270
+ return - ENOMEM ;
2271
+
2267
2272
nd_set = devm_kzalloc (dev , sizeof (* nd_set ), GFP_KERNEL );
2268
2273
if (!nd_set )
2269
2274
return - ENOMEM ;
2270
2275
import_guid (& nd_set -> type_guid , spa -> range_guid );
2271
2276
2272
- info = devm_kcalloc (dev , nr , sizeof (* info ), GFP_KERNEL );
2273
- if (!info )
2274
- return - ENOMEM ;
2275
-
2276
- info2 = devm_kcalloc (dev , nr , sizeof (* info2 ), GFP_KERNEL );
2277
- if (!info2 )
2278
- return - ENOMEM ;
2279
-
2280
2277
for (i = 0 ; i < nr ; i ++ ) {
2281
2278
struct nd_mapping_desc * mapping = & ndr_desc -> mapping [i ];
2282
2279
struct nvdimm * nvdimm = mapping -> nvdimm ;
@@ -2337,8 +2334,6 @@ static int acpi_nfit_init_interleave_set(struct acpi_nfit_desc *acpi_desc,
2337
2334
}
2338
2335
2339
2336
ndr_desc -> nd_set = nd_set ;
2340
- devm_kfree (dev , info );
2341
- devm_kfree (dev , info2 );
2342
2337
2343
2338
return 0 ;
2344
2339
}
0 commit comments