From randy.dunlap@oracle.com Wed Feb 18 15:57:45 2009 From: Randy Dunlap Date: Wed, 18 Feb 2009 13:01:34 -0800 Subject: Staging: pohmelfs: fix kconfig dependencies Cc: gregkh@suse.de, akpm , Evgeniy Polyakov Message-ID: <20090218130134.b453d1c3.randy.dunlap@oracle.com> From: Randy Dunlap 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 Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman --- drivers/staging/pohmelfs/Kconfig | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) --- a/drivers/staging/pohmelfs/Kconfig +++ b/drivers/staging/pohmelfs/Kconfig @@ -1,13 +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" @@ -15,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.