[PATCH 2/5] regulator: dt-bindings: mt6359: Drop bogus vcn33_[12]_* split regulators

Chen-Yu Tsai wenst at chromium.org
Mon Mar 23 01:26:04 PDT 2026


On Fri, Mar 20, 2026 at 5:54 PM Krzysztof Kozlowski <krzk at kernel.org> wrote:
>
> On Fri, Mar 20, 2026 at 03:24:35PM +0800, Chen-Yu Tsai wrote:
> > vcn33_[12]_bt and vcn33_[12]_wifi refer to the same output. There are
> > two enable bits in the registers so that BT and WiFi drivers can toggle
> > them separately without any coordination. If either bit is set, then the
> > regulator output is enabled.
> >
> > Unfortunately some of them are already referenced by in-tree device
> > trees. To keep backward compatibility with them, keep the vcn33_*_bt
>
> So you drop "_wifi" regulators breaking the ABI, no?

Indeed it is a breakage. I kept the *_bt part to cover all in-tree
device trees.

But the representation itself is broken, as explained in the commit
message.

I leave it to the platform maintainers to decide whether this "breakage"
to fix the broken representation is acceptable.

Note that there is a similar issue with the *_sshub and non _sshub
regulators: there is only one actual output for the two. I'm still
asking the vendor for hardware behavior specifics.

> > regulator. Also combine them for a shorten regular expression pattern.
>
> Instead the duplicates should be deprecated and driver should still
> support the "_wifi" variants.

But it doesn't really work in the driver. You cannot set different
constraints on the two, especially conflicting constraints, and expect
them to work. And if you set the voltage on one of them, the other
will change as well.

If we want the driver to support both with _sane_ behavior, we would
need to introduce some sort of alias lookup for both reading
constraints and resolving supplies. The driver registers _just_ one
regulator, and both DT nodes resolve to it.


ChenYu



More information about the Linux-mediatek mailing list