2015-04-19 17:13:58

by Sowmini Varadhan

[permalink] [raw]
Subject: [PATCH 0/2] 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(-)


2015-04-19 17:13:54

by Sowmini Varadhan

[permalink] [raw]
Subject: [PATCH 1/2] iommu-common: fix x86_64 compiler warnings

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

Signed-off-by: Sowmini Varadhan <[email protected]>
---
lib/iommu-common.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/iommu-common.c b/lib/iommu-common.c
index a1a517c..a9a53f5 100644
--- a/lib/iommu-common.c
+++ b/lib/iommu-common.c
@@ -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);
--
1.7.1

2015-04-19 17:14:21

by Sowmini Varadhan

[permalink] [raw]
Subject: [PATCH 2/2] iommu-common: rename iommu_pool_hash to iommu_hash_common

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.

Signed-off-by: Sowmini Varadhan <[email protected]>
---
lib/iommu-common.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/iommu-common.c b/lib/iommu-common.c
index a9a53f5..df30632 100644
--- a/lib/iommu-common.c
+++ b/lib/iommu-common.c
@@ -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;
--
1.7.1

2015-04-20 00:48:14

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 1/2] iommu-common: fix x86_64 compiler warnings

On 04/19/2015 10:13 AM, Sowmini Varadhan wrote:
> Declare iommu_large_alloc as static. Remove extern definition for
> iommu_tbl_pool_init().
>
> Signed-off-by: Sowmini Varadhan <[email protected]>

Tested-by: Guenter Roeck <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>

2015-04-20 00:50:25

by Guenter Roeck

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

On 04/19/2015 10:13 AM, Sowmini Varadhan wrote:
> 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.
>
> Signed-off-by: Sowmini Varadhan <[email protected]>

Tested-by: Guenter Roeck <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>

2015-04-20 18:10:22

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 0/2] iommu-common build warning fixes.

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

> 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.