All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Dipen Patel <dipenp@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Rob Herring <robh@kernel.org>,
	jonathanh@nvidia.com, linux-kernel@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-gpio@vger.kernel.org,
	linus.walleij@linaro.org, devicetree@vger.kernel.org,
	linux-doc@vger.kernel.org, timestamp@lists.linux.dev,
	krzysztof.kozlowski+dt@linaro.org, brgl@bgdev.pl, corbet@lwn.net,
	gregkh@linuxfoundation.org
Subject: Re: [PATCH V4 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller
Date: Tue, 4 Apr 2023 10:30:52 -0700	[thread overview]
Message-ID: <6acd75ce-2902-01cf-5b53-f852ed70de15@nvidia.com> (raw)
In-Reply-To: <ZCv74dMMucY24L9m@orome>

On 4/4/23 3:28 AM, Thierry Reding wrote:
> On Mon, Apr 03, 2023 at 09:24:17PM -0700, 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.
> 
> I think the point that Rob and Krzysztof are trying to make that rather
> than adding a new property for this, we can add a const char *gpio field
> to struct tegra_hte_data and then set that to the compatible string of
> the GPIO controller that we need this for.

This means it will have to track the label of the gpio controller and for each
new provider, we have to touch the driver to set the char *field. Also, I think
having gpio controller property in the DT presents/describes the tegra HTE provider
perfectly as it does have hard dependency on the tegra gpio controller.

> 
> To be honest, I slightly prefer the explicit phandle reference, but it
> also complicates things a bit and looking up by compatible string isn't
> all that bad.
> 
> Thierry


  reply	other threads:[~2023-04-04 17:32 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-23  1:29 [PATCH V4 00/10] Add Tegra234 HTE support Dipen Patel
2023-03-23  1:29 ` [PATCH V4 01/10] MAINTAINERS: Add HTE/timestamp subsystem details Dipen Patel
2023-03-23  1:29 ` [PATCH V4 02/10] dt-bindings: timestamp: Add Tegra234 support Dipen Patel
2023-03-25 11:04   ` Krzysztof Kozlowski
2023-03-25 11:06   ` Krzysztof Kozlowski
2023-03-23  1:29 ` [PATCH V4 03/10] dt-bindings: timestamp: Deprecate nvidia,slices property Dipen Patel
2023-03-23  8:34   ` Linus Walleij
2023-03-25 11:05   ` Krzysztof Kozlowski
2023-04-03 18:49     ` Dipen Patel
2023-03-23  1:29 ` [PATCH V4 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller Dipen Patel
2023-03-23  8:36   ` Linus Walleij
2023-03-23 13:58   ` Rob Herring
2023-03-24 17:13   ` Rob Herring
2023-03-24 18:51     ` Dipen Patel
2023-03-25 11:09       ` Krzysztof Kozlowski
2023-04-04  4:24         ` Dipen Patel
2023-04-04  5:33           ` Krzysztof Kozlowski
2023-04-04 17:31             ` Dipen Patel
2023-04-04 10:28           ` Thierry Reding
2023-04-04 17:30             ` Dipen Patel [this message]
2023-03-25 11:07   ` Krzysztof Kozlowski
2023-03-27 16:58     ` Dipen Patel
2023-04-04 10:30       ` Thierry Reding
2023-04-04 17:20         ` Dipen Patel
2023-03-23  1:29 ` [PATCH V4 05/10] arm64: tegra: Add Tegra234 GTE nodes Dipen Patel
2023-03-23  1:29 ` [PATCH V4 06/10] hte: Re-phrase tegra API document Dipen Patel
2023-04-05  2:24   ` Bagas Sanjaya
2023-04-06  0:03     ` Dipen Patel
2023-03-23  1:29 ` [PATCH V4 07/10] hte: Add Tegra234 provider Dipen Patel
2023-03-23  1:29 ` [PATCH V4 08/10] hte: Deprecate nvidia,slices property Dipen Patel
2023-03-23  1:29 ` [PATCH V4 09/10] hte: handle nvidia,gpio-controller property Dipen Patel
2023-03-23  8:37   ` Linus Walleij
2023-03-23  1:29 ` [PATCH V4 10/10] gpio: tegra186: Add Tegra234 hte support Dipen Patel
2023-03-23  8:38   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6acd75ce-2902-01cf-5b53-f852ed70de15@nvidia.com \
    --to=dipenp@nvidia.com \
    --cc=brgl@bgdev.pl \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jonathanh@nvidia.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=timestamp@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.