@@ -68,6 +68,10 @@ struct group_device {
68
68
char * name ;
69
69
};
70
70
71
+ /* Iterate over each struct group_device in a struct iommu_group */
72
+ #define for_each_group_device (group , pos ) \
73
+ list_for_each_entry(pos, &(group)->devices, list)
74
+
71
75
struct iommu_group_attribute {
72
76
struct attribute attr ;
73
77
ssize_t (* show )(struct iommu_group * group , char * buf );
@@ -468,7 +472,7 @@ __iommu_group_remove_device(struct iommu_group *group, struct device *dev)
468
472
struct group_device * device ;
469
473
470
474
lockdep_assert_held (& group -> mutex );
471
- list_for_each_entry ( device , & group -> devices , list ) {
475
+ for_each_group_device ( group , device ) {
472
476
if (device -> dev == dev ) {
473
477
list_del (& device -> list );
474
478
return device ;
@@ -707,7 +711,7 @@ int iommu_get_group_resv_regions(struct iommu_group *group,
707
711
int ret = 0 ;
708
712
709
713
mutex_lock (& group -> mutex );
710
- list_for_each_entry ( device , & group -> devices , list ) {
714
+ for_each_group_device ( group , device ) {
711
715
struct list_head dev_resv_regions ;
712
716
713
717
/*
@@ -1131,7 +1135,7 @@ static int __iommu_group_for_each_dev(struct iommu_group *group, void *data,
1131
1135
struct group_device * device ;
1132
1136
int ret = 0 ;
1133
1137
1134
- list_for_each_entry ( device , & group -> devices , list ) {
1138
+ for_each_group_device ( group , device ) {
1135
1139
ret = fn (device -> dev , data );
1136
1140
if (ret )
1137
1141
break ;
@@ -1935,7 +1939,7 @@ bool iommu_group_has_isolated_msi(struct iommu_group *group)
1935
1939
bool ret = true;
1936
1940
1937
1941
mutex_lock (& group -> mutex );
1938
- list_for_each_entry ( group_dev , & group -> devices , list )
1942
+ for_each_group_device ( group , group_dev )
1939
1943
ret &= msi_device_has_isolated_msi (group_dev -> dev );
1940
1944
mutex_unlock (& group -> mutex );
1941
1945
return ret ;
@@ -3243,7 +3247,7 @@ static int __iommu_set_group_pasid(struct iommu_domain *domain,
3243
3247
struct group_device * device ;
3244
3248
int ret = 0 ;
3245
3249
3246
- list_for_each_entry ( device , & group -> devices , list ) {
3250
+ for_each_group_device ( group , device ) {
3247
3251
ret = domain -> ops -> set_dev_pasid (domain , device -> dev , pasid );
3248
3252
if (ret )
3249
3253
break ;
@@ -3258,7 +3262,7 @@ static void __iommu_remove_group_pasid(struct iommu_group *group,
3258
3262
struct group_device * device ;
3259
3263
const struct iommu_ops * ops ;
3260
3264
3261
- list_for_each_entry ( device , & group -> devices , list ) {
3265
+ for_each_group_device ( group , device ) {
3262
3266
ops = dev_iommu_ops (device -> dev );
3263
3267
ops -> remove_dev_pasid (device -> dev , pasid );
3264
3268
}
0 commit comments