[PATCH] staging/pohmelfs: fix kconfig dependencies

From: Randy Dunlap
Date: Wed Feb 18 2009 - 16:01:26 EST


From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>

pohmelfs wants to use CONNECTOR, so it selects CONNECTOR,
but when CONFIG_NET is not enabled, connector.c will not build,
since select does not follow the dependency chain.
Selecting NET is not a good idea, since that would build lots
of code that someone seemingly didn't want to build/store
and kconfig shouldn't do that behind someone's back.

pohmelfs should depend on NET since it uses network interfaces.

pohmelfs also uses CRYTPO and selects 2 cipher symbols, but
it should also select the top-level CRYPTO symbol since
kconfig dependency chains are not followed.
(found by inspection)
This allows the POHMELFS_CRYPTO option to depend only on
POHMELFS and makes the kconfig menu align properly.

Also fix minor typos & line lengths in kconfig help text.
Drop CONFIG_* in kconfig symbols in Kconfig file.


connector.c:(.text+0x46003): undefined reference to `kfree_skb'
connector.c:(.text+0x460a6): undefined reference to `kfree_skb'
connector.c:(.text+0x4612b): undefined reference to `kfree_skb'
(.text+0x4624f): undefined reference to `netlink_has_listeners'
(.text+0x4629b): undefined reference to `__alloc_skb'
(.text+0x462ea): undefined reference to `kfree_skb'
(.text+0x46308): undefined reference to `skb_put'
(.text+0x46385): undefined reference to `netlink_broadcast'
(.text+0x7b574): undefined reference to `sock_release'
(.text+0x7b8dd): undefined reference to `sock_create'
(.text+0x7b984): undefined reference to `kernel_connect'
(.text+0x7ba4c): undefined reference to `sock_release'
net.c:(.text+0x7bda4): undefined reference to `kernel_recvmsg'
(.text+0x7ef42): undefined reference to `kernel_sendmsg'
(.text+0x7f057): undefined reference to `kernel_sendpage'
(.text+0x7f1e8): undefined reference to `kernel_sendmsg'
connector.c:(.devinit.text+0x5b): undefined reference to `init_net'
connector.c:(.devinit.text+0x60): undefined reference to `netlink_kernel_create'
connector.c:(.devinit.text+0xc9): undefined reference to `netlink_kernel_release'
connector.c:(.devexit.text+0x2c): undefined reference to `netlink_kernel_release'

Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
cc: Evgeniy Polyakov <zbr@xxxxxxxxxxx>
---
drivers/staging/pohmelfs/Kconfig | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)

--- mmotm-2009-0217-1233.orig/drivers/staging/pohmelfs/Kconfig
+++ mmotm-2009-0217-1233/drivers/staging/pohmelfs/Kconfig
@@ -1,12 +1,14 @@
config POHMELFS
tristate "POHMELFS filesystem support"
+ depends on NET
select CONNECTOR
+ select CRYPTO
select CRYPTO_BLKCIPHER
select CRYPTO_HMAC
help
- POHMELFS stands for Parallel Optimized Host Message Exchange Layered File System.
- This is a network filesystem which supports coherent caching of data and metadata
- on clients.
+ POHMELFS stands for Parallel Optimized Host Message Exchange Layered
+ File System. This is a network filesystem which supports coherent
+ caching of data and metadata on clients.

config POHMELFS_DEBUG
bool "POHMELFS debugging"
@@ -14,12 +16,13 @@ config POHMELFS_DEBUG
default n
help
Turns on excessive POHMELFS debugging facilities.
- You usually do not want to slow things down noticebly and get really lots of kernel
- messages in syslog.
+ You usually do not want to slow things down noticeably and get really
+ lots of kernel messages in syslog.

config POHMELFS_CRYPTO
bool "POHMELFS crypto support"
- depends on CONFIG_CRYPTO_BLKCIPHER && CONFIG_CRYPTO_HASH
+ depends on POHMELFS
help
- This option allows to encrypt and/or protect with strong cryptographic hash all dataflow
- between server and clients. Each config group can have own keys.
+ This option allows to encrypt and/or protect with strong
+ cryptographic hash all dataflow between server and clients.
+ Each config group can have its own keys.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/