On Tue, Mar 18, 2025 at 5:22 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > On 3/18/25 01:54, florin.leotescu@xxxxxxxxxxx wrote: > > From: Florin Leotescu <florin.leotescu@xxxxxxx> > > > > Introduce yaml schema for Microchip emc2305 pwm fan controller. > > > > Signed-off-by: Florin Leotescu <florin.leotescu@xxxxxxx> > > Reviewed-by: Frank Li <Frank.Li@xxxxxxx> > > --- > > .../bindings/hwmon/microchip,emc2305.yaml | 113 ++++++++++++++++++ > > 1 file changed, 113 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > > > > diff --git a/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > > new file mode 100644 > > index 000000000000..e61ef97e63af > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml > > @@ -0,0 +1,113 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > + > > +$id: http://devicetree.org/schemas/hwmon/microchip,emc2305.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Microchip EMC2305 SMBus compliant PWM fan controller > > + > > +maintainers: > > + - Michael Shych <michaelsh@xxxxxxxxxx> > > + > > +description: > > + Microchip EMC2301/2/3/5 pwm controller which supports > > + up to five programmable fan control circuits. > > + > > +properties: > > + compatible: > > + oneOf: > > + - enum: > > + - microchip,emc2305 > > + - items: > > + - enum: > > + - microchip,emc2303 > > + - microchip,emc2302 > > + - microchip,emc2301 > > + - const: microchip,emc2305 > > + > > + reg: > > + maxItems: 1 > > + > > + '#address-cells': > > + const: 1 > > + > > + '#size-cells': > > + const: 0 > > + > > + '#pwm-cells': > > + const: 3 > > + description: | > > + Number of cells in a PWM specifier. > > + - cell 0: The PWM frequency > > + - cell 1: The PWM polarity: 0 or PWM_POLARITY_INVERTED > > + - cell 2: The PWM output config: > > + - 0 (Open-Drain) > > + - 1 (Push-Pull) > > + > > + > > +patternProperties: > > + '^fan@[0-4]$': > > + $ref: fan-common.yaml# > > + unevaluatedProperties: false > > + properties: > > + reg: > > + description: > > + The fan number used to determine the associated PWM channel. > > + > > + required: > > + - reg > > + - pwms > > Is it necessary to make 'pwms' mandatory ? The current code works > just fine with defaults. The code adding OF support is added just in the next patch, so the current code isn't event probed when trying to use dts. Or am I missing something? +static const struct of_device_id of_emc2305_match_table[] = { + { .compatible = "microchip,emc2305", }, + {}, +}; +MODULE_DEVICE_TABLE(of, of_emc2305_match_table); I have no strong opinion on this we could make pwms optional.