From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADC4B3F4DE6; Thu, 28 May 2026 15:47:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779983231; cv=pass; b=eCn5M+VLtAOYy8ZkPcHYCCfTM98DmUCLNRyjAQCFOFd9OhHrZCIxIAZmouXdSsmMY89gnAO6IUJUrJagx8TuL117K691ONa8eZBO8ZJre4ZMdOveHcVx8QkzUkwFUB/yPjxa0lJBltRZeR2oK2PJtI7w9+AtpdOZKzHibBQKQko= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779983231; c=relaxed/simple; bh=YrIFYnNwK75hqr+l1VVedPTBsTSrKgJulBagzMf3kdQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=iA3A1YTZ5tMG5P/xkiEGCH4fhtrj8jcm59uY8eEeRu5+TuyzznppNzZppa9/DVmcrQxG9Z12kn+Ayuxr64KlXCf2X5VUf/oUGpQCF1scDnOO5ArMlzOsqYMVNLJSG+3ITTfynglswKMjp3mnK8Lsy1CG4hmxVvDltcPuvD3jRAs= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b=R0mlm6TV; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com header.b="R0mlm6TV" ARC-Seal: i=1; a=rsa-sha256; t=1779983187; cv=none; d=zohomail.com; s=zohoarc; b=GHWMHdoWNcU15l0hvRveP46RyYdqPgCNIeJOJbgJI9JBobYiofMCMQDP9tkyRw47bS6196r8P9gujSO6cNJ9Ac5kv/bPGASHU7fkljblkRp5xGqhzxVFEPJvBplRIblIb4HnGhMU1zkIXRKyOlTy8syLsNSciYqlZYJrNnrZGdg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779983187; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=TdX9/bZga6Qg6ao7lAnopeSLFZmhgNqsCFRMGQo40M0=; b=hnRAzfqXviyjhZIjxpBSmwxqGkCfShiXtPnNYqedxGvcMfnf2fvfm9L00qulOPvmRbankDXGxKrmhNds05DPIqHJVOPhitigUxdoObfdeZRi2AXap80Tcxqq4s4Jgja7nsUTW8KIao9gayS/yaqATsbLz2nRRej1dIwvOkRhUcc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=nicolas.frattaroli@collabora.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1779983187; s=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Content-Type:Message-Id:Reply-To; bh=TdX9/bZga6Qg6ao7lAnopeSLFZmhgNqsCFRMGQo40M0=; b=R0mlm6TVO+9eUKq9MnKnKU3dLEa/hEkLVmVw68chR+YqDd8tvgRJEpMlFBM5I/5b c6+TcHKMz7YIBp1eqtoYItnX8cbubTExtEOZ+GY+weuPi7GZAMLommCqfp7gb4Fd1hy 09jBTk09vbl4tp4nh1BvU45oHlAvHghEBJXyExbE= Received: by mx.zohomail.com with SMTPS id 1779983186292414.93444418879574; Thu, 28 May 2026 08:46:26 -0700 (PDT) From: Nicolas Frattaroli To: Heikki Krogerus , Greg Kroah-Hartman , Dmitry Baryshkov , Peter Chen , Luca Ceresoli , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I , Heiko Stuebner , Sandy Huang , Andy Yan , Yubing Zhang , Frank Wang , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Amit Sunil Dhamne , Dragan Simic , Johan Jonker , Diederik de Haas , Peter Robinson , Hugh Cole-Baker , dri-devel@lists.freedesktop.org, Chaoyi Chen Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org, Chaoyi Chen Subject: Re: [PATCH v15 2/9] drm/bridge: aux: Add drm_aux_bridge_register_from_node() Date: Thu, 28 May 2026 17:46:15 +0200 Message-ID: In-Reply-To: <20260304094152.92-3-kernel@airkyi.com> References: <20260304094152.92-1-kernel@airkyi.com> <20260304094152.92-3-kernel@airkyi.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" On Wednesday, 4 March 2026 10:41:45 Central European Summer Time Chaoyi Chen wrote: > From: Chaoyi Chen > > The drm_aux_bridge_register() uses the device->of_node as the > bridge->of_node. > > This patch adds drm_aux_bridge_register_from_node() to allow > specifying the of_node corresponding to the bridge. > > Signed-off-by: Chaoyi Chen > Reviewed-by: Neil Armstrong > --- > > (no changes since v11) > --- > > drivers/gpu/drm/bridge/aux-bridge.c | 24 ++++++++++++++++++++++-- > include/drm/bridge/aux-bridge.h | 6 ++++++ > 2 files changed, 28 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/aux-bridge.c b/drivers/gpu/drm/bridge/aux-bridge.c > index b3e4cdff61d6..52dff4601c2d 100644 > --- a/drivers/gpu/drm/bridge/aux-bridge.c > +++ b/drivers/gpu/drm/bridge/aux-bridge.c > @@ -35,6 +35,7 @@ static void drm_aux_bridge_unregister_adev(void *_adev) > /** > * drm_aux_bridge_register - Create a simple bridge device to link the chain Function name needs to be changed here as well. You can validate kernel doc strings for a single file with: ./tools/docs/kernel-doc -v -none drivers/gpu/drm/bridge/aux-bridge.c With that fixed: Reviewed-by: Nicolas Frattaroli Kind regards, Nicolas Frattaroli > * @parent: device instance providing this bridge > + * @np: device node pointer corresponding to this bridge instance > * > * Creates a simple DRM bridge that doesn't implement any drm_bridge > * operations. Such bridges merely fill a place in the bridge chain linking > @@ -42,7 +43,7 @@ static void drm_aux_bridge_unregister_adev(void *_adev) > * > * Return: zero on success, negative error code on failure > */ > -int drm_aux_bridge_register(struct device *parent) > +int drm_aux_bridge_register_from_node(struct device *parent, struct device_node *np) > { > struct auxiliary_device *adev; > int ret; > @@ -62,7 +63,10 @@ int drm_aux_bridge_register(struct device *parent) > adev->dev.parent = parent; > adev->dev.release = drm_aux_bridge_release; > > - device_set_of_node_from_dev(&adev->dev, parent); > + if (np) > + device_set_node(&adev->dev, of_fwnode_handle(np)); > + else > + device_set_of_node_from_dev(&adev->dev, parent); > > ret = auxiliary_device_init(adev); > if (ret) { > @@ -80,6 +84,22 @@ int drm_aux_bridge_register(struct device *parent) > > return devm_add_action_or_reset(parent, drm_aux_bridge_unregister_adev, adev); > } > +EXPORT_SYMBOL_GPL(drm_aux_bridge_register_from_node); > + > +/** > + * drm_aux_bridge_register - Create a simple bridge device to link the chain > + * @parent: device instance providing this bridge > + * > + * Creates a simple DRM bridge that doesn't implement any drm_bridge > + * operations. Such bridges merely fill a place in the bridge chain linking > + * surrounding DRM bridges. > + * > + * Return: zero on success, negative error code on failure > + */ > +int drm_aux_bridge_register(struct device *parent) > +{ > + return drm_aux_bridge_register_from_node(parent, NULL); > +} > EXPORT_SYMBOL_GPL(drm_aux_bridge_register); > > struct drm_aux_bridge_data { > diff --git a/include/drm/bridge/aux-bridge.h b/include/drm/bridge/aux-bridge.h > index c2f5a855512f..7dd1f17a1354 100644 > --- a/include/drm/bridge/aux-bridge.h > +++ b/include/drm/bridge/aux-bridge.h > @@ -13,11 +13,17 @@ struct auxiliary_device; > > #if IS_ENABLED(CONFIG_DRM_AUX_BRIDGE) > int drm_aux_bridge_register(struct device *parent); > +int drm_aux_bridge_register_from_node(struct device *parent, struct device_node *np); > #else > static inline int drm_aux_bridge_register(struct device *parent) > { > return 0; > } > + > +static inline int drm_aux_bridge_register_from_node(struct device *parent, struct device_node *np) > +{ > + return 0; > +} > #endif > > #if IS_ENABLED(CONFIG_DRM_AUX_HPD_BRIDGE) >