[PATCH 1/2] regulator: dt-bindings: maxim, max8997: correct array of voltages

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Sun Apr 3 08:46:05 PDT 2022


On 03/04/2022 17:11, Rob Herring wrote:
> On Thu, Mar 31, 2022 at 11:16:52PM +0200, Krzysztof Kozlowski wrote:
>> uint32-array with voltages should be within one bracket pair <>, not
>> each number in its own <>.  Also the number of elements in the array
>> should be defined within "items:".
> 
> Which encoding an array uses has been a source of pain.
> 
>>
>> This fixes DT schema warnings like:
>>
>>   maxim,max8997.example.dtb: pmic at 66: max8997,pmic-buck1-dvs-voltage:
>>     [[1350000, 1300000, 1250000, 1200000, 1150000, 1100000, 1000000, 950000]] is too short
> 
> These exist due to the move from validating yaml files to DTBs and I 
> haven't come up with how to fix the warning. The schema was correct as 
> it was. The change leaks the encoding (everything is a matrix) into the 
> schema which we don't want to do.
> 
> The issue is in the if/then schema, the tools don't know if the type is 
> an array or matrix. It gets it wrong (or different from the top-level) 
> and thus the warning. I think the fix will be using the extracted type 
> information to do the right transformation. The code for all this is 
> pretty horrible and I've lost count of how many times I've re-written 
> it. I think a lot of it can be removed when/if support for yaml encoded 
> DT is removed which I think can happen in a kernel cycle or 2.
> 
> Perhaps in the short term the example can just be removed or commented 
> out though that doesn't help on dts files.

I think I already might be adding the same pattern to other bindings I
convert, so maybe I should add at least comments to such cases so we can
fix it later.


Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list