Thread (13 messages) 13 messages, 6 authors, 2008-06-07

Re: [PATCH 2/3] [2.6.26] ehea: Add dependency to Kconfig

From: Badari Pulavarty <hidden>
Date: 2008-06-03 21:09:38
Also in: linuxppc-dev, lkml

On Tue, 2008-06-03 at 15:49 -0500, Nathan Lynch wrote:
Hannes Hering wrote:
quoted
On Wednesday 28 May 2008 18:44:05 Nathan Lynch wrote:
quoted
Hannes Hering wrote:
quoted
The new ehea memory hot plug implementation depends on MEMORY_HOTPLUG.

Signed-off-by: Hannes Hering <redacted>
---
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index f90a86b..181cd86 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2440,7 +2440,7 @@ config CHELSIO_T3
 
 config EHEA
 	tristate "eHEA Ethernet support"
-	depends on IBMEBUS && INET && SPARSEMEM
+	depends on IBMEBUS && INET && SPARSEMEM && MEMORY_HOTPLUG
 	select INET_LRO
 	---help---
 	  This driver supports the IBM pSeries eHEA ethernet adapter.
I disagree with this change.

It makes it impossible to build the ehea driver without memory hotplug
enabled.  Presumably, this commit was intended to work around a build
break of this sort (with EHEA=m and MEMORY_HOTPLUG=n):

drivers/net/ehea/ehea_qmr.c: In function 'ehea_create_busmap':
drivers/net/ehea/ehea_qmr.c:635: error: implicit declaration of function 'walk_memory_resource'

(some indication of this should have been in the commit message, btw)

I think this was the wrong way to fix the issue.  EHEA=m and
MEMORY_HOTPLUG=n is a valid configuration for machines I test.

Any thoughts on the following, which makes walk_memory_resource()
available regardless of MEMORY_HOTPLUG's setting?  I've tested it on a
JS22 (Power6 blade).
I agree that the ehea cannot be built without MEMORY_HOTPLUG. The
problem is the fact that the ppc walk_memory_resource declaration is
in the scope of MEMORY_HOTPLUG. At the moment I don't have complete
overview if the move of the code as you propose in your patch has
any side effects. We probably need to talk to Badari who provided
the walk_memory_resource code. We can also just throw it onto one of
our boxes to see what happens. ;)
I would certainly appreciate any additional testing.
I think we can make walk_memory_resource() for ppc64 available
outside of MEMORY_HOTPLUG. It doesn't require any MEMORY_HOTPLUG
functionality to work correctly. Its a generic enough interface.
Only reason I placed it under MEMORY_HOTPLUG is to have parity
with the arch-independent version + we needed for eHEA driver whic
needs MEMORY_HOTPLUG.
You wrote the ehea code that uses walk_memory_resource, so I was
hoping you could speak to whether ehea needs that interface when
CONFIG_MEMORY_HOTPLUG=n.  Or maybe there should be a no-op version of
walk_memory_resource for that case?  And what about the
arch-independent version in kernel/resource.c?  Badari?

I would leave the arch-independent version alone - since its not
exported and there are no users for it.
It would be nice to get this resolved for 2.6.26 -- this new
dependency causes working 2.6.25 configs to effectively fail (by
deselecting CONFIG_EHEA during make oldconfig).
Thanks,
Badari
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help