[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3c463028-65b2-462e-b933-9ccb3fb37e0e@kernel.org>
Date: Fri, 5 Sep 2025 08:59:29 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Aaron Kling <webgeek1234@...il.com>
Cc: Rob Herring <robh@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
MyungJoo Ham <myungjoo.ham@...sung.com>,
Kyungmin Park <kyungmin.park@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>, Dmitry Osipenko <digetx@...il.com>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH v2 5/8] memory: tegra210: Support interconnect framework
On 04/09/2025 19:28, Aaron Kling wrote:
>>> +
>>> +static int tegra_emc_opp_table_init(struct tegra210_emc *emc)
>>> +{
>>> + u32 hw_version = BIT(tegra_sku_info.soc_speedo_id);
>>> + struct dev_pm_opp *opp;
>>> + unsigned long rate;
>>> + int opp_token, err, max_opps, i;
>>> +
>>> + err = dev_pm_opp_set_supported_hw(emc->dev, &hw_version, 1);
>>> + if (err < 0) {
>>> + dev_err(emc->dev, "failed to set OPP supported HW: %d\n", err);
>>> + return err;
>>> + }
>>> + opp_token = err;
>>> +
>>> + err = dev_pm_opp_of_add_table(emc->dev);
>>> + if (err) {
>>> + if (err == -ENODEV)
>>> + dev_err(emc->dev, "OPP table not found, please update your device tree\n");
>>
>> So this looks like the actual ABI break.
>
> Okay, so let's discuss this. For reference, I based this patch off the
> tegra124 change [0], which also caused an abi break. I know past
That was almost 5 years ago and we also got stricter what we require in
the commit msg. It's also documented in writing bindings.
> changes don't justify current mistakes, but this is the context. This
> series adds all new required dt properties to the arch common dtsi, so
> any newly compiled dtb will work. Any old dtb with a new kernel would
> fail to probe, however. I think it would be safe to just skip the
That's the ABI break.
> interconnect init if the opp table init returns ENODEV, then let probe
> succeed, but I would have to verify that. Do I need to do that and
> drop the new requires from the binding?
The best would be yes, make it optional in the binding as well.
Best regards,
Krzysztof
Powered by blists - more mailing lists