From patchwork Tue Nov 14 15:01:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sui Jingfeng X-Patchwork-Id: 16570 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:a59:b0:164:83eb:24d7 with SMTP id 25csp1987045rwb; Tue, 14 Nov 2023 07:10:02 -0800 (PST) X-Google-Smtp-Source: AGHT+IGpfhSoLQZ/gCZQcTZlgy9YdAsBjVD3o5CBK30U2XlLaXS/ro/RRsGnoEfZTteZDxSG+QtN X-Received: by 2002:a17:90a:9a3:b0:274:755b:63b8 with SMTP id 32-20020a17090a09a300b00274755b63b8mr10322446pjo.43.1699974601793; Tue, 14 Nov 2023 07:10:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699974601; cv=none; d=google.com; s=arc-20160816; b=mNVDpk2Wlj0nDvJmxqFZXFE23UNiqCC6xAd+uFED2rChenY1IZAd3K4KGYB7eFusxA bATP2c7W+ssdNiEEdC9ehCAdPl1b2Xyyp92R9oPib+88M1NaW67OPz486YAxgXYJpuS1 wkdYtDJP4UUYQerydS7OM1PVddtLNAAUQP7wCxKGAChjJrUT1foYbMbWsmVN3o+0+Lop NcbKq0wtfZ+Z+t7575ySfNgMhWSpNn7sOJj//tl64ZZUD1MY2EXr1ETf5kfrvZ9PN5Nt l53moFJ6Uni8Rc382owg+kvitA5gCXEHkQ7eohV+QA9v+cMf5R/xBv/L4eLwgApXN2UH ZXJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=aSK3PhR7N6sZarhUbzOpQIf2xDy+MEi2YkvSFf8r3Lk=; fh=AsQUxY17UP4I4ANjAjzQGhV+/8Tz+vG6DJFG+Cn0IYE=; b=dcOFKqnytu6twapSRMNVdFSzrNtBGk/Jdy+9MdvGEf8WTMLsTIuumqkHPlyikgcufg SM3bG5cfilvJynXLR2xbE9ZZ/MxY63Q88oMrbJ4aS53Q9igRneeukb/XcVn1B3oQFDz5 nOiuzswpXspsCAjWmT6rkcFU6pgT4W4Ys4lDf9lfqjvHy5NV0jwPb/PS5itXx7gHPJPg hOdhM8zteRWjkJxIe5ka9EiDDCaKQ7XweEgaqrUFQR6H6RweVy/bsw3yE8iMzRF3qDC+ 9aORwKsa8UJ8CGZpZ/dud+q4jRULxcgBl6wOTRXG9s8W9uWC7HvHxhrrz20lYU21C1dg 9eug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="ZETvjTr/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id d3-20020a17090ad3c300b00273e2f407casi12424840pjw.76.2023.11.14.07.10.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 07:10:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="ZETvjTr/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 6E0E38106735; Tue, 14 Nov 2023 07:09:59 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233580AbjKNPJs (ORCPT + 29 others); Tue, 14 Nov 2023 10:09:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233460AbjKNPJh (ORCPT ); Tue, 14 Nov 2023 10:09:37 -0500 Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com [95.215.58.181]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 992DD1AD for ; Tue, 14 Nov 2023 07:09:32 -0800 (PST) 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=1699974115; 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=aSK3PhR7N6sZarhUbzOpQIf2xDy+MEi2YkvSFf8r3Lk=; b=ZETvjTr/XoDUk1cALkokOKwWkjnYzpn+7hVWxVNdT9D8sYNONctRfHkEHuSBSNWYpvVaca One6lWWPF3vAxPEkZ19n1MKps/UJ16JOpyTi3fEZdzDyJ9K3sNFo6976rZNa7gcsPT4Zi0 r7t23nPYD7WdzKYoyk0LpAJEREJAES4= From: Sui Jingfeng To: Phong LE , Neil Armstrong Cc: Laurent Pinchart , Maxime Ripard , Thomas Zimmermann , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Sui Jingfeng Subject: [PATCH 0/8] Allow link the it66121 display bridge driver as a lib Date: Tue, 14 Nov 2023 23:01:22 +0800 Message-Id: <20231114150130.497915-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 14 Nov 2023 07:09:59 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782552568391321657 X-GMAIL-MSGID: 1782552568391321657 From: Sui Jingfeng The goal is to make this driver usuable on non-DT based systems, while without introduce duplication and preserve code sharing. The first seven patch just doing trivial cleanup, the last patch try to solve the mentioned problem by allowing static linking. Tested on a ACPI-based platform: $ dmseg | grep drm ACPI: bus type drm_connector registered loongson 0000:00:06.1: [drm] dc: 264MHz, gmc: 529MHz, gpu: 529MHz loongson 0000:00:06.1: [drm] Dedicated vram start: 0xe0030000000, size: 64MiB loongson 0000:00:06.1: [drm] Loongson VBIOS version: 0.3 loongson 0000:00:06.1: [drm] Loongson VBIOS: has 8 DCBs loongson 0000:00:06.1: [drm] VRAM: 4096 pages ready loongson 0000:00:06.1: [drm] GTT: 32768 pages ready loongson 0000:00:06.1: [drm] lsdc-i2c0(sda pin mask=1, scl pin mask=2) created loongson 0000:00:06.1: [drm] lsdc-i2c1(sda pin mask=4, scl pin mask=8) created loongson 0000:00:06.1: [drm] DisplayPipe-0 has DVO-0 connector i2c 1-004c: IT66121 probed, chip id: 0x4954:0x612, revision: 1 loongson 0000:00:06.1: [drm] DisplayPipe-1 has IT66121@4c attached loongson 0000:00:06.1: [drm] Total 2 outputs loongson 0000:00:06.1: [drm] registered irq: 40 [drm] Initialized loongson 1.0.0 20220701 for 0000:00:06.1 on minor 0 loongson 0000:00:06.1: [drm] fb0: loongsondrmfb frame buffer device Sui Jingfeng (8): drm/bridge: it66121: Use dev replace ctx->dev in the it66121_probe() drm/bridge: it66121: Add bridge_to_it66121() helper and use it drm/bridge: it66121: Add a helper function to read bus width drm/bridge: it66121: Add a helper function to get the next bridge drm/bridge: it66121: Add a helper function to read chip id drm/bridge: it66121: Add a helper to initialize the DRM bridge structure drm/bridge: it66121: Add another implementation for getting match data drm/bridge: it66121: Allow link this driver as a lib drivers/gpu/drm/bridge/ite-it66121.c | 340 +++++++++++++++++++-------- include/drm/bridge/ite-it66121.h | 17 ++ 2 files changed, 258 insertions(+), 99 deletions(-) create mode 100644 include/drm/bridge/ite-it66121.h