On Wed, Feb 26, 2025 at 11:17:48AM -0800, Guenter Roeck wrote: > On 2/26/25 06:59, Rob Herring wrote: > > On Wed, Feb 26, 2025 at 09:20:40AM +0100, Krzysztof Kozlowski wrote: > > > On Tue, Feb 25, 2025 at 09:01:13PM +0800, Cedric Encarnacion wrote: > > > > Add Analog Devices LT3074 Ultralow Noise, High PSRR Dropout Linear > > > > Regulator. > > > > > > > > Signed-off-by: Cedric Encarnacion <cedricjustine.encarnacion@xxxxxxxxxx> > > > > --- > > > > .../bindings/hwmon/pmbus/adi,lt3074.yaml | 64 ++++++++++++++++++++++ > > > > MAINTAINERS | 7 +++ > > > > 2 files changed, 71 insertions(+) > > > > > > > > diff --git a/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml b/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml > > > > new file mode 100644 > > > > index 0000000000000000000000000000000000000000..714426fd655a8daa96e15e1f789743f36001ac7a > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/hwmon/pmbus/adi,lt3074.yaml > > > > @@ -0,0 +1,64 @@ > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > > +%YAML 1.2 > > > > +--- > > > > +$id: http://devicetree.org/schemas/hwmon/pmbus/adi,lt3074.yaml# > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > + > > > > +title: Analog Devices LT3074 voltage regulator > > > > + > > > > +maintainers: > > > > + - Cedric Encarnacion <cedricjustine.encarnacion@xxxxxxxxxx> > > > > + > > > > +description: | > > > > + The LT3074 is a low voltage, ultra-low noise and ultra-fast transient > > > > + response linear regulator. It allows telemetry for input/output voltage, > > > > + output current and temperature through the PMBus serial interface. > > > > + > > > > + Datasheet: > > > > + https://www.analog.com/en/products/lt3074.html > > > > + > > > > +properties: > > > > + compatible: > > > > + enum: > > > > + - adi,lt3074 > > > > + > > > > + reg: > > > > + maxItems: 1 > > > > + > > > > + regulators: > > > > + type: object > > > > + description: | > > > > + list of regulators provided by this controller. > > > > > > You have only one regulator, so drop the "regulators". vout could be > > > here, but since you do not have any other resources, I doubt it stands > > > on its own either. This is even visible in your DTS - you named the > > > device as regulator, so logically this is the regulator. Regulator does > > > not have regulators (otherwise they could also have regulators... so > > > triple regulator). > > > > > > hwmon code might need some changes, but that's not really relevant for > > > proper hardware description. > > > > Normally, I would agree, but it seems generic pmbus code expects this > > structure. This just came up with changing another binding maintained by > > 'Not Me' to follow this structure. We're stuck with the existing way, so > > I don't know that it is worth supporting 2 ways forever. OTOH, is it > > guaranteed that these devices will only ever be pmbus devices or that > > other regulator devices which are not handled as pmbus devices currently > > will be in the future. If so, more flexibility in the bindings will be > > needed. > > > > I would appreciate if someone would explain to me what the problems with > the current PMBus code actually are. I have seen several comments claiming Not exactly a problem but missing feature. pmbus code (at least one of macros I looked at) expects regulator node and some sort of child of it (vout), while such simple devices should be: regulator { compatible = "adi,lt3074"; regulator-name = "vout"; regulator-min-microvolt = "100000"; regulator-max-microvolt = "100000"; }; so without any of regulators and regulators/vout subnodes. > that the code should be changed, but I have no idea what the expected changes > actually are or, in other words, what the PMBus code should be doing > differently. I did not investigate much into pmbus code, but this might be as simple as accepting arguments for .of_match and .regulators_node and then accepting NULLs as them as well. Or a new macro which assigns NULLs there. Regulator core handles .regulators_node=NULL already. Best regards, Krzysztof