[PATCH 11/13] soc: qcom: Simplify with of_machine_get_match_data()
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Thu Nov 6 19:19:33 PST 2025
On Thu, Nov 06, 2025 at 08:07:18PM +0100, Krzysztof Kozlowski wrote:
> Replace open-coded getting root OF node, matching against it and getting
> the match data with new of_machine_get_match_data() helper.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
>
> ---
>
> Depends on the first OF patch.
> ---
> drivers/soc/qcom/qcom_pd_mapper.c | 17 ++---------------
> 1 file changed, 2 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/soc/qcom/qcom_pd_mapper.c b/drivers/soc/qcom/qcom_pd_mapper.c
> index 1bcbe69688d2..07198d44b559 100644
> --- a/drivers/soc/qcom/qcom_pd_mapper.c
> +++ b/drivers/soc/qcom/qcom_pd_mapper.c
> @@ -613,25 +613,12 @@ static void qcom_pdm_stop(struct qcom_pdm_data *data)
> static struct qcom_pdm_data *qcom_pdm_start(void)
> {
> const struct qcom_pdm_domain_data * const *domains;
> - const struct of_device_id *match;
> struct qcom_pdm_data *data;
> - struct device_node *root;
> int ret, i;
>
> - root = of_find_node_by_path("/");
> - if (!root)
> - return ERR_PTR(-ENODEV);
> -
> - match = of_match_node(qcom_pdm_domains, root);
> - of_node_put(root);
> - if (!match) {
> - pr_notice("PDM: no support for the platform, userspace daemon might be required.\n");
> - return ERR_PTR(-ENODEV);
> - }
> -
> - domains = match->data;
> + domains = of_machine_get_match_data(qcom_pdm_domains);
> if (!domains) {
> - pr_debug("PDM: no domains\n");
> + pr_notice("PDM: no support for the platform or no domains, userspace daemon might be required.\n");
> return ERR_PTR(-ENODEV);
> }
Here you are mixing two cases:
- There is not match in the table (in which case the driver should print
a notice)
- There is a match in the table, but the data is NULL (the platform
doesn't have PDM domains). In this case there should be no notice.
--
With best wishes
Dmitry
More information about the linux-arm-kernel
mailing list