Hi, On 3/14/23 17:30, Arnd Bergmann wrote:
The Prism54 SPI driver hardcodes GPIO numbers and expects users to pass them as module parameters, apparently a relic from its life as a staging driver. This works because there is only one user, the Nokia N8x0 tablet. Convert this to the gpio descriptor interface and move the gpio line information into devicetree to improve this and simplify the code at the same time.
Yes, this is definitely the right idea/way. From what I remember, Kalle Valo was partially involved in p54spi/stlc45xx. The details are very fuzzy. So, I could be totally wrong. From what I remember Kalle was working for Nokia (or as a contractor for Nokia?) at the time.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
I've seen the device-tree comments. That said, this is/was overdue. You can definitely have this for a v2 :). Acked-by: Christian Lamparter <chunkeey@xxxxxxxxx> Thanks you! Christian
--- As I don't have an N8x0, this is completely untested. I listed the driver authors (Johannes and Christian) as the maintainers of the binding document, but I don't know if they actually have this hardware. It might be better to list someone who is actually using it. Among the various chip identifications, I wasn't sure which one to use for the compatible string and the name of the binding document. I picked st,stlc4560 as that was cited as the version in the N800 on multiple websites. --- .../bindings/net/wireless/st,stlc45xx.yaml | 64 +++++++++++++++++ MAINTAINERS | 1 + arch/arm/boot/dts/omap2.dtsi | 4 ++ arch/arm/boot/dts/omap2420-n8x0-common.dtsi | 12 ++++ arch/arm/mach-omap2/board-n8x0.c | 18 ----- drivers/net/wireless/intersil/p54/p54spi.c | 69 +++++++------------ drivers/net/wireless/intersil/p54/p54spi.h | 3 + 7 files changed, 109 insertions(+), 62 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml diff --git a/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml b/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml new file mode 100644 index 000000000000..45bc4fab409a --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/st,stlc45xx.yaml @@ -0,0 +1,64 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wireless/st,stlc45xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ST/Intersil/Conexant stlc45xx/p54spi/cx3110x SPI wireless device + +maintainers: + - Johannes Berg <johannes@xxxxxxxxxxxxxxxx> + - Christian Lamparter <chunkeey@xxxxxx>
Can you please change that to: Christian Lamparter <chunkeey@xxxxxxxxx> ? (the @web.de/googlemail.com address still work too, but they are now just forwarding)
+description: | + The SPI variant of the Intersil Prism54 wireless device was sold + under a variety of names, including ST Microelectronics STLC5460 + and Conexant CX3110x. + +allOf: + - $ref: ieee80211.yaml# + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + enum: + - st,stlc4550 + - st,stlc4560 + - isil,p54spi + - cnxt,3110x + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-gpios: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +unevaluatedProperties: false + +examples: + - | + gpio { + gpio-controller; + #gpio-cells = <1>; + #interupt-cells = <1>; + }; + spi { + #address-cells = <1>; + #size-cells = <0>; + + wifi@0 { + reg = <0>; + compatible = "st,stlc4560"; + spi-max-frequency = <48000000>; + interrupts-extended = <&gpio 23>; + power-gpios = <&gpio 1>; + }; + };