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