Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1114361pxb; Tue, 19 Oct 2021 21:26:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyjaYAIAQFx1i0yxeJUzBhYs8YXFGb2tun/HQYbveg4dNgjkyfYFOcMyAOXoK266pn653ce X-Received: by 2002:a17:90b:4c4d:: with SMTP id np13mr4646186pjb.193.1634703963003; Tue, 19 Oct 2021 21:26:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634703962; cv=none; d=google.com; s=arc-20160816; b=JoglJkqCjE1zwn9mMSQ6HwtvtDplduNKiYYd3J6C05OQ+sdPZcYPMMgM4t8cwwAWZY kRfGqFHzGi1Cu6IQ4Ri2k3Ek2VJ4p4uCdvEEKLH9hc+YBxUgdEbHJhZnLobYhenvK/1f q/Wah2jYFoRUzioaAO9dVZXmgAe2GGfsGWu9irc73xJGecA/O4ururWyqc7pkI9pB+hK a5OSFIZiRukbHg8MEwp4C9xq3x4U/2OaAsjlrlhh4/pSchTICTAxJKVq0XZuDqShUCyU dbEcoqk46oR38w38SmcDluj/6WYoLHq9WgbYc+Prme0z7wIsv67HSYeUfL8bILNW1Qcx oZJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:user-agent:from :references:in-reply-to:mime-version:dkim-signature; bh=Bs3Hx7Xml+AKZzdgDE9rHnfZKTi0TD4gTNNMxvuouzw=; b=fYUMRdu2Eog2W6NTWZJ9t5l7BzaBcSMe/03hZXG5z7f0420/HErAd20ejCer6M/Egf /Tuh73TIiRQjmzCa2Cfx6Ba+ncThQkJ/nLjrYIn5As4A134eSzPVX17Gtftu5lA1+psY zCNsvQwDQWHNZQXlV8sZH1WOhnh5zLIk41QR3QtHVM2Jw9cyBa05C6OBnan93r5p6TJL nGJKSE9NPv4RlyzXyruZZvsRi5XkdQ6LERFnJqpjgSkK2762/Nv8R8MRnn7xEGmibDbC z6PA0DPF3vyCScsJ02+b18RiYLdkPXxllLXA3H3F4cRqziq8A8nH0If0fA8w9V23+WT9 AWLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=hRDpLNEW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j16si1440626pfi.326.2021.10.19.21.25.48; Tue, 19 Oct 2021 21:26:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=hRDpLNEW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229517AbhJTEZR (ORCPT + 99 others); Wed, 20 Oct 2021 00:25:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229458AbhJTEZQ (ORCPT ); Wed, 20 Oct 2021 00:25:16 -0400 Received: from mail-ot1-x32e.google.com (mail-ot1-x32e.google.com [IPv6:2607:f8b0:4864:20::32e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4E7EC06161C for ; Tue, 19 Oct 2021 21:23:02 -0700 (PDT) Received: by mail-ot1-x32e.google.com with SMTP id g62-20020a9d2dc4000000b0054752cfbc59so4673757otb.1 for ; Tue, 19 Oct 2021 21:23:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:user-agent:date:message-id :subject:to:cc; bh=Bs3Hx7Xml+AKZzdgDE9rHnfZKTi0TD4gTNNMxvuouzw=; b=hRDpLNEWqiqc9tbEifLp0DqHyPdzF9Sr5oiDPZyU8YMkJSwqlu3BKUPMQRC8AzY7Mt Y1kcLVaIv+n81zA6JJTdc43VxLZdnJ4eiTf0oK27JsSx7SGc3Dj5BqZGdBV6ooNTQ9WZ pnlbTJe8+nKB/kZ3FL+QgnG0c83kNRjgCn5LU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from :user-agent:date:message-id:subject:to:cc; bh=Bs3Hx7Xml+AKZzdgDE9rHnfZKTi0TD4gTNNMxvuouzw=; b=Eypv4uzUYR9m46PFfWjwg1QreEGESBQYGBoTFzxy34KCWxSPNBs+QLAJsKT6rctE6x OnTz61DMeZaXFlzOvxCqYTLZlyPl+5qYRiKokowPz/R+hlLB7Ydt1XOVC+QJPQQ9d1fA yp/vxiUxw6AtveQH9ZPDuVjm0vmJ6P01P7hWNgmuglfWt1zL6sLC2M6c/oGJRutu+bTx CABbrcE1ku2b1k+h17Ap6Pf/Fg+cN/Q2GPwizXk92HeVYMRs173rYWU0unz8f07l2niL rl6zYwLrV/hrQOtWKFrYJrvJ+AvtX6u0yX7H1scq7E3BhBSqaJ8i+9BEvgyV+uTvNuS9 rXeQ== X-Gm-Message-State: AOAM533UEQiambM8sKDri4pzgvUCwErsmW+lEaBU+wYWq79J+vfEtDxX 860TlRqaQ590s/7E3BF3GW3GEYlp/n4DBMDEvSozZA== X-Received: by 2002:a05:6830:1c2e:: with SMTP id f14mr8354158ote.159.1634703782105; Tue, 19 Oct 2021 21:23:02 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 19 Oct 2021 23:23:01 -0500 MIME-Version: 1.0 In-Reply-To: <1634621428-11652-1-git-send-email-mkrishn@codeaurora.org> References: <1634621428-11652-1-git-send-email-mkrishn@codeaurora.org> From: Stephen Boyd User-Agent: alot/0.9.1 Date: Tue, 19 Oct 2021 23:23:01 -0500 Message-ID: Subject: Re: [PATCH v2] drm/msm: use compatible lists to find mdp node To: Krishna Manikandan , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: kalyan_t@codeaurora.org, robdclark@gmail.com, freedreno@lists.freedesktop.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Krishna Manikandan (2021-10-18 22:30:28) > In the current implementation, substring comparison > using device node name is used to find mdp node > during driver probe. Use compatible string list instead > of node name to get mdp node from the parent mdss node. > > Signed-off-by: Krishna Manikandan > > Changes in v2: > - Use compatible lists instead of duplicate string > check (Stephen Boyd) > --- > drivers/gpu/drm/msm/msm_drv.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index 2e6fc18..451d667 100644 > --- a/drivers/gpu/drm/msm/msm_drv.c > +++ b/drivers/gpu/drm/msm/msm_drv.c > @@ -1241,9 +1241,13 @@ static int add_components_mdp(struct device *mdp_dev, > return 0; > } > > -static int compare_name_mdp(struct device *dev, void *data) > +static int find_mdp_node(struct device *dev, void *data) > { > - return (strstr(dev_name(dev), "mdp") != NULL); > + if (!dev->driver) I don't think we want to wait for the device to have an attached driver. That could be far later than when we're trying to add all the components here. Can you reference the match tables directly? > + return 0; > + > + return (of_match_node(dev->driver->of_match_table, > + dev->of_node) != NULL); Drop useless parenthesis. > } > > static int add_display_components(struct platform_device *pdev, > @@ -1268,7 +1272,7 @@ static int add_display_components(struct platform_device *pdev, > return ret; > } > > - mdp_dev = device_find_child(dev, NULL, compare_name_mdp); > + mdp_dev = device_find_child(dev, NULL, find_mdp_node); > if (!mdp_dev) { > DRM_DEV_ERROR(dev, "failed to find MDSS MDP node\n"); > of_platform_depopulate(dev);