Message ID | 20241204-starqltechn_integration_upstream-v10-3-7de85e48e562@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for Maxim Integrated MAX77705 PMIC | expand |
On Wed, 04 Dec 2024 23:09:53 +0300, Dzmitry Sankouski wrote: > Add maxim,max77705 binding. > > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> > --- > Changes in v10: > - leds: replace label with color and function properties > - leds: add support for leds-class-multicolor > - move fuelgauge node to patternProperties "^fuel-gauge@[0-9a-f]+$" > to comply with max17042 binding > > Changes in v9: > - replace max77705 fuel gauge with max17042 > - remove monitored battery because not supported by max17042 > > Changes in v8: > - fix leds compatible > > Changes in v6: > - unevaluatedProperties must be false > - drop excessive sentence from description, > just describe the device > - change leds compatible to maxim,max77705-rgb > > Changes in v5: > - formatting changes > - add unevaluatedProperties: false for nodes referencing > common schemas > - remove additionalProperties on nodes with > unevaluatedProperties: false > - add min and max to led index > Changes in v4: > - change dts example intendation from tabs > to spaces > - remove interrupt-names property > - remove obvious reg description > - split long(>80) lines > --- > Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 193 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: pmic@66: fuel-gauge@36:compatible:0: 'maxim,max77705-battery' is not one of ['maxim,max17042', 'maxim,max17047', 'maxim,max17050', 'maxim,max17055', 'maxim,max77849-battery'] from schema $id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: pmic@66: fuel-gauge@36: Unevaluated properties are not allowed ('compatible' was unexpected) from schema $id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: /example-0/i2c/pmic@66/fuel-gauge@36: failed to match any schema with compatible: ['maxim,max77705-battery'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241204-starqltechn_integration_upstream-v10-3-7de85e48e562@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
чт, 5 дек. 2024 г. в 00:30, Rob Herring (Arm) <robh@kernel.org>: > > > On Wed, 04 Dec 2024 23:09:53 +0300, Dzmitry Sankouski wrote: > > Add maxim,max77705 binding. > > (...) > > My bot found errors running 'make dt_binding_check' on your patch: > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: pmic@66: fuel-gauge@36:compatible:0: 'maxim,max77705-battery' is not one of ['maxim,max17042', 'maxim,max17047', 'maxim,max17050', 'maxim,max17055', 'maxim,max77849-battery'] > from schema $id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: pmic@66: fuel-gauge@36: Unevaluated properties are not allowed ('compatible' was unexpected) > from schema $id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# > Documentation/devicetree/bindings/mfd/maxim,max77705.example.dtb: /example-0/i2c/pmic@66/fuel-gauge@36: failed to match any schema with compatible: ['maxim,max77705-battery'] > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241204-starqltechn_integration_upstream-v10-3-7de85e48e562@gmail.com > > The base for the series is generally the latest rc1. A different dependency > should be noted in *this* patch. Hmm, I added 'maxim,max77705-battery' in previous patch of the series: https://lore.kernel.org/all/20241204-starqltechn_integration_upstream-v10-2-7de85e48e562@gmail.com/ Does your bot run checks patch-by-patch, not the whole series?
On Wed, Dec 04, 2024 at 11:09:53PM +0300, Dzmitry Sankouski wrote: > Add maxim,max77705 binding. > > Reviewed-by: Rob Herring (Arm) <robh@kernel.org> > Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> > --- > Changes in v10: > - leds: replace label with color and function properties > - leds: add support for leds-class-multicolor > - move fuelgauge node to patternProperties "^fuel-gauge@[0-9a-f]+$" > to comply with max17042 binding You silently added significant change - new address to fuel-gauge. > > Changes in v9: > - replace max77705 fuel gauge with max17042 > - remove monitored battery because not supported by max17042 > > Changes in v8: > - fix leds compatible > > Changes in v6: > - unevaluatedProperties must be false > - drop excessive sentence from description, > just describe the device > - change leds compatible to maxim,max77705-rgb Your changelog should mention you added review here. > > Changes in v5: > - formatting changes > - add unevaluatedProperties: false for nodes referencing > common schemas > - remove additionalProperties on nodes with > unevaluatedProperties: false > - add min and max to led index > Changes in v4: > - change dts example intendation from tabs > to spaces > - remove interrupt-names property > - remove obvious reg description > - split long(>80) lines > --- > Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 193 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml > new file mode 100644 > index 000000000000..1bc026a01337 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml > @@ -0,0 +1,192 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX77705 Companion Power Management IC and USB Type-C interface IC > + > +maintainers: > + - Dzmitry Sankouski <dsankouski@gmail.com> > + > +description: | > + The Maxim MAX77705 is a Companion Power Management and Type-C > + interface IC which includes charger, fuelgauge, LED, haptic motor driver and > + Type-C management IC. > + > +properties: > + compatible: > + const: maxim,max77705 > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 Nope, none of children are supposed to have addresses. All nodes are unit-less. > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 ... > + properties: > + compatible: > + const: maxim,max77705-rgb > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + multi-led: > + type: object > + $ref: /schemas/leds/leds-class-multicolor.yaml# > + unevaluatedProperties: false > + > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + patternProperties: > + "^led@[0-3]$": > + type: object > + $ref: /schemas/leds/common.yaml# > + unevaluatedProperties: false > + > + properties: > + reg: > + maxItems: 1 > + > + required: > + - reg > + > + required: > + - compatible > + > +patternProperties: > + "^fuel-gauge@[0-9a-f]+$": How unit address appeared here? It was absolutely never reviewed. This is significant change, so drop the review tag. It's also a no, drop unit address. Best regards, Krzysztof
On 05/12/2024 08:48, Krzysztof Kozlowski wrote: >> + patternProperties: >> + "^led@[0-3]$": >> + type: object >> + $ref: /schemas/leds/common.yaml# >> + unevaluatedProperties: false >> + >> + properties: >> + reg: >> + maxItems: 1 >> + >> + required: >> + - reg >> + >> + required: >> + - compatible >> + >> +patternProperties: >> + "^fuel-gauge@[0-9a-f]+$": > > > How unit address appeared here? It was absolutely never reviewed. This > is significant change, so drop the review tag. > > It's also a no, drop unit address. To explain more: In the few Maxim PMIC/MUIC charger designs known to me, the fuel gauge is a separate device. In all implementations it is even on separate bus, although does not have to. You claim that this is not a separate device and you even claim that this *MUST* be on the same bus. Both claims sound just wrong, IMO. This needs explanation. It seems you develop bindings just to match your drivers and that is not the correct process. Bindings must match the hardware, not your driver architecture. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml new file mode 100644 index 000000000000..1bc026a01337 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml @@ -0,0 +1,192 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/maxim,max77705.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Maxim MAX77705 Companion Power Management IC and USB Type-C interface IC + +maintainers: + - Dzmitry Sankouski <dsankouski@gmail.com> + +description: | + The Maxim MAX77705 is a Companion Power Management and Type-C + interface IC which includes charger, fuelgauge, LED, haptic motor driver and + Type-C management IC. + +properties: + compatible: + const: maxim,max77705 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + charger: + $ref: /schemas/power/supply/power-supply.yaml + unevaluatedProperties: false + properties: + compatible: + const: maxim,max77705-charger + + required: + - compatible + - monitored-battery + + haptic: + type: object + additionalProperties: false + + properties: + compatible: + const: maxim,max77705-haptic + + haptic-supply: true + + pwms: + maxItems: 1 + + required: + - compatible + - haptic-supply + - pwms + + leds: + type: object + additionalProperties: false + description: + Up to 4 LED channels supported. + + patternProperties: + "^led@[0-3]$": + type: object + $ref: /schemas/leds/common.yaml# + unevaluatedProperties: false + + properties: + reg: + maxItems: 1 + + required: + - reg + + properties: + compatible: + const: maxim,max77705-rgb + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + multi-led: + type: object + $ref: /schemas/leds/leds-class-multicolor.yaml# + unevaluatedProperties: false + + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + patternProperties: + "^led@[0-3]$": + type: object + $ref: /schemas/leds/common.yaml# + unevaluatedProperties: false + + properties: + reg: + maxItems: 1 + + required: + - reg + + required: + - compatible + +patternProperties: + "^fuel-gauge@[0-9a-f]+$": + $ref: /schemas/power/supply/maxim,max17042.yaml# + unevaluatedProperties: false + +required: + - compatible + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/leds/common.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@66 { + compatible = "maxim,max77705"; + reg = <0x66>; + interrupt-parent = <&pm8998_gpios>; + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; + pinctrl-0 = <&chg_int_default>; + pinctrl-names = "default"; + #address-cells = <1>; + #size-cells = <0>; + + leds { + compatible = "maxim,max77705-rgb"; + + multi-led { + color = <LED_COLOR_ID_RGB>; + function = LED_FUNCTION_STATUS; + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = <LED_COLOR_ID_RED>; + }; + + led@2 { + reg = <2>; + color = <LED_COLOR_ID_GREEN>; + }; + + led@3 { + reg = <3>; + color = <LED_COLOR_ID_BLUE>; + }; + }; + }; + + max77705_charger: charger { + compatible = "maxim,max77705-charger"; + monitored-battery = <&battery>; + }; + + fuel-gauge@36 { + compatible = "maxim,max77705-battery"; + reg = <0x36>; + power-supplies = <&max77705_charger>; + maxim,rsns-microohm = <5000>; + }; + + haptic { + compatible = "maxim,max77705-haptic"; + haptic-supply = <&vib_regulator>; + pwms = <&vib_pwm 0 50000>; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 1240e75ecf4b..c3f66093edd1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14185,6 +14185,7 @@ B: mailto:linux-samsung-soc@vger.kernel.org F: Documentation/devicetree/bindings/*/maxim,max14577.yaml F: Documentation/devicetree/bindings/*/maxim,max77686.yaml F: Documentation/devicetree/bindings/*/maxim,max77693.yaml +F: Documentation/devicetree/bindings/*/maxim,max77705*.yaml F: Documentation/devicetree/bindings/*/maxim,max77843.yaml F: Documentation/devicetree/bindings/clock/maxim,max77686.txt F: drivers/*/*max77843.c