From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 31F8E3A0E92; Thu, 26 Feb 2026 09:23:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097817; cv=none; b=piNc46D/pCbVR/C5Zn5SzEuP7cqkMzNm+HzDcMR4/HXPub7t+OBwV2Privg0uCpDRBNuSA/TnpxG5khEf8+9DVO1C3MZ5sXYgH+h6znj/XlStI9RamCS3ix9xEtknUFeP5q1ILq8CgIGcTYiePmBqQwCzVzCsLR9Vj1r7c2yc7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097817; c=relaxed/simple; bh=QysluIeVSvrKlap+rezsDAYzH4W5DNX20vayPior2x4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=F3QfVAZr0MuszufyMOuECls/2lqM6VjI8SfRCN/T6ZXKVUeSjF7je9FR3OwVDNOPakDc5YoDatPT2u5agQvNB8Er6xI1mqQpNLfDcjSdk0YtSneldvwMTaEj5RCCMeZwvmKBXmCtlmv/ImF3kbMlPyQO5ECSciB4nW/LbqFq3PU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=BXR8cipo; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="BXR8cipo" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=IXo4vuq0xzatTmLcA9T1XT0eVXNVn18qljyDCqLTM14=; b=BXR8cipoxInHFUqeu2O1HEkiDV 44ImTJwqRCKkca2ThgQ0O45mqbMDazDJsNkRBkjKoFEzmXRyEnuNnogD55EV38REx84QyJrMPMuxF 3Fk+eRPNDb+sJHS+fA6KMcMu2hhUuh3CM1WkeFc5bQRsMclWSpsEJj/+52FXW3bLNOPA=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAs-0018Zt-Or; Thu, 26 Feb 2026 09:56:47 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:01 +0100 Subject: [PATCH 1/8] dt-bindings: media: i2c: document Omnivision OV08D10 CMOS image sensor 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 Message-Id: <20260226-ov08d10-v1-1-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This series provides basic device tree support and handling for power supplies, an optional reset, and the option to use a 24MHz input clock. In addition to a few minor fixes, a major problem with the configuration of the sensor modes has also been resolved. Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) Add YAML bindings for the Omnivision OV08D10 CMOS image sensor. Signed-off-by: Matthias Fend --- .../bindings/media/i2c/ovti,ov08d10.yaml | 101 +++++++++++++++++= ++++ MAINTAINERS | 1 + 2 files changed, 102 insertions(+) diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml = b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml new file mode 100644 index 0000000000000000000000000000000000000000..96dbf61cf7c188544f4120216ae= 2b8e0155128b7 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/ovti,ov08d10.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Omnivision OV08D10 1/4-Inch 8MP CMOS color image sensor + +maintainers: + - Jimmy Su + +description: + The Omnivision OV08D10 is a 1/4-Inch 8MP CMOS color image sensor with an + active array size of 3280 x 2464. It is programmable through I2C + interface. Image data is transmitted via MIPI CSI-2 using 2 lanes. + +allOf: + - $ref: /schemas/media/video-interface-devices.yaml# + +properties: + compatible: + const: ovti,ov08d10 + + reg: + maxItems: 1 + + clocks: + description: MCLK input clock (6 - 27 MHz) + maxItems: 1 + + reset-gpios: + description: Active low XSHUTDN pin + maxItems: 1 + + dovdd-supply: + description: IO power supply (1.8V) + + avdd-supply: + description: Analog power supply (2.8V) + + dvdd-supply: + description: Core power supply (1.2V) + + port: + $ref: /schemas/graph.yaml#/$defs/port-base + additionalProperties: false + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + required: + - data-lanes + - link-frequencies + + required: + - endpoint + +required: + - compatible + - reg + - clocks + - port + +unevaluatedProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + sensor@36 { + compatible =3D "ovti,ov08d10"; + reg =3D <0x36>; + + clocks =3D <&ov08d10_clk>; + + dovdd-supply =3D <&ov08d10_vdddo_1v8>; + avdd-supply =3D <&ov08d10_vdda_2v8>; + dvdd-supply =3D <&ov08d10_vddd_1v2>; + + orientation =3D <2>; + rotation =3D <0>; + + reset-gpios =3D <&gpio 1 GPIO_ACTIVE_LOW>; + + port { + ov08d10_output: endpoint { + data-lanes =3D <1 2>; + link-frequencies =3D /bits/ 64 <360000000 720000000>; + remote-endpoint =3D <&csi_input>; + }; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 55af015174a54e17cc7449e5a80b6cdc83aa6fde..2484d0bcc1f09582828cafbdb7d= 45dd12b55af60 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19505,6 +19505,7 @@ M: Jimmy Su L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media.git +F: Documentation/devicetree/bindings/media/i2c/ovti,ov08d10.yaml F: drivers/media/i2c/ov08d10.c =20 OMNIVISION OV08X40 SENSOR DRIVER --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 CD5BB3A1E72; Thu, 26 Feb 2026 09:23:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097840; cv=none; b=EZ/i8+XcHyCiPLoGEwTWdMK7TAhiY5hSAxbsMA2iZlMiVuWPkXcFRVdSa+j9aj1jfEUEWZYz/vLKbijz+b4fGuIdIWgjbUKMROyt/u/GZqA4YOoas3MT6559SrwvrSxv0ydYuqvF6F3jlx69aWsFVSASQ6YVTmb6HnOa/Hk1Zb0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097840; c=relaxed/simple; bh=YT4cbzFgCw12fUL5HcvaNDrFe02mGFZaNUh1cRBtyVo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JHEla/D2Q/IsHch8qOVU/hLv5gxhzyWcaQvhZw36FWWe0ggIg2IcsmVVkcw4z5jeRK90GAK3QDceU5IegovqHAGEhitCdaDcP7hd/FS+xK225OpVoi2eV7P99iDNLJVty4U/di4suhruR5thAeFN0BUnFeZf9krdIxhTmWwgWik= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=Tg7ZFcAe; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="Tg7ZFcAe" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=9SzZNEDRt/JuCCXQjF2yDXi2JJLtJVbsbdY/dIXln9Y=; b=Tg7ZFcAeErr11QsdSWw+Ma1kxP l77zww6X234y5uV5fcu/g6sR+s6QFfolkxfl+3BtMV+T6ZvJEX/syI604ITm7isrdWAeHuR8Uy8n6 9dvJ5zgwjHXiNNSs2JLY8Vpx3S+frHN9AuKuTbgK1FwcE/C76zKyRNCxAJmg9iVud2j4=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAt-0018Zt-Lp; Thu, 26 Feb 2026 09:56:47 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:02 +0100 Subject: [PATCH 2/8] media: i2c: ov08d10: add support for binding via device tree 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 Message-Id: <20260226-ov08d10-v1-2-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -0.7 X-Spam-Bar: / X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Add YAML bindings for the Omnivision OV08D10 CMOS image sensor. Signed-off-by: Matthias Fend --- .../bindings/media/i2c/ovti,ov08d10.yaml | 101 +++++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 102 insertions(+) Content analysis details: (-0.7 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: linuxtv.org] 0.0 URIBL_DBL_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to dbl.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: linuxtv.org] 0.0 URIBL_ZEN_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to zen.spamhaus.org was blocked due to usage of an open resolver. See https://www.spamhaus.org/returnc/pub/ [URIs: linuxtv.org] -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.1 POISEN_SPAM_PILL_3 BODY: random spam to be learned in bayes 0.1 POISEN_SPAM_PILL_1 RAW: random spam to be learned in bayes 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.1 POISEN_SPAM_PILL Meta: its spam 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) The OV08D10 can be used also on embedded designs using device tree so allow the sensor to bind to a device tree node. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index 43ec2a1f2fcffb7fa11a6268af3c2edc4df129f3..cfe18dcde174ddc1f198cb2aaa6= b4a3b34045508 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -1466,10 +1466,17 @@ static const struct acpi_device_id ov08d10_acpi_ids= [] =3D { MODULE_DEVICE_TABLE(acpi, ov08d10_acpi_ids); #endif =20 +static const struct of_device_id ov08d10_of_match[] =3D { + { .compatible =3D "ovti,ov08d10" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, ov08d10_of_match); + static struct i2c_driver ov08d10_i2c_driver =3D { .driver =3D { .name =3D "ov08d10", .acpi_match_table =3D ACPI_PTR(ov08d10_acpi_ids), + .of_match_table =3D ov08d10_of_match, }, .probe =3D ov08d10_probe, .remove =3D ov08d10_remove, --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 96CC63A0B2E; Thu, 26 Feb 2026 09:23:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097837; cv=none; b=pfxObAgn+NEKOmYwP6uMaPJJg+DCKsD8JK5nDmDh6Nu4Zp8CgF3ym0fR3VO8CW6IXwLwS14z9ERSREaNo7YzpQLLptF06PhmbaDOHLsmxGR/LiVTKmIHfW5eUEXT+rPbM29UcedH5U4goX64GM70LfZZTzHsGawH6gg0jnd4U6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097837; c=relaxed/simple; bh=U/2m1YDq6SRth7XLtHQLa3G9VcFA0fCWGrEtNsomfRE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g2DjRuIqRE2DEMbwU7W6fXWdm6DyjVcDY8lhSCAk6Qvj8gjCKp0WpFcMcGhs7wLskG7NiJqQtB8k3576BAVazqgD2Zsr9IB7ZO0q8yeTiOYSsEYrR+I1wwF1qG1QYqLF9i48b4bx+cj1/ZOeHUFpUII309lsPqhROZ79zzCiuLI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=CqTFEHnn; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="CqTFEHnn" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=0/3nYAUP0EJ2VBJ1eT0k6zWYlUtrAsenO1czavD3b5U=; b=CqTFEHnnEl/lxudD151t9G+US2 xUrkaC2PsGW2d2l5Uh2vLLSxz3qOSl+oR9eNNTerqBvq26ixQPWIBJ03Vn4+tL4sO02z5ZXarRQpw oylm02oDPxcAX87q20BJmlwd9u/KL6WWQHS7a7x6Zxvxp0qFPDfuq7Ksqx/+EIDewaJE=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAu-0018Zt-7Z; Thu, 26 Feb 2026 09:56:48 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:03 +0100 Subject: [PATCH 3/8] media: i2c: ov08d10: add support for reset and power management 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 Message-Id: <20260226-ov08d10-v1-3-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The OV08D10 can be used also on embedded designs using device tree so allow the sensor to bind to a device tree node. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 7 +++++++ 1 file changed, 7 insertions(+) Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) Add support for the required power supplies as well as the control of an optional sensor reset. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 104 ++++++++++++++++++++++++++++++++++++++++= +--- 1 file changed, 97 insertions(+), 7 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index cfe18dcde174ddc1f198cb2aaa6b4a3b34045508..4dba264488b3e1950016deb3fa3= 4732871cc34fc 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -514,9 +515,17 @@ static const char * const ov08d10_test_pattern_menu[] = =3D { "Standard Color Bar", }; =20 +static const char *const ov08d10_supply_names[] =3D { + "dovdd", /* Digital I/O power */ + "avdd", /* Analog power */ + "dvdd", /* Digital core power */ +}; + struct ov08d10 { struct device *dev; struct clk *clk; + struct reset_control *reset; + struct regulator_bulk_data supplies[ARRAY_SIZE(ov08d10_supply_names)]; =20 struct v4l2_subdev sd; struct media_pad pad; @@ -1266,6 +1275,56 @@ static const struct v4l2_subdev_internal_ops ov08d10= _internal_ops =3D { .open =3D ov08d10_open, }; =20 +static int ov08d10_power_off(struct device *dev) +{ + struct v4l2_subdev *sd =3D dev_get_drvdata(dev); + struct ov08d10 *ov08d10 =3D to_ov08d10(sd); + + reset_control_assert(ov08d10->reset); + + regulator_bulk_disable(ARRAY_SIZE(ov08d10->supplies), + ov08d10->supplies); + + clk_disable_unprepare(ov08d10->clk); + + return 0; +} + +static int ov08d10_power_on(struct device *dev) +{ + struct v4l2_subdev *sd =3D dev_get_drvdata(dev); + struct ov08d10 *ov08d10 =3D to_ov08d10(sd); + int ret; + + ret =3D regulator_bulk_enable(ARRAY_SIZE(ov08d10->supplies), + ov08d10->supplies); + if (ret < 0) { + dev_err(dev, "failed to enable regulators: %d\n", ret); + return ret; + } + + ret =3D clk_prepare_enable(ov08d10->clk); + if (ret < 0) { + regulator_bulk_disable(ARRAY_SIZE(ov08d10->supplies), + ov08d10->supplies); + + dev_err(dev, "failed to enable imaging clock: %d\n", ret); + return ret; + } + + if (ov08d10->reset) { + /* Delay from DVDD stable to sensor XSHUTDN pull up: 5ms */ + fsleep(5 * USEC_PER_MSEC); + + reset_control_deassert(ov08d10->reset); + + /* Delay from XSHUTDN pull up to SCCB start: 8ms */ + fsleep(8 * USEC_PER_MSEC); + } + + return 0; +} + static int ov08d10_identify_module(struct ov08d10 *ov08d10) { struct i2c_client *client =3D v4l2_get_subdevdata(&ov08d10->sd); @@ -1372,6 +1431,10 @@ static void ov08d10_remove(struct i2c_client *client) media_entity_cleanup(&sd->entity); v4l2_ctrl_handler_free(sd->ctrl_handler); pm_runtime_disable(ov08d10->dev); + if (!pm_runtime_status_suspended(ov08d10->dev)) { + ov08d10_power_off(ov08d10->dev); + pm_runtime_set_suspended(ov08d10->dev); + } mutex_destroy(&ov08d10->mutex); } =20 @@ -1379,6 +1442,7 @@ static int ov08d10_probe(struct i2c_client *client) { struct ov08d10 *ov08d10; unsigned long freq; + unsigned int i; int ret; =20 ov08d10 =3D devm_kzalloc(&client->dev, sizeof(*ov08d10), GFP_KERNEL); @@ -1404,12 +1468,32 @@ static int ov08d10_probe(struct i2c_client *client) return ret; } =20 + ov08d10->reset =3D devm_reset_control_get_optional(ov08d10->dev, NULL); + if (IS_ERR(ov08d10->reset)) + return dev_err_probe(ov08d10->dev, PTR_ERR(ov08d10->reset), + "failed to get reset\n"); + reset_control_assert(ov08d10->reset); + + for (i =3D 0; i < ARRAY_SIZE(ov08d10_supply_names); i++) + ov08d10->supplies[i].supply =3D ov08d10_supply_names[i]; + + ret =3D devm_regulator_bulk_get(ov08d10->dev, + ARRAY_SIZE(ov08d10->supplies), + ov08d10->supplies); + if (ret) + return dev_err_probe(ov08d10->dev, ret, + "failed to get regulators\n"); + v4l2_i2c_subdev_init(&ov08d10->sd, client, &ov08d10_subdev_ops); =20 + ret =3D ov08d10_power_on(ov08d10->dev); + if (ret) + return dev_err_probe(ov08d10->dev, ret, "failed to power on\n"); + ret =3D ov08d10_identify_module(ov08d10); if (ret) { dev_err(ov08d10->dev, "failed to find sensor: %d", ret); - return ret; + goto probe_error_power_off; } =20 mutex_init(&ov08d10->mutex); @@ -1430,6 +1514,9 @@ static int ov08d10_probe(struct i2c_client *client) goto probe_error_v4l2_ctrl_handler_free; } =20 + pm_runtime_set_active(ov08d10->dev); + pm_runtime_enable(ov08d10->dev); + ret =3D v4l2_async_register_subdev_sensor(&ov08d10->sd); if (ret < 0) { dev_err(ov08d10->dev, "failed to register V4L2 subdev: %d", @@ -1437,26 +1524,28 @@ static int ov08d10_probe(struct i2c_client *client) goto probe_error_media_entity_cleanup; } =20 - /* - * Device is already turned on by i2c-core with ACPI domain PM. - * Enable runtime PM and turn off the device. - */ - pm_runtime_set_active(ov08d10->dev); - pm_runtime_enable(ov08d10->dev); pm_runtime_idle(ov08d10->dev); =20 return 0; =20 probe_error_media_entity_cleanup: + pm_runtime_disable(ov08d10->dev); + pm_runtime_set_suspended(ov08d10->dev); media_entity_cleanup(&ov08d10->sd.entity); =20 probe_error_v4l2_ctrl_handler_free: v4l2_ctrl_handler_free(ov08d10->sd.ctrl_handler); mutex_destroy(&ov08d10->mutex); =20 +probe_error_power_off: + ov08d10_power_off(ov08d10->dev); + return ret; } =20 +static DEFINE_RUNTIME_DEV_PM_OPS(ov08d10_pm_ops, + ov08d10_power_off, ov08d10_power_on, NULL); + #ifdef CONFIG_ACPI static const struct acpi_device_id ov08d10_acpi_ids[] =3D { { "OVTI08D1" }, @@ -1475,6 +1564,7 @@ MODULE_DEVICE_TABLE(of, ov08d10_of_match); static struct i2c_driver ov08d10_i2c_driver =3D { .driver =3D { .name =3D "ov08d10", + .pm =3D pm_ptr(&ov08d10_pm_ops), .acpi_match_table =3D ACPI_PTR(ov08d10_acpi_ids), .of_match_table =3D ov08d10_of_match, }, --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 90FD43A0E9F; Thu, 26 Feb 2026 09:23:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097813; cv=none; b=tGlF1zEtPCbWWQyUfTAXnrC5HLKLqKZbxAz/4jQ3o8oTE+sRHrfap+8hio7FxwSFe8fPZomgPKSolp5iExpkSTbuX4pV0DQeF5c8hL6Vq9fw45hrK6juZ7DspRmStwUWUI2UyG8/VeAqyY3aV0lApvtLHpF+LGNTBBXQzSi/Zcs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097813; c=relaxed/simple; bh=NiiON4T9+n1/J5hrfB3GkSftutIOL3BrNVXo0B3HaC4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EJ2tW/bFaN/X+fIjNKKhCAwJsoRzjPoFXvhCuH5e8XN+fh1XDZeJajErcrz+YEDu/Nmt5oOVAAi2FZ1+UMsOg+abJ4tsVIobK2bSABeErDxn5BNPTh6OJ3Q4DGQ5UjADF+j85llSD4u71xqt1MTqGvRZsxEdiBni/UcLhUd87o4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=ESl530ex; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="ESl530ex" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=zUw3D6zJOG06S/NomoqFJLOr20ortbvatY1RZuUZYQk=; b=ESl530exx20H67LDNqQoxUp5Vx 2Dt8XEG7dU+W064PAv8DN49X2GXf/fhIDBJ2j3o7d0pKdoOEL7MNT1K4fFLocruJ4Tidb9T0e1VRg tDNgSpckNPW9NpRnLxch1RIgrMnWnOQJCUEIb75xBFabeUTsVVfnEIfRWMBWMpVwYGQg=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAv-0018Zt-4k; Thu, 26 Feb 2026 09:56:49 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:04 +0100 Subject: [PATCH 4/8] media: i2c: ov08d10: add support for 24 MHz input clock 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 Message-Id: <20260226-ov08d10-v1-4-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Add support for the required power supplies as well as the control of an optional sensor reset. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 104 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 97 insertions(+), 7 deletions(-) Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) The sensor supports an input clock in the range of 6 to 27 MHz. Currently, the driver only supports a 19.2 MHz clock. Extend the driver so that at least 24 MHz, which is a typical frequency for this sensor, can also be used. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 80 ++++++++++++++++++++++++++++++++++++-----= ---- 1 file changed, 64 insertions(+), 16 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index 4dba264488b3e1950016deb3fa34732871cc34fc..254ed22350e5ede021964d92e0f= b350e7a397297 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -14,7 +14,6 @@ #include =20 #define OV08D10_SCLK 144000000ULL -#define OV08D10_XVCLK_19_2 19200000 #define OV08D10_ROWCLK 36000 #define OV08D10_DATA_LANES 2 #define OV08D10_RGB_DEPTH 10 @@ -78,8 +77,13 @@ struct ov08d10_reg_list { const struct ov08d10_reg *regs; }; =20 +static const u32 ov08d10_xvclk_freqs[] =3D { + 19200000, + 24000000 +}; + struct ov08d10_link_freq_config { - const struct ov08d10_reg_list reg_list; + const struct ov08d10_reg_list reg_list[ARRAY_SIZE(ov08d10_xvclk_freqs)]; }; =20 struct ov08d10_mode { @@ -108,8 +112,8 @@ struct ov08d10_mode { u8 data_lanes; }; =20 -/* 3280x2460, 3264x2448 need 720Mbps/lane, 2 lanes */ -static const struct ov08d10_reg mipi_data_rate_720mbps[] =3D { +/* 3280x2460, 3264x2448 need 720Mbps/lane, 2 lanes - 19.2 MHz */ +static const struct ov08d10_reg mipi_data_rate_720mbps_19_2[] =3D { {0xfd, 0x00}, {0x11, 0x2a}, {0x14, 0x43}, @@ -119,8 +123,8 @@ static const struct ov08d10_reg mipi_data_rate_720mbps[= ] =3D { {0xb7, 0x02} }; =20 -/* 1632x1224 needs 360Mbps/lane, 2 lanes */ -static const struct ov08d10_reg mipi_data_rate_360mbps[] =3D { +/* 1632x1224 needs 360Mbps/lane, 2 lanes - 19.2 MHz */ +static const struct ov08d10_reg mipi_data_rate_360mbps_19_2[] =3D { {0xfd, 0x00}, {0x1a, 0x04}, {0x1b, 0xe1}, @@ -132,6 +136,30 @@ static const struct ov08d10_reg mipi_data_rate_360mbps= [] =3D { {0xb7, 0x02} }; =20 +/* 3280x2460, 3264x2448 need 720Mbps/lane, 2 lanes - 24 MHz */ +static const struct ov08d10_reg mipi_data_rate_720mbps_24_0[] =3D { + {0xfd, 0x00}, + {0x11, 0x2a}, + {0x14, 0x43}, + {0x1a, 0x04}, + {0x1b, 0xb4}, + {0x1e, 0x13}, + {0xb7, 0x02} +}; + +/* 1632x1224 needs 360Mbps/lane, 2 lanes - 24 MHz */ +static const struct ov08d10_reg mipi_data_rate_360mbps_24_0[] =3D { + {0xfd, 0x00}, + {0x1a, 0x04}, + {0x1b, 0xb4}, + {0x1d, 0x00}, + {0x1c, 0x19}, + {0x11, 0x2a}, + {0x14, 0x54}, + {0x1e, 0x13}, + {0xb7, 0x02} +}; + static const struct ov08d10_reg lane_2_mode_3280x2460[] =3D { /* 3280x2460 resolution */ {0xfd, 0x01}, @@ -526,6 +554,7 @@ struct ov08d10 { struct clk *clk; struct reset_control *reset; struct regulator_bulk_data supplies[ARRAY_SIZE(ov08d10_supply_names)]; + u8 xvclk_index; =20 struct v4l2_subdev sd; struct media_pad pad; @@ -566,17 +595,29 @@ static const struct ov08d10_lane_cfg lane_cfg_2 =3D { }, {{ .reg_list =3D { + { .num_of_regs =3D - ARRAY_SIZE(mipi_data_rate_720mbps), - .regs =3D mipi_data_rate_720mbps, - } + ARRAY_SIZE(mipi_data_rate_720mbps_19_2), + .regs =3D mipi_data_rate_720mbps_19_2, + }, + { + .num_of_regs =3D + ARRAY_SIZE(mipi_data_rate_720mbps_24_0), + .regs =3D mipi_data_rate_720mbps_24_0, + }} }, { .reg_list =3D { + { .num_of_regs =3D - ARRAY_SIZE(mipi_data_rate_360mbps), - .regs =3D mipi_data_rate_360mbps, - } + ARRAY_SIZE(mipi_data_rate_360mbps_19_2), + .regs =3D mipi_data_rate_360mbps_19_2, + }, + { + .num_of_regs =3D + ARRAY_SIZE(mipi_data_rate_360mbps_24_0), + .regs =3D mipi_data_rate_360mbps_24_0, + }} }}, {{ .width =3D 3280, @@ -1029,7 +1070,8 @@ static int ov08d10_start_streaming(struct ov08d10 *ov= 08d10) =20 link_freq_index =3D ov08d10->cur_mode->link_freq_index; reg_list =3D - &ov08d10->priv_lane->link_freq_configs[link_freq_index].reg_list; + &ov08d10->priv_lane->link_freq_configs[link_freq_index] + .reg_list[ov08d10->xvclk_index]; =20 /* soft reset */ ret =3D i2c_smbus_write_byte_data(client, OV08D10_REG_PAGE, 0x00); @@ -1457,9 +1499,15 @@ static int ov08d10_probe(struct i2c_client *client) "failed to get clock\n"); =20 freq =3D clk_get_rate(ov08d10->clk); - if (freq !=3D OV08D10_XVCLK_19_2) - dev_warn(ov08d10->dev, - "external clock rate %lu is not supported\n", freq); + for (i =3D 0; i < ARRAY_SIZE(ov08d10_xvclk_freqs); i++) { + if (freq =3D=3D ov08d10_xvclk_freqs[i]) + break; + } + if (i >=3D ARRAY_SIZE(ov08d10_xvclk_freqs)) + return dev_err_probe(ov08d10->dev, -EINVAL, + "external clock rate %lu is not supported\n", + freq); + ov08d10->xvclk_index =3D i; =20 ret =3D ov08d10_get_hwcfg(ov08d10); if (ret) { --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 033A13A1D1A; Thu, 26 Feb 2026 09:23:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097831; cv=none; b=Li7Y3dN5AyDoP08Ca2XupvhoecTQVFl21ygnySZfGVJJ5AMKhng+TaT7WClyGtP3bW9fqwpOc+J+MWFHNgVJ5z+7FsmJAdupCln5aL4OZiw3zTfE724NmA99PqKLKDxANl/Eqc8zJ33zu5N3w9l85bj0LroV6qNkiQP2nZ11u5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097831; c=relaxed/simple; bh=F19s119xvdQh8/E+EVW9S9ZycIrOjTyRinVz37c3ke4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YBpoGN/PdBvFYfLW3vCcfJDFMwr0V28Fij2jQFrkZi+K5+V+INQq9MTFWBq735VvHDIH/nUNjwOJgroFPnDRF8Q57WWwykY0TI6zrDkiGi+hTXk16/ciqVU+SUlIxCxYMHvX0vJNOhhZHLCNkOlRkxu40mS1aduohXh2tW01ZRE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=fh1MayzZ; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="fh1MayzZ" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=z4ztgiMdrhfkRWiimj9CwSQWB4TzkcUWfkyO0c44bvA=; b=fh1MayzZs9DsVODdUwkG9fPkmr GISyBYKrDBuBfLsj6vPxGGX3qr60VUvD+jo7NsSJDqFcpaaYly+puw6zxh+4lDozHmnfLX0liys8G dk088cAlMldEm14sAopeol85Hf+J51hmii/IP5yfQoe5EudK3KwJAMTM/LpasZNzGkqw=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAw-0018Zt-41; Thu, 26 Feb 2026 09:56:50 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:05 +0100 Subject: [PATCH 5/8] media: i2c: ov08d10: fix image vertical start setting 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 Message-Id: <20260226-ov08d10-v1-5-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: 1.8 X-Spam-Bar: + X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The sensor supports an input clock in the range of 6 to 27 MHz. Currently, the driver only supports a 19.2 MHz clock. Extend the driver so that at least 24 MHz, which is a typical frequency for this s [...] Content analysis details: (1.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 2.8 UNWANTED_LANGUAGE_BODY BODY: Message written in an undesired language 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) The current settings for the "image vertical start" register appear to be incorrect. While this only results in an incorrect start line for native modes, this faulty setting causes actual problems in binning mode. At least on an i.MX8MP test system, only corrupted frames could be received. To correct this, the recommended settings from the reference register sets are used for all modes. Since this shifts the start by one line, the Bayer pattern also changes, which has also been corrected. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index 254ed22350e5ede021964d92e0fb350e7a397297..ee193ba44f17d5659b3e22329b5= e0ee421e3668f 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -246,7 +246,7 @@ static const struct ov08d10_reg lane_2_mode_3280x2460[]= =3D { {0x9a, 0x30}, {0xa8, 0x02}, {0xfd, 0x02}, - {0xa1, 0x01}, + {0xa1, 0x00}, {0xa2, 0x09}, {0xa3, 0x9c}, {0xa5, 0x00}, @@ -364,7 +364,7 @@ static const struct ov08d10_reg lane_2_mode_3264x2448[]= =3D { {0x9a, 0x30}, {0xa8, 0x02}, {0xfd, 0x02}, - {0xa1, 0x09}, + {0xa1, 0x08}, {0xa2, 0x09}, {0xa3, 0x90}, {0xa5, 0x08}, @@ -496,7 +496,7 @@ static const struct ov08d10_reg lane_2_mode_1632x1224[]= =3D { {0xaa, 0xd0}, {0xab, 0x06}, {0xac, 0x68}, - {0xa1, 0x09}, + {0xa1, 0x04}, {0xa2, 0x04}, {0xa3, 0xc8}, {0xa5, 0x04}, @@ -663,8 +663,8 @@ static const struct ov08d10_lane_cfg lane_cfg_2 =3D { static u32 ov08d10_get_format_code(struct ov08d10 *ov08d10) { static const u32 codes[2][2] =3D { - { MEDIA_BUS_FMT_SGRBG10_1X10, MEDIA_BUS_FMT_SRGGB10_1X10}, - { MEDIA_BUS_FMT_SBGGR10_1X10, MEDIA_BUS_FMT_SGBRG10_1X10}, + { MEDIA_BUS_FMT_SBGGR10_1X10, MEDIA_BUS_FMT_SGBRG10_1X10 }, + { MEDIA_BUS_FMT_SGRBG10_1X10, MEDIA_BUS_FMT_SRGGB10_1X10 }, }; =20 return codes[ov08d10->vflip->val][ov08d10->hflip->val]; --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 915E43A0B3D; Thu, 26 Feb 2026 09:23:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097807; cv=none; b=N1AnMD6+xuGCnuykauKUgCYsy/sW156LLELnzQeaqk67s72g/XEVqNl+VHuvlIxUCj5I1ySImMorSOyKrCSjJfScrVXZzBUS+fgkp/GGoXwHEAcQwTGtnfbutV1Pxp67PCojGnonVnNuOZGcUXS3uaOCf2hlizAcHIBenVNX8m0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097807; c=relaxed/simple; bh=TSWTKTkuuOfPbgCIOnTtw4yo2o/4mWvELCfDzqUyjxg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iWeuo2oFZDC2q5JFhcg1cxHeAdGjtZoUgQkPd+7nHgcSigFOcpf+NjK+OeKlbE/0UGz5qV7sM+5Yq4c7BtlntMTM/iZMMPxfPLIQXsYkKYmzd/BdCpuRb3OLjSO+BhucVS7mtNaqjFnT3GKLMrNp/i6pZ9CPBkNJIo3me922tHI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=TmLiXr3R; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="TmLiXr3R" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=vGozd6wdbG3TZ/NdQDVFXjQzFodImDZCVvMYzOqqcY0=; b=TmLiXr3RygqWP+tasXK5eGK7Iw LOfcPxja+nDUXx+SiflzYsyb4gHt1ioY1OzsuNzE+WhLODvNtyq7fUQ3LeCgPrrqEYMpIL+9fJc0Z pCidk4DdnTo3QttNWxcr/v8EDDwsowXQaqgSwZG7VRLS2ss5hkDVsZZLbawbkvZO4Hsk=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAw-0018Zt-On; Thu, 26 Feb 2026 09:56:50 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:06 +0100 Subject: [PATCH 6/8] media: i2c: ov08d10: remove duplicate register write 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 Message-Id: <20260226-ov08d10-v1-6-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The current settings for the "image vertical start" register appear to be incorrect. While this only results in an incorrect start line for native modes, this faulty setting causes actual problems in [...] Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) Register P1:0x33 is written twice with the same value in the 'lane_2_mode_1632x1224' sequence. Remove one unnecessary write access. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index ee193ba44f17d5659b3e22329b5e0ee421e3668f..fa8d29a62fbfa956dff6b57ccd6= c9b7777967731 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -410,7 +410,6 @@ static const struct ov08d10_reg lane_2_mode_1632x1224[]= =3D { {0x07, 0x05}, {0x21, 0x02}, {0x24, 0x30}, - {0x33, 0x03}, {0x31, 0x06}, {0x33, 0x03}, {0x01, 0x03}, --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 7E66539E6EF; Thu, 26 Feb 2026 09:23:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097826; cv=none; b=TZZ9/9fm4lyfvtkJ6A0F3xhZ16F46MvfAm7YAwwplYI1ACggiKIYSgbGm/fZiV2sRh5d3MRfkwcmj7lH6rXQo6tdyXMGSJfFG5WiSFc1WtHJ9O5OYXTUexHkvXbTgxT14AgDJV5fU1SgnxFWErBLptC6mOy2AfFx9QLY+Owrs5s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097826; c=relaxed/simple; bh=e2iCQhxTK3Ei8b4kh/WAOWAFwBK21OyjbDZMcAnayVY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E3TO+V9ShfzDn75MPC4KPLCKmM/HytDKFKrO/Rsn1I0utli3ELuKDbCq4xMMY8vXkzUl7WnWgo7495d3ue9cGs/3Aju+pJSYgJ8fSkgP5EyZlGzJcrk646/D8ekUCYcMVNozWCB90+ih8FaBAwXfdHKbZWnOKpd3PyJPlBYgSw4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=aBT2BUbs; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="aBT2BUbs" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=tf+eVQdnJLMIh7oCYg13Ez5jy4Z6AQ8sRVv49j0hQEU=; b=aBT2BUbsHLH8/KI/F6hCDFfF2j JqWN8kAWPditfKsto3/BZP8VBPaScNGeIyM0KlzFCxLZU2O5P9GtZdQ7VqdbL4ONsfPoUvlQFh9yx eMVmpvOr2KBGHc2IlCg9pumA7UAdygmh+lhQztMzJ6yRqi/iXKsG2AOFQa35r2rPnM+k=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAx-0018Zt-9T; Thu, 26 Feb 2026 09:56:51 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:07 +0100 Subject: [PATCH 7/8] media: i2c: ov08d10: fix some typos in comments 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 Message-Id: <20260226-ov08d10-v1-7-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Register P1:0x33 is written twice with the same value in the 'lane_2_mode_1632x1224' sequence. Remove one unnecessary write access. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 1 - 1 file changed, 1 deletion(-) Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) Fix some spelling errors in comments. Signed-off-by: Matthias Fend Reviewed-by: Philipp Zabel --- drivers/media/i2c/ov08d10.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index fa8d29a62fbfa956dff6b57ccd6c9b7777967731..f5c187d763c4264056100b904ab= 9585b25909e95 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -93,13 +93,13 @@ struct ov08d10_mode { /* Frame height in pixels */ u32 height; =20 - /* Horizontal timining size */ + /* Horizontal timing size */ u32 hts; =20 - /* Default vertical timining size */ + /* Default vertical timing size */ u32 vts_def; =20 - /* Min vertical timining size */ + /* Min vertical timing size */ u32 vts_min; =20 /* Link frequency needed for this resolution */ @@ -571,7 +571,7 @@ struct ov08d10 { /* Current mode */ const struct ov08d10_mode *cur_mode; =20 - /* To serialize asynchronus callbacks */ + /* To serialize asynchronous callbacks */ struct mutex mutex; =20 /* lanes index */ @@ -913,7 +913,7 @@ static int ov08d10_set_ctrl(struct v4l2_ctrl *ctrl) exposure_max); } =20 - /* V4L2 controls values will be applied only when power is already up */ + /* V4L2 control values will be applied only when power is already up */ if (!pm_runtime_get_if_in_use(ov08d10->dev)) return 0; =20 --=20 2.34.1 From nobody Tue Apr 7 15:29:55 2026 Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) (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 347C23A4F3A; Thu, 26 Feb 2026 09:24:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.41.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097843; cv=none; b=QG5nwt2Amq98CDjR1PGiPZO5Terj9jlc/ksaeRiyFrehF0lw87FUTh3vhDF6mfIEelfZvmbl54sPuDi/yi/FPhFPninybRpab1PEAFPl7ObTo0rXvVNZyk6YICKf7rfB1xseqbEDnyuyI7/OWnVwsgoMsVR1uFVoof0b40zRmws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772097843; c=relaxed/simple; bh=PKB20d4HwDvrUtISRR+YsDcUK5D9637SCIK+isWymLE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=inUb42jkDrEd1eqagz3VWUm1GucjOaseQiYkRsWPa6oVv+CW8ZJv7B+GzaXLHSvpc6TAyIc+Wisz6r0iTML95czNbcWHc8L0owgCJ0y955NhC0g5Dep0C6caceG0Yiye0JoN7PsGpVebX2wHp9IxOrLr5AHEjIEddr2Ivp2Bzag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at; spf=pass smtp.mailfrom=emfend.at; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b=PZWMbPY9; arc=none smtp.client-ip=168.119.41.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=emfend.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=emfend.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=emfend.at header.i=@emfend.at header.b="PZWMbPY9" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ydV3u3Wp1/+BHYeVS9mosQEp9B2XhD7idHBc3IWnXuQ=; b=PZWMbPY9rJbM2vFq06Lo8o3tb5 5LzRlnGcZmcFUXZFefJpNUgykbn5+lB//mgVL4uzsAsv0ntsnj/atjqASsA+xXWaItdbXB0r+DuLR qT7PCO/ktaynhD8mp6MijQNG2aex2RJxGGDJdFF4Gzf5WCRLuJpVba8HDOsITj5rq+YI=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:64689 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1vvXAx-0018Zt-SF; Thu, 26 Feb 2026 09:56:52 +0100 From: Matthias Fend Date: Thu, 26 Feb 2026 09:56:08 +0100 Subject: [PATCH 8/8] media: i2c: ov08d10: add missing newline to prints 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 Message-Id: <20260226-ov08d10-v1-8-c3a916368123@emfend.at> References: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> In-Reply-To: <20260226-ov08d10-v1-0-c3a916368123@emfend.at> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jimmy Su , Sakari Ailus , Philipp Zabel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Matthias Fend , bsp-development.geo@leica-geosystems.com X-Mailer: b4 0.14.2 X-Spam-Score: -1.0 X-Spam-Bar: - X-Spam-Report: Spam detection software, running on the system "lx20.hoststar.hosting", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Fix some spelling errors in comments. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index fa8d29a62fbfa956dff6b57ccd6c9b7777967731..f5c187d763c4264056100b904ab9585b25909e95 100644 --- a/drivers/media/i2c/ov08d10.c [...] Content analysis details: (-1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address 0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict Alignment (older systems) 0.0 Local_hs_NotToHoststar Recipient is NOT hoststar.(ch|at|com) 0.0 Local_hs_NotFromHoststar Sender is NOT hoststar.(ch|at|com) Add trailing \n to dev_* prints where missing. Signed-off-by: Matthias Fend --- drivers/media/i2c/ov08d10.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/media/i2c/ov08d10.c b/drivers/media/i2c/ov08d10.c index f5c187d763c4264056100b904ab9585b25909e95..6eab9a899726aaacdddb12d2861= e7b0f8d5e5fd7 100644 --- a/drivers/media/i2c/ov08d10.c +++ b/drivers/media/i2c/ov08d10.c @@ -714,7 +714,7 @@ static int ov08d10_write_reg_list(struct ov08d10 *ov08d= 10, r_list->regs[i].val); if (ret) { dev_err_ratelimited(ov08d10->dev, - "failed to write reg 0x%2.2x. error =3D %d", + "failed to write reg 0x%2.2x. error =3D %d\n", r_list->regs[i].address, ret); return ret; } @@ -1075,32 +1075,32 @@ static int ov08d10_start_streaming(struct ov08d10 *= ov08d10) /* soft reset */ ret =3D i2c_smbus_write_byte_data(client, OV08D10_REG_PAGE, 0x00); if (ret < 0) { - dev_err(ov08d10->dev, "failed to reset sensor"); + dev_err(ov08d10->dev, "failed to reset sensor\n"); return ret; } ret =3D i2c_smbus_write_byte_data(client, 0x20, 0x0e); if (ret < 0) { - dev_err(ov08d10->dev, "failed to reset sensor"); + dev_err(ov08d10->dev, "failed to reset sensor\n"); return ret; } usleep_range(3000, 4000); ret =3D i2c_smbus_write_byte_data(client, 0x20, 0x0b); if (ret < 0) { - dev_err(ov08d10->dev, "failed to reset sensor"); + dev_err(ov08d10->dev, "failed to reset sensor\n"); return ret; } =20 /* update sensor setting */ ret =3D ov08d10_write_reg_list(ov08d10, reg_list); if (ret) { - dev_err(ov08d10->dev, "failed to set plls"); + dev_err(ov08d10->dev, "failed to set plls\n"); return ret; } =20 reg_list =3D &ov08d10->cur_mode->reg_list; ret =3D ov08d10_write_reg_list(ov08d10, reg_list); if (ret) { - dev_err(ov08d10->dev, "failed to set mode"); + dev_err(ov08d10->dev, "failed to set mode\n"); return ret; } =20 @@ -1127,19 +1127,19 @@ static void ov08d10_stop_streaming(struct ov08d10 *= ov08d10) =20 ret =3D i2c_smbus_write_byte_data(client, OV08D10_REG_PAGE, 0x00); if (ret < 0) { - dev_err(ov08d10->dev, "failed to stop streaming"); + dev_err(ov08d10->dev, "failed to stop streaming\n"); return; } ret =3D i2c_smbus_write_byte_data(client, OV08D10_REG_MODE_SELECT, OV08D10_MODE_STANDBY); if (ret < 0) { - dev_err(ov08d10->dev, "failed to stop streaming"); + dev_err(ov08d10->dev, "failed to stop streaming\n"); return; } =20 ret =3D i2c_smbus_write_byte_data(client, OV08D10_REG_PAGE, 0x01); if (ret < 0) { - dev_err(ov08d10->dev, "failed to stop streaming"); + dev_err(ov08d10->dev, "failed to stop streaming\n"); return; } } @@ -1425,7 +1425,7 @@ static int ov08d10_get_hwcfg(struct ov08d10 *ov08d10) =20 /* Get number of data lanes */ if (bus_cfg.bus.mipi_csi2.num_data_lanes !=3D 2) { - dev_err(dev, "number of CSI2 data lanes %d is not supported", + dev_err(dev, "number of CSI2 data lanes %d is not supported\n", bus_cfg.bus.mipi_csi2.num_data_lanes); ret =3D -EINVAL; goto check_hwcfg_error; @@ -1437,7 +1437,7 @@ static int ov08d10_get_hwcfg(struct ov08d10 *ov08d10) ov08d10->modes_size =3D ov08d10_modes_num(ov08d10); =20 if (!bus_cfg.nr_of_link_frequencies) { - dev_err(dev, "no link frequencies defined"); + dev_err(dev, "no link frequencies defined\n"); ret =3D -EINVAL; goto check_hwcfg_error; } @@ -1450,7 +1450,7 @@ static int ov08d10_get_hwcfg(struct ov08d10 *ov08d10) } =20 if (j =3D=3D bus_cfg.nr_of_link_frequencies) { - dev_err(dev, "no link frequency %lld supported", + dev_err(dev, "no link frequency %lld supported\n", ov08d10->priv_lane->link_freq_menu[i]); ret =3D -EINVAL; goto check_hwcfg_error; @@ -1510,7 +1510,7 @@ static int ov08d10_probe(struct i2c_client *client) =20 ret =3D ov08d10_get_hwcfg(ov08d10); if (ret) { - dev_err(ov08d10->dev, "failed to get HW configuration: %d", + dev_err(ov08d10->dev, "failed to get HW configuration: %d\n", ret); return ret; } @@ -1539,7 +1539,7 @@ static int ov08d10_probe(struct i2c_client *client) =20 ret =3D ov08d10_identify_module(ov08d10); if (ret) { - dev_err(ov08d10->dev, "failed to find sensor: %d", ret); + dev_err(ov08d10->dev, "failed to find sensor: %d\n", ret); goto probe_error_power_off; } =20 @@ -1547,7 +1547,7 @@ static int ov08d10_probe(struct i2c_client *client) ov08d10->cur_mode =3D &ov08d10->priv_lane->sp_modes[0]; ret =3D ov08d10_init_controls(ov08d10); if (ret) { - dev_err(ov08d10->dev, "failed to init controls: %d", ret); + dev_err(ov08d10->dev, "failed to init controls: %d\n", ret); goto probe_error_v4l2_ctrl_handler_free; } =20 @@ -1557,7 +1557,7 @@ static int ov08d10_probe(struct i2c_client *client) ov08d10->pad.flags =3D MEDIA_PAD_FL_SOURCE; ret =3D media_entity_pads_init(&ov08d10->sd.entity, 1, &ov08d10->pad); if (ret) { - dev_err(ov08d10->dev, "failed to init entity pads: %d", ret); + dev_err(ov08d10->dev, "failed to init entity pads: %d\n", ret); goto probe_error_v4l2_ctrl_handler_free; } =20 @@ -1566,7 +1566,7 @@ static int ov08d10_probe(struct i2c_client *client) =20 ret =3D v4l2_async_register_subdev_sensor(&ov08d10->sd); if (ret < 0) { - dev_err(ov08d10->dev, "failed to register V4L2 subdev: %d", + dev_err(ov08d10->dev, "failed to register V4L2 subdev: %d\n", ret); goto probe_error_media_entity_cleanup; } --=20 2.34.1