From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Dipen Patel <dipenp@nvidia.com>,
thierry.reding@gmail.com, 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,
robh+dt@kernel.org, timestamp@lists.linux.dev,
krzysztof.kozlowski+dt@linaro.org, brgl@bgdev.pl, corbet@lwn.net,
gregkh@linuxfoundation.org
Subject: Re: [PATCH V3 2/6] dt-bindings: timestamp: Add Tegra234 support
Date: Tue, 14 Mar 2023 09:43:14 +0100 [thread overview]
Message-ID: <c45df83a-a6ac-16bd-1872-64fd0794b421@linaro.org> (raw)
In-Reply-To: <fad52df6-38e8-ba8a-117a-8514e09af0ee@nvidia.com>
On 13/03/2023 22:49, Dipen Patel wrote:
> On 3/13/23 10:55 AM, Krzysztof Kozlowski wrote:
>> On 13/03/2023 18:05, Dipen Patel wrote:
>>> On 3/12/23 8:47 AM, Krzysztof Kozlowski wrote:
>>>> On 10/03/2023 20:06, Dipen Patel wrote:
>>>>> Added timestamp provider support for the Tegra234 in devicetree
>>>>> bindings. In addition, it addresses review comments from the
>>>>> previous review round as follows:
>>>>> - Removes nvidia,slices property. This was not necessary as it
>>>>> is a constant value and can be hardcoded inside the driver code.
>>>>> - Adds nvidia,gpio-controller property. This simplifies how GTE driver
>>>>> retrieves GPIO controller instance, see below explanation.
>>>>>
>>>>> 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;
>>>>>
>>>>> This means for every future addition of the compatible string, if else
>>>>> condition statements have to be expanded.
>>>>>
>>>>> With the property:
>>>>> gpio_ctrl = of_parse_phandle(dev->of_node, "nvidia,gpio-controller", 0);
>>>>> ....
>>>>> hte_dev->c = gpiochip_find(gpio_ctrl, tegra_get_gpiochip_from_of_node);
>>>>>
>>>>> We haven't technically started making use of these bindings, so
>>>>> backwards-compatibility shouldn't be an issue yet.
>>>>
>>>> Unfortunately, I don't understand this statement. The
>>>> nvidia,tegra194-gte-aon with removed property is in a released kernel
>>>> v6.2. What does it mean "technically"? It's a released kernel thus it is
>>>> a released ABI.
>>>
>>> There is no active user of that driver, so even if it breaks 6.2, it is fine
>>> as there is no one to complain about it.
>>
>> How do you know? It's a released kernel, thus how can you ask millions
>> of people if they use it or not?
>
> Please help me understand, if I am targeting these set of changes for the kernel
> 6.4, wouldn't all the patches land on v6.4 at the same time no matter the tree it
No, that's not how we do things. Changes *must be bisectable* and *DTS
always* goes to separate branch, so how do you ensure this in your
current flow? I don't see it. The patch #4 should break the bisectability.
> will go from? Also, if user is at v6.2, how this will break as at that version, it
> will have the old bindings and old driver, right?
Bindings define ABI. You defined them like this in v6.2 thus someone is
using them:
1. In other systems, bootloaders, firmwares, SW.
2. via DTS written for v6.2 ABI. Newer kernel should not break existing
DTS and we do not talk about in-kernel DTS, just like we do not talk
about in-kernel user-space applications when using same argument for
their compatibility.
Best regards,
Krzysztof
next prev parent reply other threads:[~2023-03-14 8:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 19:06 [PATCH V3 0/6] Add Tegra234 HTE support Dipen Patel
2023-03-10 19:06 ` [PATCH V3 1/6] MAINTAINERS: Add HTE/timestamp subsystem details Dipen Patel
2023-03-10 19:06 ` [PATCH V3 2/6] dt-bindings: timestamp: Add Tegra234 support Dipen Patel
2023-03-12 15:47 ` Krzysztof Kozlowski
2023-03-13 17:05 ` Dipen Patel
2023-03-13 17:55 ` Krzysztof Kozlowski
2023-03-13 21:49 ` Dipen Patel
2023-03-14 8:43 ` Krzysztof Kozlowski [this message]
2023-03-13 21:57 ` Linus Walleij
2023-03-13 23:49 ` Dipen Patel
2023-03-14 0:01 ` Dipen Patel
2023-03-14 8:35 ` Linus Walleij
2023-03-14 11:46 ` Jon Hunter
2023-03-10 19:06 ` [PATCH V3 3/6] hte: Re-phrase tegra API document Dipen Patel
2023-03-10 19:06 ` [PATCH V3 4/6] hte: Add Tegra234 provider Dipen Patel
2023-03-12 15:49 ` Krzysztof Kozlowski
2023-03-14 12:17 ` Jon Hunter
2023-03-10 19:06 ` [PATCH V3 5/6] gpio: tegra186: Add Tegra234 hte support Dipen Patel
2023-03-15 12:15 ` Bartosz Golaszewski
2023-03-10 19:06 ` [PATCH V3 6/6] arm64: tegra: Add GTE nodes Dipen Patel
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=c45df83a-a6ac-16bd-1872-64fd0794b421@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=dipenp@nvidia.com \
--cc=gregkh@linuxfoundation.org \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski+dt@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+dt@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).