Devicetree
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference
@ 2026-07-27 22:53 Rosen Penev
  2026-08-02  8:39 ` Arend van Spriel
  0 siblings, 1 reply; 4+ messages in thread
From: Rosen Penev @ 2026-07-27 22:53 UTC (permalink / raw)
  To: devicetree
  Cc: Johannes Berg, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	van Spriel, open list:NETWORKING DRIVERS (WIRELESS), open list

The brcm,bcm4329-fmac binding has unevaluatedProperties set to false
but does not allow nvmem-cells or nvmem-cell-names, which are used by
DTS files (e.g. bcm4709-linksys-ea9200.dts) to supply MAC addresses.

The driver already supports nvmem-based MAC address retrieval via
of_get_mac_address(), so add the nvmem-consumer schema reference to
document and allow these properties.

Fixes warnings with users:

['brcm,bcm4366-fmac', 'brcm,bcm4329-fmac'] does not contain items matching the given schema
from schema $id: http://devicetree.org/schemas/pci/pci-bus-common.yaml
Unevaluated properties are not allowed ('nvmem-cell-names', 'nvmem-cells' were unexpected)

Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 .../devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml      | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml b/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml
index 81fd3e37452a..5d87de6a17bb 100644
--- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml
@@ -17,6 +17,7 @@ description:
 
 allOf:
   - $ref: /schemas/net/wireless/wireless-controller.yaml#
+  - $ref: /schemas/nvmem/nvmem-consumer.yaml#
 
 properties:
   compatible:
-- 
2.55.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference
  2026-07-27 22:53 [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference Rosen Penev
@ 2026-08-02  8:39 ` Arend van Spriel
  2026-08-10 17:30   ` Rob Herring
  0 siblings, 1 reply; 4+ messages in thread
From: Arend van Spriel @ 2026-08-02  8:39 UTC (permalink / raw)
  To: Rosen Penev
  Cc: devicetree, Johannes Berg, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-wireless, linux-kernel

On Mon, 27 Jul 2026 15:53:11 -0700, Rosen Penev <rosenp@gmail.com> wrote:
> The brcm,bcm4329-fmac binding has unevaluatedProperties set to false
> but does not allow nvmem-cells or nvmem-cell-names, which are used by
> DTS files (e.g. bcm4709-linksys-ea9200.dts) to supply MAC addresses.
>
> The driver already supports nvmem-based MAC address retrieval via
> of_get_mac_address(), so add the nvmem-consumer schema reference to
> document and allow these properties.
> ---
>  .../devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml | 1 +

The problem is real but I think the fix belongs in network-class.yaml rather
than the brcmfmac binding specifically. ethernet-controller.yaml already
defines nvmem-cells and nvmem-cell-names for wired NICs, but the wireless
binding hierarchy (wireless-controller.yaml -> network-class.yaml) is missing
them. Fixing it in network-class.yaml would cover all network nodes at once
instead of requiring each wireless driver to add the same reference
individually.

Regards,
Arend

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference
  2026-08-02  8:39 ` Arend van Spriel
@ 2026-08-10 17:30   ` Rob Herring
  2026-08-10 19:21     ` Arend van Spriel
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2026-08-10 17:30 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Rosen Penev, devicetree, Johannes Berg, Krzysztof Kozlowski,
	Conor Dooley, linux-wireless, linux-kernel

On Sun, Aug 02, 2026 at 10:39:04AM +0200, Arend van Spriel wrote:
> On Mon, 27 Jul 2026 15:53:11 -0700, Rosen Penev <rosenp@gmail.com> wrote:
> > The brcm,bcm4329-fmac binding has unevaluatedProperties set to false
> > but does not allow nvmem-cells or nvmem-cell-names, which are used by
> > DTS files (e.g. bcm4709-linksys-ea9200.dts) to supply MAC addresses.
> >
> > The driver already supports nvmem-based MAC address retrieval via
> > of_get_mac_address(), so add the nvmem-consumer schema reference to
> > document and allow these properties.
> > ---
> >  .../devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml | 1 +
> 
> The problem is real but I think the fix belongs in network-class.yaml rather
> than the brcmfmac binding specifically. ethernet-controller.yaml already
> defines nvmem-cells and nvmem-cell-names for wired NICs, but the wireless
> binding hierarchy (wireless-controller.yaml -> network-class.yaml) is missing
> them. Fixing it in network-class.yaml would cover all network nodes at once
> instead of requiring each wireless driver to add the same reference
> individually.

It is wrong because nvmem-consumer.yaml does not define how many entries 
and what they are. IOW, the valid names in nvmem-cell-names must be 
defined.

However, expecting all network class devices to use the same 
nvmem-cells/nvmem-cell-names will probably not work long term. Some 
device may use it, but not use "mac-address" entry. Unfortunately, 
there's not a way to override a default in json-schema. So we'll 
probably have to just define this in every user rather than centrally. 

So this should just add the definitions to the brcm,bcm4329-fmac 
binding:

nvmem-cells:
  maxItems: 1

nvmem-cell-names:
  const: mac-address

Rob

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference
  2026-08-10 17:30   ` Rob Herring
@ 2026-08-10 19:21     ` Arend van Spriel
  0 siblings, 0 replies; 4+ messages in thread
From: Arend van Spriel @ 2026-08-10 19:21 UTC (permalink / raw)
  To: Rob Herring
  Cc: Rosen Penev, devicetree, Johannes Berg, Krzysztof Kozlowski,
	Conor Dooley, linux-wireless, linux-kernel

On 10/08/2026 19:30, Rob Herring wrote:
> On Sun, Aug 02, 2026 at 10:39:04AM +0200, Arend van Spriel wrote:
>> On Mon, 27 Jul 2026 15:53:11 -0700, Rosen Penev <rosenp@gmail.com> wrote:
>>> The brcm,bcm4329-fmac binding has unevaluatedProperties set to false
>>> but does not allow nvmem-cells or nvmem-cell-names, which are used by
>>> DTS files (e.g. bcm4709-linksys-ea9200.dts) to supply MAC addresses.
>>>
>>> The driver already supports nvmem-based MAC address retrieval via
>>> of_get_mac_address(), so add the nvmem-consumer schema reference to
>>> document and allow these properties.
>>> ---
>>>   .../devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml | 1 +
>>
>> The problem is real but I think the fix belongs in network-class.yaml rather
>> than the brcmfmac binding specifically. ethernet-controller.yaml already
>> defines nvmem-cells and nvmem-cell-names for wired NICs, but the wireless
>> binding hierarchy (wireless-controller.yaml -> network-class.yaml) is missing
>> them. Fixing it in network-class.yaml would cover all network nodes at once
>> instead of requiring each wireless driver to add the same reference
>> individually.
> 
> It is wrong because nvmem-consumer.yaml does not define how many entries
> and what they are. IOW, the valid names in nvmem-cell-names must be
> defined.
> 
> However, expecting all network class devices to use the same
> nvmem-cells/nvmem-cell-names will probably not work long term. Some
> device may use it, but not use "mac-address" entry. Unfortunately,
> there's not a way to override a default in json-schema. So we'll
> probably have to just define this in every user rather than centrally.
> 
> So this should just add the definitions to the brcm,bcm4329-fmac
> binding:
> 
> nvmem-cells:
>    maxItems: 1
> 
> nvmem-cell-names:
>    const: mac-address
Hi, Rob

I try to stay away from devicetree bindings so I am not well-aware of 
the limitations to express things. Just applying my aim-for-reuse mantra ;-)

Thanks for your guidance.

Regards,
Arend

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-10 19:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 22:53 [PATCH] dt-bindings: net: wireless: brcm,bcm4329-fmac: add nvmem-consumer reference Rosen Penev
2026-08-02  8:39 ` Arend van Spriel
2026-08-10 17:30   ` Rob Herring
2026-08-10 19:21     ` Arend van Spriel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox