lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250718-fpf-media-dt-flip-v1-2-75b3a938b4be@pengutronix.de>
Date: Wed, 23 Jul 2025 10:58:30 +0200
From: Fabian Pfitzner <f.pfitzner@...gutronix.de>
To: Mauro Carvalho Chehab <mchehab@...nel.org>, 
 Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, 
 Conor Dooley <conor+dt@...nel.org>, Jacopo Mondi <jacopo@...ndi.org>, 
 Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: linux-media@...r.kernel.org, devicetree@...r.kernel.org, 
 linux-kernel@...r.kernel.org, entwicklung@...gutronix.de, 
 Fabian Pfitzner <f.pfitzner@...gutronix.de>
Subject: [PATCH 2/2] media: v4l: fwnode: parse horizontal/vertical flip
 properties

There are cameras containing a mirror on their optical path e. g. when
mounted upside down.

Introduce two options to change the device's flip property via device tree.

As there is already support for the panel-common driver [1], add it for cameras as well.

[1] commit 3c0ecd83eee9 ("dt-bindings: display: panel: Move flip properties to panel-common")

Signed-off-by: Fabian Pfitzner <f.pfitzner@...gutronix.de>
---
 drivers/media/v4l2-core/v4l2-fwnode.c | 3 +++
 include/media/v4l2-fwnode.h           | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
index cb153ce42c45d..7fd0936fbda80 100644
--- a/drivers/media/v4l2-core/v4l2-fwnode.c
+++ b/drivers/media/v4l2-core/v4l2-fwnode.c
@@ -845,6 +845,9 @@ int v4l2_fwnode_device_parse(struct device *dev,
 		dev_dbg(dev, "device rotation: %u\n", val);
 	}
 
+	props->hflip = fwnode_property_read_bool(fwnode, "flip-horizontal");
+	props->vflip = fwnode_property_read_bool(fwnode, "flip-vertical");
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(v4l2_fwnode_device_parse);
diff --git a/include/media/v4l2-fwnode.h b/include/media/v4l2-fwnode.h
index f7c57c7765898..f8a51ab8317ae 100644
--- a/include/media/v4l2-fwnode.h
+++ b/include/media/v4l2-fwnode.h
@@ -75,10 +75,14 @@ enum v4l2_fwnode_orientation {
  * struct v4l2_fwnode_device_properties - fwnode device properties
  * @orientation: device orientation. See &enum v4l2_fwnode_orientation
  * @rotation: device rotation
+ * @hflip: device horizontal flip
+ * @vflip: device vertical flip
  */
 struct v4l2_fwnode_device_properties {
 	enum v4l2_fwnode_orientation orientation;
 	unsigned int rotation;
+	bool hflip;
+	bool vflip;
 };
 
 /**

-- 
2.39.5


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ