2009-01-02 18:40:18

by Jaswinder Singh

[permalink] [raw]
Subject: Re: tip - Solution of ath9k: turn off temporarily (66b5c4a2c638b5a69d3e41abe4a2bae55035a92e)

On Fri, Jan 2, 2009 at 11:37 PM, Ingo Molnar <[email protected]> wrote:
>
> * Jaswinder Singh Rajput <[email protected]> wrote:
>
>> Hello Ingo,
>>
>> If you choose :
>> CONFIG_RFKILL=m
>> CONFIG_ATH9K=y
>>
>> It will give linking error because ATH9K need RFKILL functions.
>>
>> But if you choose :
>> CONFIG_RFKILL=y
>> CONFIG_ATH9K=y
>>
>> OR
>>
>> CONFIG_RFKILL=m
>> CONFIG_ATH9K=m
>>
>> It is OK.
>
> this was just a quick hatchet job to make the build regression go away.
> Would you like to send a real fix, with the wireless list and maintainers
> Cc-ed? Then i can revert the hack below from tip/out-of-tree.
>
> ngo
>
> ------------------>
> From 66b5c4a2c638b5a69d3e41abe4a2bae55035a92e Mon Sep 17 00:00:00 2001
> From: Ingo Molnar <[email protected]>
> Date: Fri, 2 Jan 2009 16:04:03 +0100
> Subject: [PATCH] ath9k: turn off temporarily
>
> Impact: fix build failure
>
> ath9k fails to build:
>
> drivers/built-in.o: In function `ath_detach':
> main.c:(.text+0x16720b): undefined reference to `rfkill_unregister'
> drivers/built-in.o: In function `ath_rfkill_poll':
> main.c:(.text+0x167801): undefined reference to `rfkill_force_state'
> drivers/built-in.o: In function `ath9k_start':
> main.c:(.text+0x167f01): undefined reference to `rfkill_register'
> main.c:(.text+0x167f11): undefined reference to `rfkill_free'
> drivers/built-in.o: In function `ath_pci_probe':
> main.c:(.text+0x169754): undefined reference to `rfkill_allocate'
>
> when:
>
> CONFIG_RFKILL=m
> CONFIG_ATH9K=y
> ---
> drivers/net/wireless/ath9k/Kconfig | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/ath9k/Kconfig
> index c43bd32..b849a45 100644
> --- a/drivers/net/wireless/ath9k/Kconfig
> +++ b/drivers/net/wireless/ath9k/Kconfig
> @@ -1,6 +1,8 @@
> config ATH9K
> tristate "Atheros 802.11n wireless cards support"
> depends on PCI && MAC80211 && WLAN_80211
> + # build failures
> + depends on 0
> select MAC80211_LEDS
> select LEDS_CLASS
> select NEW_LEDS
>

OK , I CCed to wireless and lets wait for solution :-)

JSR


2009-01-05 11:51:52

by Jouni Malinen

[permalink] [raw]
Subject: [PATCH] ath9k: Enforce module build if rfkill is a module

CONFIG_ATH9K=y results in build issues if CONFIG_RFKILL=m since ath9k
does not depend on rfkill in kconfig (i.e., CONFIG_RFKILL is used to
select whether to enable rfkill in ath9k), but uses its functions if
rfkill is enabled. Enforce ath9k to be build as a module if
CONFIG_RFKILL=m to avoid this invalid configuration.

Signed-off-by: Jouni Malinen <[email protected]>

---
drivers/net/wireless/ath9k/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- wireless-testing.orig/drivers/net/wireless/ath9k/Kconfig 2009-01-05 13:27:01.000000000 +0200
+++ wireless-testing/drivers/net/wireless/ath9k/Kconfig 2009-01-05 13:36:27.000000000 +0200
@@ -1,6 +1,7 @@
config ATH9K
tristate "Atheros 802.11n wireless cards support"
depends on PCI && MAC80211 && WLAN_80211
+ depends on RFKILL || RFKILL=n
select MAC80211_LEDS
select LEDS_CLASS
select NEW_LEDS

--
Jouni Malinen PGP id EFC895FA

2009-01-05 14:04:29

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Enforce module build if rfkill is a module


* Jouni Malinen <[email protected]> wrote:

> CONFIG_ATH9K=y results in build issues if CONFIG_RFKILL=m since ath9k
> does not depend on rfkill in kconfig (i.e., CONFIG_RFKILL is used to
> select whether to enable rfkill in ath9k), but uses its functions if
> rfkill is enabled. Enforce ath9k to be build as a module if
> CONFIG_RFKILL=m to avoid this invalid configuration.
>
> Signed-off-by: Jouni Malinen <[email protected]>
>
> ---
> drivers/net/wireless/ath9k/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- wireless-testing.orig/drivers/net/wireless/ath9k/Kconfig 2009-01-05 13:27:01.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/ath9k/Kconfig 2009-01-05 13:36:27.000000000 +0200
> @@ -1,6 +1,7 @@
> config ATH9K
> tristate "Atheros 802.11n wireless cards support"
> depends on PCI && MAC80211 && WLAN_80211
> + depends on RFKILL || RFKILL=n
> select MAC80211_LEDS
> select LEDS_CLASS
> select NEW_LEDS

thanks - i'll let you know if there's still any build failures in this
area. (Sidenote: next time around please also add a Reported-by line
crediting bugreporters. Doesnt matter to me but matters to contributors
and testers in general.)

Ingo

2009-01-02 19:58:22

by Ingo Molnar

[permalink] [raw]
Subject: Re: tip - Solution of ath9k: turn off temporarily (66b5c4a2c638b5a69d3e41abe4a2bae55035a92e)


* H. Peter Anvin <[email protected]> wrote:

> Jaswinder Singh Rajput wrote:
> >>
> >> diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/ath9k/Kconfig
> >> index c43bd32..b849a45 100644
> >> --- a/drivers/net/wireless/ath9k/Kconfig
> >> +++ b/drivers/net/wireless/ath9k/Kconfig
> >> @@ -1,6 +1,8 @@
> >> config ATH9K
> >> tristate "Atheros 802.11n wireless cards support"
> >> depends on PCI && MAC80211 && WLAN_80211
> >> + # build failures
> >> + depends on 0
> >> select MAC80211_LEDS
> >> select LEDS_CLASS
> >> select NEW_LEDS
> >>
> >
>
> I thought the proper way to do this was "depends on BROKEN"...

this was just a temporary hack to work around a mild regression in -git
that i'm sure will be sorted out in short order (if it has not been
already).

CONFIG_BROKEN is a much different category: it blacklists ridiculously
stale or mortally broken features/drivers, as a last warning before they
get removed for good. I dont use it in such temporary, not-for-upstream
testing hacks (even though the end result is obviously the same as
'depends on 0') - i didnt even have time to properly report the build
breakage.

Ingo

2009-01-02 19:36:24

by H. Peter Anvin

[permalink] [raw]
Subject: Re: tip - Solution of ath9k: turn off temporarily (66b5c4a2c638b5a69d3e41abe4a2bae55035a92e)

Jaswinder Singh Rajput wrote:
>>
>> diff --git a/drivers/net/wireless/ath9k/Kconfig b/drivers/net/wireless/ath9k/Kconfig
>> index c43bd32..b849a45 100644
>> --- a/drivers/net/wireless/ath9k/Kconfig
>> +++ b/drivers/net/wireless/ath9k/Kconfig
>> @@ -1,6 +1,8 @@
>> config ATH9K
>> tristate "Atheros 802.11n wireless cards support"
>> depends on PCI && MAC80211 && WLAN_80211
>> + # build failures
>> + depends on 0
>> select MAC80211_LEDS
>> select LEDS_CLASS
>> select NEW_LEDS
>>
>

I thought the proper way to do this was "depends on BROKEN"...

-hpa