From nobody Sun Feb 8 09:07:39 2026 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (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 9026A2F3C20 for ; Wed, 8 Oct 2025 08:28:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; cv=none; b=pqmKAi0Fg+SxC/2qof2Gdb8eQX+BjUwlgfhsAB1JUsLMcqgcqhc6NE9gDHW2OrDMVDuyJ9kdkV42vJiguewBKqL+3Xb8aqojVR+4FqocvWRg0K9lL6yyycZTPHVatBtlDwAAs8E+rFOChue8BwnlH1oGbYIKmfkQL8YIHv4sXvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; c=relaxed/simple; bh=xzA3Ub2UvKb+tHtSp6GxijYDj63Obr+PQT6bfR/gf6Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uER4Qxem9m/pSk8Wmnpiu8W3xFecU17xcItfBiBfHbBCTm4lm2SjAXS9Hmn34rh5BKZzrFmKtVb7/rXEl3klMJUuxIkZYMByupLukXaSNc4F/K7/i9LESf7HvJAJryAh/ZouE+vHyj317VYYWv5446paqJujSX6njMafYxIBq1c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mJoK/Bgq; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mJoK/Bgq" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-57b7c83cc78so721595e87.1 for ; Wed, 08 Oct 2025 01:28:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759912119; x=1760516919; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OifoNvdWUvVz1qHCNeTwOsRbnki2weR8++KzH+uzE4Q=; b=mJoK/BgqCW9VVX9DspPqxycf8ddkbx8ZAlCZgjMsnYyB3q28Mw8qU3+h3PVwfZEtmZ uPCH5mnMAPw12vLxUp8CGlocQDxGZZOyFYupz2JU7oRXNFJrcl9zkcILtcQFdHrNoWEq kzs9KfAPoH4W49dWzn3+HhMeYCb3IlWMiNbfKPDIL9KF9/p5bDScRaLPVtfO7dFAvG05 ax92wPEtV9TdbdBo3tDU6pKCkb486Vlmbh5AXmInZP1rHAY4GBDBby/Z9xM4uR2a8bFw VJvqhcBJepGFSMoB9Pyk5zJNDLLuKQdG9T7YuK32pvxA9aV2kMCfLItp54uGyZrpgltw iCiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759912119; x=1760516919; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OifoNvdWUvVz1qHCNeTwOsRbnki2weR8++KzH+uzE4Q=; b=EhawRsWYupbiKhojapOVbcvfxb5L9VWvV//Ag9wSOzJaJBbu5wpb2jAuRqEzjV9UDb p+TyoANOjvVkM1+/AC/Nm73+1FCfyZ+XlKgoatexa9/rGyOfCWAE0rCKDIAv6KGtSi3J aVaM0+hMD5OJnCogXepIeScGdUc9+bDNV8ytFlgO4XIysxVgozbNGFwF+HPz+NPTGrdY ELt7pdMbUhgmBMXxvadNQ5enCbPBBMwEzpkThY111xIdeH6vx7blqv3ledk71kSe+Cni oZtXqTwKqoXBtoziUt9aP8QrTzp3KGoB3vjBYsCmc/1J1nV1eD+wA6iqJB3//8MR/eEX IXWw== X-Forwarded-Encrypted: i=1; AJvYcCXD5TuGI1dPeeupR+xt1eX8mse4n8fmXYoEozakh4vbroW/ZePzmj/XF5//fkPH4Z/chUdTOHKs8ZQ8yG8=@vger.kernel.org X-Gm-Message-State: AOJu0YwkOS0TJamQr81STz0em/vddH73+4jVjT+jM+imKQHIA69bVvRd QyCzEd7UIs3i3XKLJXpdroan2/G7ydmi38iftp0N5DKaFsgkZeqAuW2Y X-Gm-Gg: ASbGncvftb/yDfB9ZsybuGfXkcX45c253Cl0iP0WGqvJRDQkRFjWd+Qe65uzABqXaos 0wxmZUPYGmas01QQEJ/AThRfULl9L6UOO7llnC9xd4WvLB7WbUveorS0XwFa6xTfj3utQPqgLRt /ePb34a58RQHkG+NV1VTd873je3t7pnvifnOvTZ6vWYllGi99gMQYHjXhWJ4WCuIMq8Y5dEzPAI pbHFXRHd8wTLe6RxBTNmzRW3h8q88rU2v3fCT/gvS7S5RXclnfgFjIOFMr2rheOYXvBe7XW/gVg ynM8Lkjz/pmaT2+Qc8MnozrCsgIurQtvHj9Xm4bV31M0vqG6/nsWVIcf0zNuM+VTWKvmFtJoy2N FE5ZX32+AoengtkK67yuEuM3pIfTggWfwXXSd48w7jejIdahh X-Google-Smtp-Source: AGHT+IHfIjb+vp+D8iidYlh2VgbHqf5szlozN2l0NR3ftIsB0ghBzmQUoPOzH+DwkkgGa53YEvsiXQ== X-Received: by 2002:a05:6512:31c3:b0:583:9860:1405 with SMTP id 2adb3069b0e04-5905e1d2d85mr1863965e87.4.1759912118491; Wed, 08 Oct 2025 01:28:38 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58b01124649sm6968733e87.15.2025.10.08.01.28.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Oct 2025 01:28:38 -0700 (PDT) From: Svyatoslav Ryhel To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , Douglas Anderson , Svyatoslav Ryhel , Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v2 1/7] dt-bindings: display: panel: properly document LG LD070WX3 panel Date: Wed, 8 Oct 2025 11:27:53 +0300 Message-ID: <20251008082800.67718-2-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251008082800.67718-1-clamor95@gmail.com> References: <20251008082800.67718-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable LG LD070WX3-SL01 was mistakenly documented as a simple DSI panel, which it clearly is not. Address this by adding the proper schema for this panel. There is only one user of this panel binding in the mainline Linux kernel, which is the Nvidia tablet Tegra Note 7. Its panel is broken anyway since it cannot initialize properly if the bootloader does not leave a pre-initialized panel. It also cannot suspend or re-initialize properly, since no DSI configuration is set and it has a loose regulator which relies on an always-on property rather than being hooked to the panel where it belongs. Tegra Note 7 device tree is adjusted as a part of this series. Signed-off-by: Svyatoslav Ryhel Acked-by: Conor Dooley --- .../bindings/display/panel/lg,ld070wx3.yaml | 60 +++++++++++++++++++ .../display/panel/panel-simple-dsi.yaml | 2 - 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/panel/lg,ld07= 0wx3.yaml diff --git a/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.ya= ml b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml new file mode 100644 index 000000000000..0a82cf311452 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/lg,ld070wx3.yaml @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/lg,ld070wx3.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: LG Corporation 7" WXGA TFT LCD panel + +maintainers: + - Svyatoslav Ryhel + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + items: + - const: lg,ld070wx3-sl01 + + reg: + maxItems: 1 + + vdd-supply: true + vcc-supply: true + + backlight: true + port: true + +required: + - compatible + - vdd-supply + - vcc-supply + +additionalProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "lg,ld070wx3-sl01"; + reg =3D <0>; + + vdd-supply =3D <&vdd_3v3_lcd>; + vcc-supply =3D <&vcc_1v8_lcd>; + + backlight =3D <&backlight>; + + port { + endpoint { + remote-endpoint =3D <&dsi0_out>; + }; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-d= si.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.= yaml index 9b92a05791cc..f9f1e76a810c 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml @@ -42,8 +42,6 @@ properties: - kingdisplay,kd097d04 # LG ACX467AKM-7 4.95" 1080=C3=971920 LCD Panel - lg,acx467akm-7 - # LG Corporation 7" WXGA TFT LCD panel - - lg,ld070wx3-sl01 # LG Corporation 5" HD TFT LCD panel - lg,lh500wx1-sd03 # Lincoln LCD197 5" 1080x1920 LCD panel --=20 2.48.1 From nobody Sun Feb 8 09:07:39 2026 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) (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 D11B02F3C25 for ; Wed, 8 Oct 2025 08:28:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; cv=none; b=rY8QuLcv+Mdv0sJeJ5mnwhUQlorsXbfkQnHb43zG/yNvKDMWxx9Wl1NXoGj1ojtd9CwD3EL1KKPi3CLC+ihmeiDcSySyrA9dbjbKfU3FoPFRYYpV5KwGVIPk5nDUG9wV1iY8LrhD6ahYw5F259/jqjbPqBOgXBIdn2oIO4NRkCM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759912124; c=relaxed/simple; bh=QoSku9VaeWlwh+dizK5x58I9zeTgu1WkAhKhFXjt1m0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g+2Jsnm7ZyO+Bb4rDLlNqaQbAyI4Zq01tLfGcGrUQFeOSiJeiJMXlDVeE0zuiJAB9NrVAUZqECSO7SXPwe27QnpqK0Cas6YQUom/adtNBeCfNYFJVyKiNja2w9Aj9DFUXkqVLEz7AY0C6xI5c6r4UAZ7JvAwwkL8eZjtKMGl2vw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XwCWKOil; arc=none smtp.client-ip=209.85.167.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XwCWKOil" Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-57db15eeb11so9023258e87.2 for ; Wed, 08 Oct 2025 01:28:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759912120; x=1760516920; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=u3xRBN1mi5cHuuVpp9O4YBgVhxFa3PfPjekhp6r+JtA=; b=XwCWKOilpLiK6Hgv7e291a1ZS+miY5zd4rYe7+PKqESSOQho2XI2TxCv0V/3vs5Ji6 vZXfmF2EXIEqri7iTvXzjKSYNtXOnRn6LdPguzs44m6P4PXEyv3xZGArXM8j/ZGT9Kxn rrCyflEATZ4AHISIiOAOo503k2EmekeJgbbl57umUfoTtY3ftbFN4gwaINciYpkByQ1f OlyowNqKitCvFyaL2zqr9BUAYTCTH7C7w/p+2I4AjzDtUkiH+tGC5S9GI9avI/nwZShS Y+2EP3YHaSFOlzb0WlWYh+/c6bUBvbVdW9m3O0k4uj0ZdtGcifsU5aRZPB+TTrUz4/yK e5Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759912120; x=1760516920; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u3xRBN1mi5cHuuVpp9O4YBgVhxFa3PfPjekhp6r+JtA=; b=QonCdQcIazoaU6RpRQlEkinpr0q9gzmhRJSFIZB6/hNQNyKttPny8ckYfcm31O3fcF cdlfuHuD07HXLxd2R7et156FZRESXLX+w2RQshyioWCaoSUZXV/fVDI+92Zh5es5PiMJ LU4qdbU0KkMpw2GbTTCW418tMFRG/ag6DDqFCUqx2TCvH5MH2ZMo/aCm6GeySYo8aJez 3L9y1bKBKSibMn0LGbz5QtJMTr/h6oFupC0bgrhlRNlJYhhVC+usjcjHHCwKO6Q6l5dH Y4A5SHrFpuHjDYfoYZXAVIXhs82Mc0cZNYprP6jhh8MiibsPXem87Q+4B7/7aG09lU0k jW5w== X-Forwarded-Encrypted: i=1; AJvYcCVbEZYmyH2Eqp95JMDOQkdEUzOcTVrGIwkgmtjyTQFYXBiw6X5FBnM0UMDrATtAcfZCLAouz97P5iFqR7k=@vger.kernel.org X-Gm-Message-State: AOJu0YwhGKiQ1Vcr4J5mbFEE0CXah/vq6ehlpWXq5rkjDGMx+8WH16ry y0B0/Z/BKA9gWa4pBSUKouottm/NmAuCJ0eOzlinZnct2sY65qNaGX1j X-Gm-Gg: ASbGncuCke4MAo0DqzuVsLABa9pTyYPvVZP6U4FX1KlKmyVf5023x+Kv7rFmTNei8uH 5DlA6n571CLwvU/0ytyw94i4oL9uznPsKP84zdFCtXYWJjKsDQ3KUN+74oFNr2AAZ9vfsHx20c7 zTrr1ESyvdAsY4AOOnYtxFGhB+8OQqaQJk0QZ5mDm68yVGkptPnvFEw8BJI6/Rmsunl9GY7YQx3 VjfSOVXHFSdSTnVO97sIQCrdYvR5v4Z5KRmGr5xT3hhHEAmDly1hoBj8E+6wF6rSMraDK/dwhs/ v/MEkZwSdrNhpqaNAcM1yBV4hNjfjX6K4lepV/9iX9a3G32aIfKa8Yi0ud75lUyUxVn3Gvcr/Ko +mlgQWUKE6H7XybJt3IpV6m86M3BP2jnVH41taCq1cX6XyIYG X-Google-Smtp-Source: AGHT+IGLrCwrsQv0XCIyjqKTtF+BFVlHEsZ9yYyA7OEnC9q3xAjSOV3+49l6SGHi0aXqi7XUO0tuhg== X-Received: by 2002:a05:6512:3f28:b0:580:ecd1:30af with SMTP id 2adb3069b0e04-5906d8ee866mr663657e87.30.1759912119702; Wed, 08 Oct 2025 01:28:39 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-58b01124649sm6968733e87.15.2025.10.08.01.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Oct 2025 01:28:39 -0700 (PDT) From: Svyatoslav Ryhel To: Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Jonathan Hunter , Douglas Anderson , Svyatoslav Ryhel , Sam Ravnborg Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v2 2/7] gpu/drm: panel: add support for LG LD070WX3-SL01 MIPI DSI panel Date: Wed, 8 Oct 2025 11:27:54 +0300 Message-ID: <20251008082800.67718-3-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251008082800.67718-1-clamor95@gmail.com> References: <20251008082800.67718-1-clamor95@gmail.com> 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" The LD070WX3 is a Color Active Matrix Liquid Crystal Display with an integral Light Emitting Diode (LED) backlight system. The matrix employs a-Si Thin Film Transistor as the active element. It is a transmissive type display operating in the normally Black mode. This TFT-LCD has 7.0 inches diagonally measured active display area with WXGA resolution (800 by 1280 pixel array). LG LD070WX3-SL01 MIPI DSI panel was treated as simple DSI panel when it is actually not and requires proper setup for correct work. Simple panel work relied on preliminary configuration done by bootloader. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Douglas Anderson --- drivers/gpu/drm/panel/Kconfig | 13 ++ drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-lg-ld070wx3.c | 184 ++++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 31 ---- 4 files changed, 198 insertions(+), 31 deletions(-) create mode 100644 drivers/gpu/drm/panel/panel-lg-ld070wx3.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 56d9377934c4..cf6174da5105 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -408,6 +408,19 @@ config DRM_PANEL_LG_LB035Q02 (found on the Gumstix Overo Palo35 board). To compile this driver as a module, choose M here. =20 +config DRM_PANEL_LG_LD070WX3 + tristate "LG LD070WX3 MIPI DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select VIDEOMODE_HELPERS + help + Say Y here if you want to enable support for the LD070WX3 MIPI DSI + panel found in the NVIDIA Tegra Note 7 tablet. + + To compile this driver as a module, choose M here: the module will + be called panel-lg-ld070wx3. + config DRM_PANEL_LG_LG4573 tristate "LG4573 RGB/SPI panel" depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 0356775a443a..9281221183ac 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -41,6 +41,7 @@ obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) +=3D panel-l= eadtek-ltk050h3146w.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) +=3D panel-leadtek-ltk500hd18= 29.o obj-$(CONFIG_DRM_PANEL_LINCOLNTECH_LCD197) +=3D panel-lincolntech-lcd197.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) +=3D panel-lg-lb035q02.o +obj-$(CONFIG_DRM_PANEL_LG_LD070WX3) +=3D panel-lg-ld070wx3.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) +=3D panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_LG_SW43408) +=3D panel-lg-sw43408.o obj-$(CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966) +=3D panel-magnachip-d53e6ea= 8966.o diff --git a/drivers/gpu/drm/panel/panel-lg-ld070wx3.c b/drivers/gpu/drm/pa= nel/panel-lg-ld070wx3.c new file mode 100644 index 000000000000..00cbfc5518a5 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-lg-ld070wx3.c @@ -0,0 +1,184 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include +#include +#include +#include +#include +#include +#include +#include + +#include