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

Krzysztof Kozlowski krzk at kernel.org
Mon Mar 23 01:31:10 PDT 2026


On 23/03/2026 09:26, Chen-Yu Tsai wrote:
> 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.

Of course, but now imagine a DTB with only *_wifi regulators and no *_bt.

> 
> 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.

Yes, either alias lookup or adjusting the regulator_desc before
registering them, depending on the nodes.

If I understood old code correctly, the point is that ABI allowed *_wifi
without *_bt and this would be a working setup. Now it won't work.

Best regards,
Krzysztof



More information about the Linux-mediatek mailing list