Re: [PATCH V4 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller

Dipen Patel
2023-04-04T17:33:31Z

On 4/3/23 10:33 PM, Krzysztof Kozlowski wrote:
> On 04/04/2023 06:24, Dipen Patel wrote:
>> On 3/25/23 4:09 AM, Krzysztof Kozlowski wrote:
>>> On 24/03/2023 19:51, Dipen Patel wrote:
>>>> On 3/24/23 10:13 AM, Rob Herring wrote:
>>>>> On Wed, Mar 22, 2023 at 06:29:23PM -0700, Dipen Patel wrote:
>>>>>> Introducing nvidia,gpio-controller property from Tegra234 SoCs onwards.
>>>>>> This is done to help below case.
>>>>>>
>>>>>> Without this property code would look like:
>>>>>> if (of_device_is_compatible(dev->of_node, "nvidia,tegra194-gte-aon"))
>>>>>> hte_dev->c = gpiochip_find("tegra194-gpio-aon",
>>>>>> tegra_get_gpiochip_from_name);
>>>>>> else if (of_device_is_compatible(dev->of_node, "nvidia,tegra234-gte-aon"))
>>>>>> hte_dev->c = gpiochip_find("tegra234-gpio-aon",
>>>>>> tegra_get_gpiochip_from_name);
>>>>>> else
>>>>>> return -ENODEV;
>>>>>
>>>>> Or you just put the name in match data.
>>>>
>>>> Not sure I have understood this comment, but "name" the first argument is
>>>> already there to supply to callback to match data. Also, this if else is
>>>> needed to know which "name" to provide.
>>>
>>> The point is that of_device_is_compatible() do not really scale and make
>>> code more difficult to read. Your variant-customization should in
>>> general entirely come from match/driver data.
>>
>> Perhaps I should not have mentioned driver related details here about how
>> this property will help, that detail will go in driver patch. In the next
>> patch series I will remove this commit and just focus on what this property
>> is.
>
> Regardless of this commit, driver match data is the way to go, not
> of_device_is_compatible().

I agree...

>
>
>
> Best regards,
> Krzysztof
>