Search Linux Wireless

Re: [RFC] b43: A patch for control of the radio LED using rfkill

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

 



On Thu, 2008-09-18 at 15:47 -0300, Henrique de Moraes Holschuh wrote:

> Passing rfkill state around using the input layer is broken, and caused real
> issues.  That is what cannot be done, that is what was fixed in the new API.
> But that does not preclude, e.g., b43, from also exporting input events...
> *as long as* it is done correctly.

[...]

I don't get it.

We only have a few things to control:

 * radio state for each device

and a few mechanisms:
 1) mac80211-internal (TPC, ..., iwconfig txpower off)
 2) per-hardware input button (soft)
 3) per-hardware rfkill button (hard)
 4) platform input buttons (soft)
 5) platform rfkill buttons (hard)

b43, for example, 1, 2 and 3 (where connected, this is unknown to the
driver) and may live on a platform that also has 4, 5 is very unlikely.

The way I see it, we should have about this architecture:

input layer        userspace      mac80211     driver     rfkill
  2 ----------------->|
                     (a)----------------------------------->|
  4 ----------------->|                                     |
                                      (b)<------------------|
                                       |
                                       +-------->(c)

                                      (e)<-------(d)
                                       |
                                       +------------------->|
                                                            |
                    (f)<------------------------------------|


(a) synthesize rfkill state for each driver out of the various input
    events you can get, depending on whether the platform button is
    bluetooth, wlan, all, ...
(b) take rfkill state and transform it into conf.radio_enabled along
    with the internal conf.radio_enabled state that mac80211 may decide
    on based on iwconfig txpower off. assume that users know what
    they're doing if they iwconfig txpower off, I think it's pretty
    pointless to have in light of rfkill and for all I care we can
    remove it
(c) take conf.radio_enabled and enable/disable radio
(d) notify mac80211 about _HARD_ rfkill state
(e) take that into account for internal state machine and report to
    rfkill subsystem
(f) display to user

Driver only has to follow conf.radio_enabled and inform mac80211 of the
hard state.

Where's the flaw?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[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