Hi Kalle, > >> wl1251 has these lines to the host: > >> > >> o four lines for SDIO or SPI, configured to SDIO by default > >> o power line > >> o interrupt line > >> > >> When the power line is pulled up, the chip will power on itself. > >> Whenever the power line goes down, the chip will power off. For example, > >> the power line can be controlled with a GPIO pin from the host. But how > >> the power line is really controlled, is board specific and should be > >> handled in the board file. And here comes the set_power() function to > >> the picture. The wl1251 driver will call set_power() function every time > >> user space calls wlan interface up or down. > >> > >> Pierre, how do you propose we should do this? I understood based on > >> discussions from linux-omap that this is a common way. > > > > actually this looks like a RFKILL hard switch to me. > > I have my doubts. For example, when you turn off and on the power from > the wl1251 chip you have to reupload the firmware and boot it again, > which is slow. I have been thinking more like turning off the radios > when rfkill is enabled, which is significantly faster. But I haven't > looked at rfkill yet, and I'm not planning to do it until the dust has > settled within the next few months :) > > > Why don't we just integrate it with RFKILL and this way have a common > > interface to handle all of these. > > But rfkill won't solve the problem under discussion. rfkill is the > interface between wl12xx driver and higher levels, but the problem here > is the lower level interface, that is how does wl12xx driver shall > control the actual hw line. We need to have a generic way to control the > hw line so that driver works in TI's OMAP architecture, whatever Google > is using and all the other possible (embedded) combination where Linux > can run. > > Because I know that my english sucks, I'll draw an architecture diagram > to show what I'm trying to say here: > > ---------- ------------ > | rfkill | | mac80211 | > ---------- ------------ > > ----------------------- > | wl12xx | > ----------------------- > > ----------------------- > | hw power line | > ----------------------- > > So rfkill is on the opposite side of wl12xx compared to the actual hw > power line. we do have the RFKILL (aka soft killswitch) that is now integrated with mac80211 and we do have separate RFKILL hardware killswitches. For example the Bluetooth pieces inside a laptop now have a Bluetooth hardware killswitch (behind a platform device) and the soft killswitch from the Bluetooth subsystem. They are two independent pieces. RFKILL is a confusing beast ;) Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html