Search Linux Wireless

Re: [PATCH -mm] rt2x00: fix Kconfig dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ivo,

Ivo van Doorn wrote:
Ivo, please explain what rt2x00 module(s) you want to be built. In English
if possible, not in Kconfig language...

There are 3 kind of rt2x00 modules:
	rt2x00lib
	rt2x00pci/usb
	rt2x00 driver (rt2400pci, rt2500pci, rt61pci, rt2500usb, rt73usb)

When the user selects any of the rt2x00 drivers, the rt2x00pci/usb and rt2x00lib
are selected. For rt2x00lib there are some additional configuration options like
RT2X00_LIB_RFKILL and RT2X00_LIB_LEDS which will build into rt2x00lib.

This means that when rt2400pci is selected as module, rt2x00pci and rt2x00lib
must be built as modules as well and when rt2400pci is selected as buildin
rt2x00pci and rt2x00lib must be buildin as well.

But with the optional rt2x00lib configuration options the breakage you reported
is possible. So we either need:
	1) Force rt2x00lib / driver to be compiled as module when RFKILL/LEDS were
	    compiled as module
	2) Disable config option when invalid config combination is found

Personally I would favor 1), because 2) could lead to confusion to users
who think they selected everything they needed to enable support for it in
rt2x00.

Find attached a patch that implements option 2, along with adding a warning to the user when rfkill support in rt2x00 is disabled due to the invalid config combination. I've looked at implementing option 1, but couldn't find a way to do it without disabling the entire rt2x00 module when rfkill wasn't available.

I guess we can live with this option for now, until we have figured out how to do option 1.

---
Gertjan.
>From bcdd7594bf24a813387c908198de4d74906d196a Mon Sep 17 00:00:00 2001
From: Gertjan van Wingerde <gwingerde@xxxxxxxxxxxx>
Date: Sun, 28 Sep 2008 10:53:46 +0200
Subject: [PATCH] rt2x00: Fix build errors due to modularized RFKILL and built-in rt2x00.

Fix by disabling rt2x00 rfkill support when rt2x00 is built-in and RFKILL has been modularized.
Also, give a warning to the end-user when rfkill-support is supported this way, so that the end-user
has at least some clues on what is going on.

Signed-off-by: Gertjan van Wingerde <gwingerde@xxxxxxxxxxxx>
---
 drivers/net/wireless/rt2x00/Kconfig |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
index b686dc4..64c94d7 100644
--- a/drivers/net/wireless/rt2x00/Kconfig
+++ b/drivers/net/wireless/rt2x00/Kconfig
@@ -39,9 +39,10 @@ config RT2X00_LIB_CRYPTO
 
 config RT2X00_LIB_RFKILL
 	boolean
-	depends on RT2X00_LIB
-	depends on RFKILL
-	default y
+	default y if (RT2X00=y && RFKILL=y) || (RT2X00=m && RFKILL!=n)
+
+comment "rt2x00 rfkill support disabled due to modularized RFKILL and built-in rt2x00"
+	depends on RT2X00=y && RFKILL=m
 
 config RT2X00_LIB_LEDS
 	boolean
-- 
1.5.6.5


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux