Received: by 2002:ab2:3319:0:b0:1ef:7a0f:c32d with SMTP id i25csp430786lqc; Fri, 8 Mar 2024 01:31:48 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV4ErSbhEOJ/vEtnsOpBp3w6EiiWaGue3E3NGZuGDJ7KYIr/u6dMogLAP2Y/msy3W26cPRYGaL+y9mv821RfO917B5wEYPElZiCfF7gWQ== X-Google-Smtp-Source: AGHT+IFf8Hxaby4p2y62EKNby/6TI0AjJTYT4tvswCvxYX8xIcThQFWR8qKEOwNnFokroVHeYLkF X-Received: by 2002:a05:6a00:2d02:b0:6e5:9031:9885 with SMTP id fa2-20020a056a002d0200b006e590319885mr26582924pfb.23.1709890307782; Fri, 08 Mar 2024 01:31:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709890307; cv=pass; d=google.com; s=arc-20160816; b=qcLy2wR58EIicOsvqCWkS0I/n3W5WcU917qX1pjL52Py6i3gd6bndZXDUYiXf23aKE xXP4gC3SC1L76GZaHhyYHlUd7xeTLYvZHRkfrIIPzTr4pSsrOnpfPQaieEIz3AUyRURK DnyWGd6kOcway1jBUNVka499VjaA+7NLF+Nv11elQmbO8mP8HDkBja6r96gvXgM6+rKN L4CH/jfrZkjsen7adT43VkasmE5TT+spgXD4S4UDJiA+PQg+9R/YFSJwo2fIoF1vAaUo RCOo0bbmWz6af+A6kT04K5TsABqugafkVwpAG+0u+3HVf0DQ70DlQd+Oa8YF4z+m8Dda tdhw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:dkim-signature; bh=xTJ56TsgHxx+ey5O16dDKClnhRLxsOWJSpToCms/BRE=; fh=Ut4Xm5ly2+6GgLXwo6gK2jVJ/EXyu7HP8wyEXYKuyTI=; b=HKQl45VjuciCmvohVjxGmrsq/c3XaKKUbwlCPl5LU789WVgbnZo1kP/SenUpTHclf2 NqXEYQJZkmp/XBfgsLlCOUptyVcv0qLhzJV/PxDsdKooKKa6Q/6YxbLZvTs24DqByUBq UUadd76kkr/oq/c2KcuQGc9zFT511axFH5M7Pr4yGHTMEK4bBDaED4xLiiq5MhJdo01B tSc/vCVcsOVNnewwqsfstmlO6sbQtebJKlSoMCAU45jhuykJ62Si105/uXJ0+ezpzmgH UDMlDvR7ACYaJenbnaJV9+BPnrJIhwtspqOB2xEk00ZH2Mq0UXEFErPeyA6Y2HhWGybA FBgA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=Hk5w+bKc; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-96745-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-96745-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id l5-20020a63da45000000b005c67029a131si15594951pgj.220.2024.03.08.01.31.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Mar 2024 01:31:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-96745-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=Hk5w+bKc; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-96745-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-96745-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id E8E3FB211CF for ; Fri, 8 Mar 2024 09:29:53 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 450D252F79; Fri, 8 Mar 2024 09:29:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="Hk5w+bKc" Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C9EE53388 for ; Fri, 8 Mar 2024 09:29:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709890187; cv=none; b=L+x/ie56cjFqIl1VtumKOldALqaJphm0jmOgEbMOYhd6lgsodTNsE0a5bnry3Z2vuGhctZaQRlNNI16CIcW09O+VqK0vq/hQ4bZvuzKultRLgZo9/sEN8+LsCZiHBsub0cVRvCNzcIR2eWrPa/Ljd/gkudfluw6TSn+sILASVQ0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709890187; c=relaxed/simple; bh=/610z7NeZF3AbbrUp5Ct8IK+na88MeCP5euuoex7my0=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=bgIG8xdev4L7tOUTdTIWvxm6k8ENqsx5u78z2meEE164jTQ/rRFmACtMOG+Jr3xhMwX6OeUIiXZ617dwAk3r4Szx5tweGZM03KzIppgk4YaTrTJs/x+9ldzirNRntiX1qqlSQnKKhlXK9I4XV6N/W6wQjIw/1WMtW4ZfN2PDBAs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=Hk5w+bKc; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-564372fb762so794620a12.0 for ; Fri, 08 Mar 2024 01:29:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1709890183; x=1710494983; darn=vger.kernel.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xTJ56TsgHxx+ey5O16dDKClnhRLxsOWJSpToCms/BRE=; b=Hk5w+bKcsI4DKVXfVrgQUXpGnLBv56bBr9AVwMSQbl3JAhwEOXcIJSCPlGJ+BZtXNH FhoOV3EkGZMBa7SC+0BgrssnMCQprx8E4T/tG5L8+PGvke6uScjxMpb/mcwA6vmeFwlT 273vgYYA1isLu/vaCASpIxkBrfv8HHVN7HkifH3jqFCaM6PCzqUSuYshOU9Wk52mEoEq 5pWrlyo6aPh51az5yr4vZnmZ1tQjwiW/XkN4I42VmnHx/y+0kbSCPd63tjLTyftpaeja WTdEv/M1Ol8Zo2UA6a7EfqZ0alMRMlh/iVqRqRrH0j16OD0MVZDm5Ibv1lXwuojb5t8A ShNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709890183; x=1710494983; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xTJ56TsgHxx+ey5O16dDKClnhRLxsOWJSpToCms/BRE=; b=iqe9EdGCZFIolSxTKc+PP8UiEdvCEOtuARerFDtUmPc06bZq9WZ901o+SKBHDW5ReG HJ5I8AMz3pRUidP8MF8zE+KE6TcS/bmO+2OwCFfeHaF4U68vLX0OJ7o75w9L7J4qE97Z f8AD+lL8tsbeyNa06WuEKc4FgcQuJw0Bc7FFwX7pCXxwpcJDYA5eMsGL6vVwHt5BdAfN 4KuuJLa+ZMtDJULbbBvABxgz2JFIyKFbDKeDvpHegzovpBmIOU1iI3za/gk5FIITgHgQ QDxkbA07psZ8GySh83uy4mZtennto4/PxVW5bOmvFLonLYdhEA2cfsZ46rwE5nYAlSdZ aqWA== X-Forwarded-Encrypted: i=1; AJvYcCVIzfw89WNtRJ6OpUyDhox9dq0warrzDEzMVcUqd3eHZFlyFrsMyIX0CUgMsinXkrskqCS7CGjl6QU1WE0nSCUL8u6dNkpuhoZklEEQ X-Gm-Message-State: AOJu0YxpO3+tN0l42SropHWI7xWkMLsAxPUbgLCRwnAknCvxSO9to+0w CMMk/KhAnm6tXgjgIEM4M/tBOdGs9othq0fvpn35bmH3UOuprOlO9/ElDo8N6Ao= X-Received: by 2002:a17:906:b78c:b0:a44:44e0:868f with SMTP id dt12-20020a170906b78c00b00a4444e0868fmr12636544ejb.11.1709890183560; Fri, 08 Mar 2024 01:29:43 -0800 (PST) Received: from localhost (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id p5-20020a1709060dc500b00a4537466591sm5611025eji.32.2024.03.08.01.29.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 08 Mar 2024 01:29:43 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 08 Mar 2024 10:29:42 +0100 Message-Id: Cc: , "Andrzej Hajda" , "Robert Foss" , "Laurent Pinchart" , "Jonas Karlman" , "Jernej Skrabec" , "Maarten Lankhorst" , "Maxime Ripard" , "Thomas Zimmermann" , "David Airlie" , "Daniel Vetter" , <~postmarketos/upstreaming@lists.sr.ht>, , , Subject: Re: [PATCH] drm/bridge: Select DRM_KMS_HELPER for DRM_PANEL_BRIDGE From: "Luca Weiss" To: "Dmitry Baryshkov" X-Mailer: aerc 0.15.2 References: <20240111-drm-panel-bridge-fixup-v1-1-e06292f6f500@fairphone.com> In-Reply-To: On Sun Mar 3, 2024 at 9:37 PM CET, Dmitry Baryshkov wrote: > On Thu, 29 Feb 2024 at 11:27, Luca Weiss wrote= : > > > > On Wed Jan 17, 2024 at 9:59 AM CET, Luca Weiss wrote: > > > On Mon Jan 15, 2024 at 9:43 AM CET, Neil Armstrong wrote: > > > > Hi Luca, > > > > > > > > On 11/01/2024 13:38, Luca Weiss wrote: > > > > > Since the kconfig symbol of DRM_PANEL_BRIDGE is only adding > > > > > bridge/panel.o to drm_kms_helper object, we need to select > > > > > DRM_KMS_HELPER to make sure the file is actually getting built. > > > > > > > > > > Otherwise with certain defconfigs e.g. devm_drm_of_get_bridge wil= l not > > > > > be properly available: > > > > > > > > > > aarch64-linux-gnu-ld: drivers/phy/qualcomm/phy-qcom-qmp-combo.= o: in function `qmp_combo_bridge_attach': > > > > > drivers/phy/qualcomm/phy-qcom-qmp-combo.c:3204:(.text+0x8f4): = undefined reference to `devm_drm_of_get_bridge' > > > > > > > > > > Signed-off-by: Luca Weiss > > > > > --- > > > > > I can see "depends on DRM_KMS_HELPER" was removed with commit > > > > > 3c3384050d68 ("drm: Don't make DRM_PANEL_BRIDGE dependent on DRM_= KMS_HELPERS") > > Could you please make sure that the usecase described in the mentioned > commit message doesn't get broken by your change? Hi Neil, The problem fixed in that linked patch (3c3384050d68) is about fixing undefined reference errors with specific .config setups - similar to this patch. Since we're only adding a 'select' and not removing anything I don't see how it could cause new errors like that, and it does fix the one I'm describing. And also I checked again and I don't see any circular dependencies (something that was also mentioned in the linked patch), so apart from what I mentioned with that I'm not too familiar when 'select' should be used and when 'depend' should be used, it's good from my perspective. Regards Luca > > > > > > > > > > > I'm not too familiar with Kconfig but it feels more correct if > > > > > PHY_QCOM_QMP_COMBO selects DRM_PANEL_BRIDGE that that's enough; a= nd it > > > > > doesn't also has to explicitly select DRM_KMS_HELPER because of h= ow the > > > > > objects are built in the Makefile. > > > > > > > > > > Alternatively solution to this patch could be adjusting this line= in > > > > > include/drm/drm_bridge.h: > > > > > > > > > > -#if defined(CONFIG_OF) && defined(CONFIG_DRM_PANEL_BRIDGE) > > > > > +#if defined(CONFIG_OF) && defined(CONFIG_DRM_PANEL_BRIDGE) &&= defined(CONFIG_DRM_KMS_HELPER) > > > > > struct drm_bridge *devm_drm_of_get_bridge(struct device *dev,= struct device_node *node, > > > > > u32 port, u32 endpoi= nt); > > > > > > > > > > .. and then selecting DRM_KMS_HELPER for PHY_QCOM_QMP_COMBO. > > > > > > > > > > But I think the solution in this patch is better. Let me know wha= t you > > > > > think. > > > > > > > > I think this is no more the case after on linux-next: > > > > 35921910bbd0 phy: qcom: qmp-combo: switch to DRM_AUX_BRIDGE > > > > > > > > But could you still check ? > > > > > > On next-20240117 the error happens in the aux-bridge file instead the= n. > > > > > > aarch64-linux-gnu-ld: drivers/gpu/drm/bridge/aux-bridge.o: in functio= n `drm_aux_bridge_probe': > > > drivers/gpu/drm/bridge/aux-bridge.c:115:(.text+0xe0): undefined refer= ence to `devm_drm_of_get_bridge' > > > > > > I'm attaching the defconfig with which I can reproduce this but it's > > > really just DRM_KMS_HELPER=3Dn and PHY_QCOM_QMP_COMBO=3Dy I believe. > > > > Hi Neil, > > > > Ping on this patch > > > > Regards > > Luca > > > > > > > > Regards > > > Luca > > > > > > > > > > > > > > Neil > > > > > > > > > --- > > > > > drivers/gpu/drm/bridge/Kconfig | 1 + > > > > > 1 file changed, 1 insertion(+) > > > > > > > > > > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bri= dge/Kconfig > > > > > index ac9ec5073619..ae782b427829 100644 > > > > > --- a/drivers/gpu/drm/bridge/Kconfig > > > > > +++ b/drivers/gpu/drm/bridge/Kconfig > > > > > @@ -8,6 +8,7 @@ config DRM_BRIDGE > > > > > config DRM_PANEL_BRIDGE > > > > > def_bool y > > > > > depends on DRM_BRIDGE > > > > > + select DRM_KMS_HELPER > > > > > select DRM_PANEL > > > > > help > > > > > DRM bridge wrapper of DRM panels > > > > > > > > > > --- > > > > > base-commit: b9c3a1fa6fb324e691a03cf124b79f4842e65d76 > > > > > change-id: 20240111-drm-panel-bridge-fixup-5c2977fb969f > > > > > > > > > > Best regards, > >