Received: by 2002:ab2:60d1:0:b0:1f7:5705:b850 with SMTP id i17csp1908310lqm; Fri, 3 May 2024 09:41:30 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWxNYsGEeTniad84ohx/X9Hga2cTy0Luidxa3KhrZuTx/tct4LhPlUl2EwSAkwsUQCV3kr53zXIAWHyf8JCnhZd2jIt121UDOO8J0aXaA== X-Google-Smtp-Source: AGHT+IFv733CpI/+Q/KaLXF25ed6h6yvTe5uvd0ahu61WjifPNJaaTpJ0eNh08bo2618QD4Rh4K6 X-Received: by 2002:a05:6870:f688:b0:22e:98df:9a2 with SMTP id el8-20020a056870f68800b0022e98df09a2mr3567146oab.8.1714754489436; Fri, 03 May 2024 09:41:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714754489; cv=pass; d=google.com; s=arc-20160816; b=VcCzjZTNzSQ7sM54U+cKuTThGlQ8zEQbmbP6utvJFDQB35D4KEAuI7zyqYs+cirGHK wCcMFQOGYP9XXHVEAmiNlqib1wXTnQff7K9fste3n+OCbtqkCbA4sn0c6yk8MBdCogHI UcMwK8touykDAImwvr6QljIeGCWQyRjH3xZxhWSmRSojYhgSgGkpYL0oGRzQtuufT4bp Sxckqh/qCZYniGD/fYh866rjFXg1ZCLtEHZZTp2HP4r4lCQiNW3e4kjYOJgfr6S5894j uqNUZu/SuKdvE6npjyH1k4fjRbczZ8mnv3hCbtjEMhEPYL9FRxhEUML7eJJD/HmsQobT OxVw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=v/sfvCbsExxR+80Czjk0cax2wbMTf4eS83WNGKM8GpY=; fh=J0u8x3s/k023UEbLK71VgPzFqSxU+SDe+x9YLxjtY3g=; b=pt+VyiGbEg6YsSiSn3i5MZ2Dg3hxA2OTHdm59XNN5ixrVD1eYosbNNQCC5WVsGcEZD 0cAeiXaBGFxBrP3aIIVbT3Qhz9irLm5JKUmqaGckJW/lm3G5CPYkA7JwEhhNiMXZ4N7E roZzDZLGGTyVAkdKP7zTMPjkrpU1zYM+GZW9GEJuryH9o3HnUADAVHUhveN2Cijki4ON zxlIdPbf8ys51JIs3tgip7u8RQ+pGUUrF44zijAJbgrucCGW4uarS0kgEN959vsijinx G0qyR4nbCTpQzzi7Aqr03ooNcOHlMEH6Ot518r68ut7roRpgbmw1LEy9Gfcp9fe7HC1e mJ+g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=EeAisheX; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-167914-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-167914-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id 10-20020ac8574a000000b0043c5cc59d50si3678041qtx.90.2024.05.03.09.41.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 May 2024 09:41:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-167914-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=EeAisheX; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-167914-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-167914-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev 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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 212F11C2158F for ; Fri, 3 May 2024 16:41:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CCE5215687C; Fri, 3 May 2024 16:41:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="EeAisheX" Received: from out-170.mta1.migadu.com (out-170.mta1.migadu.com [95.215.58.170]) (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 66006156874 for ; Fri, 3 May 2024 16:41:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714754483; cv=none; b=TwoLoSR0+x+wnDrWK2XH+69hNWc9YAnlz+ekrxFqpKHwp3lDx/xmyOWhyhXTtkA1v8ii2dEa0P5jNr93BfYyFes1+OvASApJ756kzvL48GZ8TEy8DlrqzccmFKFxaZMOTsianlLg96Zs4l6ulEqyPNhCKUk3mmjwGYr9RsKN2AA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714754483; c=relaxed/simple; bh=xxXzab/h5WngKPhp8rlMUcre5HXMxpT+2FWsYt5O6ow=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=V2C++wfrx99X4gSEVj/LBSClp+pKkIDpntZLxKwYv3EmeRDhsnc3DdR0BnM9rq8Dh/fwkJJcp3d6B+JfgErH7NMvIxmi3J8ErlUYNreZ1+Kosx1RIY4Sis6UR5gBP4sTLurhwTvjBgh670ZwSZSsTHMOhpZPXUqZpqxfjX7hGIA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=EeAisheX; arc=none smtp.client-ip=95.215.58.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1714754479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=v/sfvCbsExxR+80Czjk0cax2wbMTf4eS83WNGKM8GpY=; b=EeAisheXkb40MSY0xLwm1raY+tGiU3GikmftKAiCst/fXFaiY/FNr51n9FB9macOr0HV3P OKTQCq4qrCswtQldOHHTkV1BN21B4/NQYKYEiCcG7qoCZYO7T6BK0czEcZM7QqZTPPgJec hsUvLi1AbTHJeZRUQ81+MZ3opH4DA/Q= From: Sui Jingfeng To: Andrzej Hajda Cc: Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH v5 00/10] drm/bridge: Allow using fwnode API to get the next bridge Date: Sat, 4 May 2024 00:40:56 +0800 Message-Id: <20240503164106.1172650-1-sui.jingfeng@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT Currently, the various display bridge drivers rely on OF infrastructures to works very well, yet there are platforms and/or devices absence of 'OF' support. Such as virtual display drivers, USB display apapters and ACPI based systems etc. Add fwnode based helpers to fill the niche, this allows part of the display bridge drivers to work across systems. As the fwnode API has wider coverage than DT counterpart and the fwnode graphs are compatible with the OF graph, so the provided helpers can be used on all systems in theory. Assumed that the system has valid fwnode graphs established before drm bridge drivers are probed, and there has fwnode assigned to involved drm bridge instance. Tested on TI BeaglePlay board. v1 -> v2: * Modify it66121 to switch togather * Drop the 'side-by-side' implement * Add drm_bridge_find_next_bridge_by_fwnode() helper * Add drm_bridge_set_node() helper v2 -> v3: * Read kernel-doc and improve function comments (Dmitry) * Drop the 'port' argument of it66121_read_bus_width() (Dmitry) * drm-bridge: sii902x get nuked v3 -> v4: * drm-bridge: tfp410 get nuked * Add platform module alias * Rebase and improve commit message and function comments v4 -> v5: * Modify sii9234, ch7033 and ANX7688 * Trivial fixes Sui Jingfeng (10): drm/bridge: Allow using fwnode APIs to get the next bridge drm/bridge: Add a helper to setup both the of_node and fwnode of drm bridge drm/bridge: simple-bridge: Use fwnode APIs to acquire device properties drm/bridge: display-connector: Use fwnode APIs to acquire device properties drm/bridge: sii902x: Switch to use fwnode APIs to acquire device properties drm-bridge: it66121: Use fwnode APIs to acquire device properties drm/bridge: tfp410: Use fwnode APIs to acquire device properties drm/bridge: sii9234: Use fwnode APIs to abstract DT dependent API away drm/bridge: ch7033: Switch to use fwnode based APIs drm/bridge: anx7688: Switch to use drm_bridge_set_node() helper drivers/gpu/drm/bridge/chrontel-ch7033.c | 14 ++-- drivers/gpu/drm/bridge/cros-ec-anx7688.c | 3 +- drivers/gpu/drm/bridge/display-connector.c | 25 ++++---- drivers/gpu/drm/bridge/ite-it66121.c | 57 ++++++++++------- drivers/gpu/drm/bridge/sii902x.c | 45 +++++-------- drivers/gpu/drm/bridge/sii9234.c | 8 ++- drivers/gpu/drm/bridge/simple-bridge.c | 23 +++---- drivers/gpu/drm/bridge/ti-tfp410.c | 41 ++++++------ drivers/gpu/drm/drm_bridge.c | 74 ++++++++++++++++++++++ include/drm/drm_bridge.h | 18 +++++- 10 files changed, 201 insertions(+), 107 deletions(-) -- 2.34.1