Re: [PATCH v2 2/3] dt-bindings: i2c: realtek,rtl9301-i2c: extend for RTL9310 support
From: Krzysztof Kozlowski
Date: Mon Jul 21 2025 - 03:02:51 EST
On 20/07/2025 21:51, Jonas Jelonek wrote:
> Hi Krzysztof,
>
>
> On 14.07.2025 08:00, Krzysztof Kozlowski wrote:
>> On Sat, Jul 12, 2025 at 07:42:54PM +0000, Jonas Jelonek wrote:
>>> properties:
>>> compatible:
>>> @@ -23,7 +25,14 @@ properties:
>>> - realtek,rtl9302c-i2c
>>> - realtek,rtl9303-i2c
>>> - const: realtek,rtl9301-i2c
>>> + - items:
>>> + - enum:
>>> + - realtek,rtl9311-i2c
>>> + - realtek,rtl9312-i2c
>>> + - realtek,rtl9313-i2c
>>> + - const: realtek,rtl9310-i2c
>>> - const: realtek,rtl9301-i2c
>>> + - const: realtek,rtl9310-i2c
>> So these two are just enum.
>
> Could you be more precise on that please? Sadly, I don't get what you're trying
> to tell me.
These two last lines should be part of one enum.
>>> + minimum: 1
>>> + maximum: 2
>>> +
>>> patternProperties:
>>> - '^i2c@[0-7]$':
>>> + '^i2c@([0-9]|1[0-1])$':
>>> $ref: /schemas/i2c/i2c-controller.yaml
>>> unevaluatedProperties: false
>>>
>> As mentioned last time, missing constraints.
>>
>> How did you solve this:
>>
>> "you should clearly narrow this per variant"?
>>
>> See example schema. It has EXACTLY this case.
>>
>> https://elixir.bootlin.com/linux/v5.19/source/Documentation/devicetree/bindings/example-schema.yaml#L212
>>
>> You also need to narrow the number of children.
>
> I missed that from your previous review by mistake, sorry for that.
>
> I managed to narrow it per variant whether 'realtek,mst-id' is required or not.
> But I'm not really able to do the same for the different regex patterns or the
> number of children. Although I'm trying to follow various examples,
> dt_binding_check just fails not taking the regex patterns into account.
>
> Since you have a lot of expertise on that and I obviously fail to find
> documentation that helps me to do that properly, could you give me some hints
> on how that has to look? I'd really appreciate this.
So in your if:then: block where you narrow mst-id, you add on same level
as properties:
patternProperties:
YOUR_REGEX: false
Best regards,
Krzysztof