Skip to contentSkip to conversation

iommu-common build warning fixes.

PATCH In review Sowmini Varadhan 3 participants 6 messages Apr 19, 2015 – Apr 20, 2015 Library code

lore
Share & tools
lore
#0 lore raw

cover iommu-common build warning fixes.

This patchset has fixes for 2 architectures
- Part 1: x86_64 warnings generated by sparse
- Part 2: allmodconfig build error for powerpc, identified by Guenter Roeck.

Sowmini Varadhan (2):
fix x86_64 sparse warnings
rename iommu_pool_hash to iommu_hash_common

 lib/iommu-common.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
#1 lore raw

PATCH 1/2 iommu-common: fix x86_64 compiler warnings

Declare iommu_large_alloc as static. Remove extern definition for iommu_tbl_pool_init().

---
 lib/iommu-common.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
lib/iommu-common.c +7 -7
index a1a517c..a9a53f5 100644
@@ -15,7 +15,7 @@
 #define	DMA_ERROR_CODE (~(dma_addr_t)0x0)
 #endif
 
-unsigned long iommu_large_alloc = 15;
+static unsigned long iommu_large_alloc = 15;
 
 static	DEFINE_PER_CPU(unsigned int, iommu_pool_hash);
 
@@ -53,12 +53,12 @@ static void setup_iommu_pool_hash(void)
  * the top 1/4 of the table will be set aside for pool allocations
  * of more than iommu_large_alloc pages.
  */
-extern void iommu_tbl_pool_init(struct iommu_map_table *iommu,
-				unsigned long num_entries,
-				u32 table_shift,
-				void (*lazy_flush)(struct iommu_map_table *),
-				bool large_pool, u32 npools,
-				bool skip_span_boundary_check)
+void iommu_tbl_pool_init(struct iommu_map_table *iommu,
+			 unsigned long num_entries,
+			 u32 table_shift,
+			 void (*lazy_flush)(struct iommu_map_table *),
+			 bool large_pool, u32 npools,
+			 bool skip_span_boundary_check)
 {
 	unsigned int start, i;
 	struct iommu_pool *p = &(iommu->large_pool);
Signature · 1 line
1.7.1
#3 lore raw

PATCH 2/2 iommu-common: rename iommu_pool_hash to iommu_hash_common

In reply to Sowmini Varadhan

When CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set, the DEFINE_PER_CPU_SECTION macro will define an extern __pcpu_unique_##name variable that could conflict with the same definition in powerpc at this time. Avoid that conflict by renaming iommu_pool_hash in iommu-common.c

Thanks to Guenter Roeck for catching this, and helping to test the fix.

---
 lib/iommu-common.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
lib/iommu-common.c +3 -3
index a9a53f5..df30632 100644
@@ -17,7 +17,7 @@
 
 static unsigned long iommu_large_alloc = 15;
 
-static	DEFINE_PER_CPU(unsigned int, iommu_pool_hash);
+static	DEFINE_PER_CPU(unsigned int, iommu_hash_common);
 
 static inline bool need_flush(struct iommu_map_table *iommu)
 {
@@ -44,7 +44,7 @@ static void setup_iommu_pool_hash(void)
 		return;
 	do_once = true;
 	for_each_possible_cpu(i)
-		per_cpu(iommu_pool_hash, i) = hash_32(i, IOMMU_POOL_HASHBITS);
+		per_cpu(iommu_hash_common, i) = hash_32(i, IOMMU_POOL_HASHBITS);
 }
 
 /*
@@ -106,7 +106,7 @@ unsigned long iommu_tbl_range_alloc(struct device *dev,
 				unsigned long mask,
 				unsigned int align_order)
 {
-	unsigned int pool_hash = __this_cpu_read(iommu_pool_hash);
+	unsigned int pool_hash = __this_cpu_read(iommu_hash_common);
 	unsigned long n, end, start, limit, boundary_size;
 	struct iommu_pool *pool;
 	int pass = 0;
Signature · 1 line
1.7.1
Tested-by Reviewed-by on v1 2/2
#4 lore raw

Re: [PATCH 2/2] iommu-common: rename iommu_pool_hash to iommu_hash_common

Quoted 8 lines · Sowmini Varadhan

When CONFIG_DEBUG_FORCE_WEAK_PER_CPU is set, the DEFINE_PER_CPU_SECTION macro will define an extern __pcpu_unique_##name variable that could conflict with the same definition in powerpc at this time. Avoid that conflict by renaming iommu_pool_hash in iommu-common.c

Thanks to Guenter Roeck for catching this, and helping to test the fix.

#5 lore raw
In reply to Sowmini Varadhan

From: Sowmini Varadhan <[email protected]>
Date: Sun, 19 Apr 2015 13:13:29 -0400

Quoted 3 lines

This patchset has fixes for 2 architectures
- Part 1: x86_64 warnings generated by sparse
- Part 2: allmodconfig build error for powerpc, identified by Guenter Roeck.

Series applied, thank you.