Message ID | 20161101105840.24313-1-paul@crapouillou.net (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Johannes Berg |
Headers | show |
On Tue, Nov 01, 2016 at 11:58:39AM +0100, Paul Cercueil wrote: > This document gives information about how to write a devicetree > node that corresponds to the rfkill-regulator driver. > > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > --- > .../devicetree/bindings/net/rfkill-regulator.txt | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/rfkill-regulator.txt > > diff --git a/Documentation/devicetree/bindings/net/rfkill-regulator.txt b/Documentation/devicetree/bindings/net/rfkill-regulator.txt > new file mode 100644 > index 0000000..aac2fe1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/rfkill-regulator.txt > @@ -0,0 +1,18 @@ > +Device tree bindings for the rfkill-regulator driver > + > +Required properties: > + - compatible: should be "rfkill-regulator" > + - rfkill-name: the name of this rfkill device > + - rfkill-type: the type of this rfkill device; > + must correspond to a valid rfkill_type from <uapi/linux/rfkill.h> > + - vrfkill-supply: phandle to a regulator My understanding is it is generally felt that using the regulator enable GPIO commonly found on WiFi chips for rfkill is an abuse of rfkill as it is more that just an RF disable. From a DT standpoint, this seems like creating a binding for what a Linux driver wants. Instead, I think this should be either a GPIO or GPIO regulator and the driver for the WiFi chip should decide whether or not to register that as an rfkill driver. Rob
> My understanding is it is generally felt that using the regulator > enable GPIO commonly found on WiFi chips for rfkill is an abuse of > rfkill as it is more that just an RF disable. From a DT standpoint, > this seems like creating a binding for what a Linux driver wants. > Instead, I think this should be either a GPIO or GPIO regulator and > the driver for the WiFi chip should decide whether or not to register > that as an rfkill driver. Sadly, there are two ways to use rfkill right now: 1) the more common, and correct, way of having rfkill be a control tied to a specific wireless interface (wifi, BT, FM, GPS, NFC, ...), to both report the hardware button state that might be tied to it, and to control - centrally - the software state. 2) the platform way, which some ACPI based platforms do, which register an rfkill instance, which often allows controlling in software the hardware line that then toggles the hardware rfkill on the WiFi NIC. It's not clear to me what this patch is trying to achieve. It seems a bit like something else entirely, which would be using it to toggle the power for a wifi device? I agree that doesn't seem appropriate, and instead the driver could bind to the regulator and disable it when wifi gets disabled (by rfkill or simply by taking all interfaces down.) In fact, given that there are no in-tree users, I'm tempted to remove the rfkill-regulator entirely. Thoughts? johannes
diff --git a/Documentation/devicetree/bindings/net/rfkill-regulator.txt b/Documentation/devicetree/bindings/net/rfkill-regulator.txt new file mode 100644 index 0000000..aac2fe1 --- /dev/null +++ b/Documentation/devicetree/bindings/net/rfkill-regulator.txt @@ -0,0 +1,18 @@ +Device tree bindings for the rfkill-regulator driver + +Required properties: + - compatible: should be "rfkill-regulator" + - rfkill-name: the name of this rfkill device + - rfkill-type: the type of this rfkill device; + must correspond to a valid rfkill_type from <uapi/linux/rfkill.h> + - vrfkill-supply: phandle to a regulator + +Example: + + wlan-rfkill { + compatible = "rfkill-regulator"; + rfkill-name = "WLAN power switch"; + rfkill-type = <1>; + + vrfkill-supply = <&wlan_power>; + };
This document gives information about how to write a devicetree node that corresponds to the rfkill-regulator driver. Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- .../devicetree/bindings/net/rfkill-regulator.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/rfkill-regulator.txt