2012-05-21 08:37:30

by Alex Hung

[permalink] [raw]
Subject: [PATCH] rfkill: Add handling when rfkill's type is RFKILL_TYPE_ALL.

This rfkill type is supposed to be able to toggles the status of all wireless
devices; however, no wireless devices will register itself with type
RFKILL_TYPE_ALL and thus it was previously ignored in __rfkill_switch_all.

Signed-off-by: Alex Hung <[email protected]>
---
net/rfkill/core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/rfkill/core.c b/net/rfkill/core.c
index 5be1957..84dd71a 100644
--- a/net/rfkill/core.c
+++ b/net/rfkill/core.c
@@ -324,7 +324,7 @@ static void __rfkill_switch_all(const enum rfkill_type type, bool blocked)

rfkill_global_states[type].cur = blocked;
list_for_each_entry(rfkill, &rfkill_list, node) {
- if (rfkill->type != type)
+ if (rfkill->type != type && type != RFKILL_TYPE_ALL)
continue;

rfkill_set_block(rfkill, blocked);
--
1.7.0.4



2012-05-22 18:47:11

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] rfkill: Add handling when rfkill's type is RFKILL_TYPE_ALL.

On Mon, 2012-05-21 at 16:37 +0800, Alex Hung wrote:
> This rfkill type is supposed to be able to toggles the status of all wireless
> devices; however, no wireless devices will register itself with type
> RFKILL_TYPE_ALL and thus it was previously ignored in __rfkill_switch_all.
>
> Signed-off-by: Alex Hung <[email protected]>
> ---
> net/rfkill/core.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/rfkill/core.c b/net/rfkill/core.c
> index 5be1957..84dd71a 100644
> --- a/net/rfkill/core.c
> +++ b/net/rfkill/core.c
> @@ -324,7 +324,7 @@ static void __rfkill_switch_all(const enum rfkill_type type, bool blocked)
>
> rfkill_global_states[type].cur = blocked;
> list_for_each_entry(rfkill, &rfkill_list, node) {
> - if (rfkill->type != type)
> + if (rfkill->type != type && type != RFKILL_TYPE_ALL)
> continue;

Sorry, I accidentally replied to this in private and then Alex replied
but it all got lost.

He said he was going to change the eeepc use KEY_RFKILL instead of
KEY_WLAN to switch all types...

So I guess what this change really does is make __rfkill_switch_all() be
able to not only switch all devices of a given type, but also be able to
switch all devices of all types.

Alex, can you please rewrite the commit log to make that clearer?

johannes


2012-05-23 06:12:49

by Alex Hung

[permalink] [raw]
Subject: Re: [PATCH] rfkill: Add handling when rfkill's type is RFKILL_TYPE_ALL.

On 05/23/2012 02:46 AM, Johannes Berg wrote:
> On Mon, 2012-05-21 at 16:37 +0800, Alex Hung wrote:
>> This rfkill type is supposed to be able to toggles the status of all wireless
>> devices; however, no wireless devices will register itself with type
>> RFKILL_TYPE_ALL and thus it was previously ignored in __rfkill_switch_all.
>>
>> Signed-off-by: Alex Hung<[email protected]>
>> ---
>> net/rfkill/core.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/net/rfkill/core.c b/net/rfkill/core.c
>> index 5be1957..84dd71a 100644
>> --- a/net/rfkill/core.c
>> +++ b/net/rfkill/core.c
>> @@ -324,7 +324,7 @@ static void __rfkill_switch_all(const enum rfkill_type type, bool blocked)
>>
>> rfkill_global_states[type].cur = blocked;
>> list_for_each_entry(rfkill,&rfkill_list, node) {
>> - if (rfkill->type != type)
>> + if (rfkill->type != type&& type != RFKILL_TYPE_ALL)
>> continue;
>
> Sorry, I accidentally replied to this in private and then Alex replied
> but it all got lost.
>
> He said he was going to change the eeepc use KEY_RFKILL instead of
> KEY_WLAN to switch all types...
>
> So I guess what this change really does is make __rfkill_switch_all() be
> able to not only switch all devices of a given type, but also be able to
> switch all devices of all types.
>
> Alex, can you please rewrite the commit log to make that clearer?
>
> johannes
>

Thanks for your feedback, I re-wrote the comments to clarify the changes
and re-submitted.

Cheers,
Alex Hung