@@ -5571,7 +5571,7 @@ static int
5571
5571
hwloc_linux_try_hardwired_cpuinfo (struct hwloc_backend * backend )
5572
5572
{
5573
5573
struct hwloc_topology * topology = backend -> topology ;
5574
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
5574
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
5575
5575
5576
5576
if (getenv ("HWLOC_NO_HARDWIRED_TOPOLOGY" ))
5577
5577
return -1 ;
@@ -5625,7 +5625,7 @@ static void
5625
5625
hwloc_linux_fallback_pu_level (struct hwloc_backend * backend )
5626
5626
{
5627
5627
struct hwloc_topology * topology = backend -> topology ;
5628
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
5628
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
5629
5629
5630
5630
if (data -> fallback_nbprocessors >= 1 )
5631
5631
topology -> support .discovery -> pu = 1 ;
@@ -5730,7 +5730,7 @@ hwloc_linuxfs_look_cpu(struct hwloc_backend *backend, struct hwloc_disc_status *
5730
5730
*/
5731
5731
5732
5732
struct hwloc_topology * topology = backend -> topology ;
5733
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
5733
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
5734
5734
unsigned nbnodes ;
5735
5735
char * cpuset_name = NULL ;
5736
5736
struct hwloc_linux_cpuinfo_proc * Lprocs = NULL ;
@@ -5895,7 +5895,7 @@ static int
5895
5895
hwloc_linux_backend_get_pci_busid_cpuset (struct hwloc_backend * backend ,
5896
5896
struct hwloc_pcidev_attr_s * busid , hwloc_bitmap_t cpuset )
5897
5897
{
5898
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
5898
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
5899
5899
char path [256 ];
5900
5900
int err ;
5901
5901
@@ -6068,7 +6068,7 @@ hwloc_linuxfs_block_class_fillinfos(struct hwloc_backend *backend __hwloc_attrib
6068
6068
struct hwloc_obj * obj , const char * osdevpath )
6069
6069
{
6070
6070
#ifdef HWLOC_HAVE_LIBUDEV
6071
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6071
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6072
6072
#endif
6073
6073
FILE * file ;
6074
6074
char path [296 ]; /* osdevpath <= 256 */
@@ -6238,7 +6238,7 @@ hwloc_linuxfs_block_class_fillinfos(struct hwloc_backend *backend __hwloc_attrib
6238
6238
static int
6239
6239
hwloc_linuxfs_lookup_block_class (struct hwloc_backend * backend , unsigned osdev_flags )
6240
6240
{
6241
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6241
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6242
6242
int root_fd = data -> root_fd ;
6243
6243
DIR * dir ;
6244
6244
struct dirent * dirent ;
@@ -6319,7 +6319,7 @@ hwloc_linuxfs_dax_class_fillinfos(struct hwloc_backend *backend __hwloc_attribut
6319
6319
static int
6320
6320
hwloc_linuxfs_lookup_dax_class (struct hwloc_backend * backend , unsigned osdev_flags )
6321
6321
{
6322
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6322
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6323
6323
int root_fd = data -> root_fd ;
6324
6324
DIR * dir ;
6325
6325
struct dirent * dirent ;
@@ -6407,7 +6407,7 @@ hwloc_linuxfs_net_class_fillinfos(int root_fd,
6407
6407
static int
6408
6408
hwloc_linuxfs_lookup_net_class (struct hwloc_backend * backend , unsigned osdev_flags )
6409
6409
{
6410
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6410
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6411
6411
int root_fd = data -> root_fd ;
6412
6412
DIR * dir ;
6413
6413
struct dirent * dirent ;
@@ -6524,7 +6524,7 @@ hwloc_linuxfs_infiniband_class_fillinfos(int root_fd,
6524
6524
static int
6525
6525
hwloc_linuxfs_lookup_infiniband_class (struct hwloc_backend * backend , unsigned osdev_flags )
6526
6526
{
6527
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6527
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6528
6528
int root_fd = data -> root_fd ;
6529
6529
DIR * dir ;
6530
6530
struct dirent * dirent ;
@@ -6582,7 +6582,7 @@ hwloc_linuxfs_bxi_class_fillinfos(int root_fd,
6582
6582
static int
6583
6583
hwloc_linuxfs_lookup_bxi_class (struct hwloc_backend * backend , unsigned osdev_flags )
6584
6584
{
6585
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6585
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6586
6586
int root_fd = data -> root_fd ;
6587
6587
DIR * dir ;
6588
6588
struct dirent * dirent ;
@@ -6693,7 +6693,7 @@ hwloc_linuxfs_ve_class_fillinfos(int root_fd,
6693
6693
static int
6694
6694
hwloc_linuxfs_lookup_ve_class (struct hwloc_backend * backend , unsigned osdev_flags )
6695
6695
{
6696
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6696
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6697
6697
int root_fd = data -> root_fd ;
6698
6698
DIR * dir ;
6699
6699
struct dirent * dirent ;
@@ -6730,7 +6730,7 @@ hwloc_linuxfs_lookup_ve_class(struct hwloc_backend *backend, unsigned osdev_flag
6730
6730
static int
6731
6731
hwloc_linuxfs_lookup_drm_class (struct hwloc_backend * backend , unsigned osdev_flags )
6732
6732
{
6733
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6733
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6734
6734
int root_fd = data -> root_fd ;
6735
6735
DIR * dir ;
6736
6736
struct dirent * dirent ;
@@ -6785,7 +6785,7 @@ hwloc_linuxfs_lookup_drm_class(struct hwloc_backend *backend, unsigned osdev_fla
6785
6785
static int
6786
6786
hwloc_linuxfs_lookup_dma_class (struct hwloc_backend * backend , unsigned osdev_flags )
6787
6787
{
6788
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6788
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6789
6789
int root_fd = data -> root_fd ;
6790
6790
DIR * dir ;
6791
6791
struct dirent * dirent ;
@@ -6846,7 +6846,7 @@ hwloc_linuxfs_cxlmem_fillinfos(int root_fd,
6846
6846
static int
6847
6847
hwloc_linuxfs_lookup_cxlmem (struct hwloc_backend * backend , unsigned osdev_flags )
6848
6848
{
6849
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
6849
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
6850
6850
int root_fd = data -> root_fd ;
6851
6851
DIR * dir ;
6852
6852
struct dirent * dirent ;
@@ -7066,7 +7066,7 @@ hwloc__get_firmware_dmi_memory_info(struct hwloc_topology *topology,
7066
7066
static int
7067
7067
hwloc_linuxfs_pci_look_pcidevices (struct hwloc_backend * backend )
7068
7068
{
7069
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
7069
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
7070
7070
struct hwloc_topology * topology = backend -> topology ;
7071
7071
hwloc_obj_t tree = NULL ;
7072
7072
int root_fd = data -> root_fd ;
@@ -7234,7 +7234,7 @@ static int
7234
7234
hwloc_linuxfs_pci_look_pcislots (struct hwloc_backend * backend )
7235
7235
{
7236
7236
struct hwloc_topology * topology = backend -> topology ;
7237
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
7237
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
7238
7238
int root_fd = data -> root_fd ;
7239
7239
DIR * dir ;
7240
7240
struct dirent * dirent ;
@@ -7349,7 +7349,7 @@ hwloc_look_linuxfs(struct hwloc_backend *backend, struct hwloc_disc_status *dsta
7349
7349
7350
7350
if (dstatus -> phase == HWLOC_DISC_PHASE_MISC
7351
7351
&& mfilter != HWLOC_TYPE_FILTER_KEEP_NONE ) {
7352
- hwloc__get_firmware_dmi_memory_info (topology , backend -> private_data );
7352
+ hwloc__get_firmware_dmi_memory_info (topology , HWLOC_BACKEND_PRIVATE_DATA ( backend ) );
7353
7353
}
7354
7354
#endif /* HWLOC_HAVE_LINUXIO */
7355
7355
@@ -7363,7 +7363,7 @@ hwloc_look_linuxfs(struct hwloc_backend *backend, struct hwloc_disc_status *dsta
7363
7363
static void
7364
7364
hwloc_linux_backend_disable (struct hwloc_backend * backend )
7365
7365
{
7366
- struct hwloc_linux_backend_data_s * data = backend -> private_data ;
7366
+ struct hwloc_linux_backend_data_s * data = HWLOC_BACKEND_PRIVATE_DATA ( backend ) ;
7367
7367
#ifdef HAVE_OPENAT
7368
7368
if (data -> root_fd >= 0 ) {
7369
7369
free (data -> root_path );
@@ -7374,7 +7374,6 @@ hwloc_linux_backend_disable(struct hwloc_backend *backend)
7374
7374
if (data -> udev )
7375
7375
udev_unref (data -> udev );
7376
7376
#endif
7377
- free (data );
7378
7377
}
7379
7378
7380
7379
static struct hwloc_backend *
@@ -7391,17 +7390,12 @@ hwloc_linux_component_instantiate(struct hwloc_topology *topology,
7391
7390
int root = -1 ;
7392
7391
char * env ;
7393
7392
7394
- backend = hwloc_backend_alloc (topology , component );
7393
+ backend = hwloc_backend_alloc (topology , component , sizeof ( struct hwloc_linux_backend_data_s ) );
7395
7394
if (!backend )
7396
7395
goto out ;
7397
7396
7398
- data = malloc (sizeof (* data ));
7399
- if (!data ) {
7400
- errno = ENOMEM ;
7401
- goto out_with_backend ;
7402
- }
7397
+ data = HWLOC_BACKEND_PRIVATE_DATA (backend );
7403
7398
7404
- backend -> private_data = data ;
7405
7399
backend -> discover = hwloc_look_linuxfs ;
7406
7400
backend -> get_pci_busid_cpuset = hwloc_linux_backend_get_pci_busid_cpuset ;
7407
7401
backend -> disable = hwloc_linux_backend_disable ;
@@ -7476,8 +7470,6 @@ hwloc_linux_component_instantiate(struct hwloc_topology *topology,
7476
7470
#ifdef HAVE_OPENAT
7477
7471
free (data -> root_path );
7478
7472
#endif
7479
- free (data );
7480
- out_with_backend :
7481
7473
free (backend );
7482
7474
out :
7483
7475
return NULL ;
0 commit comments