From: Krzysztof Kozlowski <krzk@kernel.org>
To: Frank Li <Frank.li@nxp.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: "Rob Herring" <robh@kernel.org>,
"Saravana Kannan" <saravanak@google.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Viresh Kumar" <viresh.kumar@linaro.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Yangtao Li" <tiny.windzz@gmail.com>,
"Chen-Yu Tsai" <wens@kernel.org>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Maximilian Luz" <luzmaximilian@gmail.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Daniel Lezcano" <daniel.lezcano@kernel.org>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-sunxi@lists.linux.dev,
linux-arm-msm@vger.kernel.org,
platform-driver-x86@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH 01/13] of: Add wrappers to match root node with OF device ID tables
Date: Fri, 7 Nov 2025 08:00:53 +0100 [thread overview]
Message-ID: <aced7337-eabd-4b05-a0d3-eea7079d08ec@kernel.org> (raw)
In-Reply-To: <aQz8rW9GE66xPYrL@lizhi-Precision-Tower-5810>
On 06/11/2025 20:53, Frank Li wrote:
> On Thu, Nov 06, 2025 at 08:07:08PM +0100, Krzysztof Kozlowski wrote:
>> Several drivers duplicate same code for getting reference to the root
>> node, matching it against 'struct of_device_id' table and getting out
>> the match data from the table entry.
>>
>> There is a of_machine_compatible_match() wrapper but it takes array of
>> strings, which is not suitable for many drivers since they want the
>> driver data associated with each compatible.
>>
>> Add two wrappers, similar to existing of_device_get_match_data():
>> 1. of_machine_device_match() doing only matching against 'struct
>> of_device_id' and returning bool.
>> 2. of_machine_get_match_data() doing the matching and returning
>> associated driver data for found compatible.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> ---
>>
>> All further patches depend on this.
>> ---
>
> ...
>>
>> +/**
>> + * of_machine_device_match - Test root of device tree against a of_device_id array
>> + * @matches: NULL terminated array of of_device_id match structures to search in
>> + *
>> + * Returns true if the root node has any of the given compatible values in its
>> + * compatible property.
>> + */
>> +bool of_machine_device_match(const struct of_device_id *matches)
>
> Will it be more useful if pass down path
Path is fixed, there is no point to pass it. If you claim otherwise,
please bring example what benefits would it bring, instead of just
asking nitpicking questions.
>
> of_machine_device_match(const char* path, const struct of_device_id *matches)
>
> caller just pass "\", or NULL point as root
>
>> +{
>> + struct device_node *root;
>> + const struct of_device_id *match = NULL;
>> +
>> + root = of_find_node_by_path("/");
>
> Use clean up will simplify code
>
> struct device_node *root = __free(device_node) = of_find_node_by_path("/");
Not much difference. Look at existing code first. This should not
introduce different style.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-11-07 7:01 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 19:07 [PATCH 00/13] of: Add wrappers to match root node with OF device ID tables Krzysztof Kozlowski
2025-11-06 19:07 ` [PATCH 01/13] " Krzysztof Kozlowski
2025-11-06 19:53 ` Frank Li
2025-11-07 7:00 ` Krzysztof Kozlowski [this message]
2025-11-07 17:11 ` Frank Li
2025-11-06 19:07 ` [PATCH 02/13] cpufreq: dt-platdev: Simplify with of_machine_get_match_data() Krzysztof Kozlowski
2025-11-10 11:07 ` Viresh Kumar
2025-11-06 19:07 ` [PATCH 03/13] cpufreq: mediatek: " Krzysztof Kozlowski
2025-11-10 11:07 ` Viresh Kumar
2025-11-06 19:07 ` [PATCH 04/13] cpufreq: sun50i: Simplify with of_machine_device_match() Krzysztof Kozlowski
2025-11-07 13:12 ` Chen-Yu Tsai
2025-11-10 11:07 ` Viresh Kumar
2025-11-06 19:07 ` [PATCH 05/13] cpufreq: ti: " Krzysztof Kozlowski
2025-11-08 14:38 ` Krzysztof Kozlowski
2025-11-06 19:07 ` [PATCH 06/13] cpuidle: big_little: " Krzysztof Kozlowski
2025-11-06 19:07 ` [PATCH 07/13] firmware: qcom: scm: " Krzysztof Kozlowski
2025-11-07 8:45 ` Konrad Dybcio
2025-11-06 19:07 ` [PATCH 08/13] irqchip/atmel-aic: Simplify with of_machine_get_match_data() Krzysztof Kozlowski
2025-11-10 14:10 ` Nicolas Ferre
2025-11-11 21:14 ` Thomas Gleixner
2025-11-06 19:07 ` [PATCH 09/13] platform: surface: " Krzysztof Kozlowski
2025-11-10 11:49 ` Ilpo Järvinen
2025-11-06 19:07 ` [PATCH 10/13] powercap: dtpm: " Krzysztof Kozlowski
2025-11-06 19:07 ` [PATCH 11/13] soc: qcom: " Krzysztof Kozlowski
2025-11-07 3:19 ` Dmitry Baryshkov
2025-11-07 7:02 ` Krzysztof Kozlowski
2025-11-07 7:08 ` Krzysztof Kozlowski
2025-11-07 14:23 ` Dmitry Baryshkov
2025-11-07 14:58 ` Krzysztof Kozlowski
2025-11-08 16:31 ` Dmitry Baryshkov
2025-11-09 19:06 ` Krzysztof Kozlowski
2025-11-06 19:07 ` [PATCH 12/13] soc: qcom: ubwc: " Krzysztof Kozlowski
2025-11-07 3:19 ` Dmitry Baryshkov
2025-11-06 19:07 ` [PATCH 13/13] soc: tegra: Simplify with of_machine_device_match() Krzysztof Kozlowski
2025-11-07 10:41 ` Jon Hunter
2025-11-07 9:12 ` [PATCH 00/13] of: Add wrappers to match root node with OF device ID tables AngeloGioacchino Del Regno
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=aced7337-eabd-4b05-a0d3-eea7079d08ec@kernel.org \
--to=krzk@kernel.org \
--cc=Frank.li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=daniel.lezcano@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=konradybcio@kernel.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=luzmaximilian@gmail.com \
--cc=matthias.bgg@gmail.com \
--cc=nicolas.ferre@microchip.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=samuel@sholland.org \
--cc=saravanak@google.com \
--cc=tglx@linutronix.de \
--cc=thierry.reding@gmail.com \
--cc=tiny.windzz@gmail.com \
--cc=viresh.kumar@linaro.org \
--cc=wens@kernel.org \
/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).