devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/72] media: i2c: Reduce cargo-cult
@ 2025-08-12 21:45 Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
                   ` (14 more replies)
  0 siblings, 15 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:45 UTC (permalink / raw)
  To: linux-media
  Cc: Alim Akhtar, Andi Shyti, André Apitzsch, Andrzej Hajda,
	Andy Shevchenko, Arec Kao, Benjamin Mugnier, Bingbu Cao,
	Bjorn Andersson, Bryan O'Donoghue, Bryan O'Donoghue,
	Conor Dooley, Daniel Scally, devicetree, Dongcheng Yan,
	Dongchun Zhu, Fabio Estevam, Geert Uytterhoeven, Hans de Goede,
	Hans Verkuil, Heimir Thor Sverrisson, imx, Jacopo Mondi,
	Jason Chen, Jimmy Su, Jingjing Xiong, Jonas Karlman,
	Konrad Dybcio, Krzysztof Kozlowski, Lad Prabhakar, Leon Luo,
	Liam Girdwood, linux-arm-kernel, linux-arm-msm, linux-i2c,
	linux-omap, linux-renesas-soc, linux-samsung-soc, Loic Poulain,
	Magnus Damm, Manivannan Sadhasivam, Marek Szyprowski, Mark Brown,
	Matthew Majewski, Mehdi Djait, Mikhail Rudenko, Nicolas Dufresne,
	Niklas Söderlund, Pavel Machek, Pengutronix Kernel Team,
	Robert Foss, Rob Herring, Sakari Ailus, Sascha Hauer, Shawn Guo,
	Shunqian Zheng, Sylvain Petinot, Sylwester Nawrocki, Tarang Raval,
	Tianshu Qiu, Todor Tomov, Tomi Valkeinen, Tony Lindgren, Zhi Mao

Hello,

This patch series builds on top of Mehdi's introduction of the
devm_v4l2_sensor_clk_get() helper (see [1] for the patches and [2] for
the pull request) to drastically reduce cargo-cult in camera sensor
drivers.

A large number of camera sensor drivers directly use the
"clock-frequency" property to retrieve the effective or desired external
clock rate. This is standard behaviour on ACPI platforms that don't
implement MIPI DisCo for Imaging, but usage of the property has leaked
to OF-based platforms, due to a combination of historical reasons (using
"clock-frequency" was initially considered right until before the
introduction of "assigned-clock-rates") and plain cargo-cult.

A large number of camera sensor drivers also set the rate of the
external clock with clk_set_rate(). This behaviour is also fine on ACPI
platforms, and has also leaked to OF-based platforms for the same
reasons.

Mehdi's "[PATCH v2 00/48] media: Add a helper for obtaining the clock
producer" series improves the situation by centralizing clock handling
for camera sensor in one helper function that implements the correct
behaviour for all types of platforms (and should later allow support of
MIPI DisCo for Imaging transparently for camera sensor drivers). It
doesn't however address direct access of the "clock-frequency" property
or direct calls to clk_set_rate() in drivers.

This series builds on top of the new helper to replace manual handling
of the clock frequency in camera sensor drivers. It starts by addressing
the DT bindings and reprecating the clock-frequency property for camera
sensor drivers in all YAML bindings (01/72) and in the et8ek8 text
bindings (02/72). After that, patches 03/72 and 04/72 make the clocks
property mandatory in the two camera sensor DT bindings that specified
it as optional.

Next, we follow with 5 assorted drive-by changes. Patch 05/72 drops an
unused header the belonged to a long gone driver, and patch 07/72 drops
unusued support for platform data in the mt9v032 driver. Patch 08/72 is
the first that addresses clock rate handling by dropping unneeded clock
rate setting in the mt9v111 driver. Patch 09/72 takes a harsher approach
for the ov6650 by dropping the driver completely as the driver hasn't
been used since v5.9.

The next part of the series replaces manual clock rate handling with
usage of the devm_v4l2_sensor_clk_get() helper in a large number of
camera sensor drivers that implement clock rate handling in a standard
way. This is done in patches 10/72 to 44/72. This interleaves the clock
rate handling changes with drive-by refactoring (in separate patches) to
make the code easier to deal with.

The final part of the changes to drivers addresses the remaining drivers that
implement non-standard behaviours. It starts in 45/72 by adding a new
devm_v4l2_sensor_clk_get_legacy() helper function for those drivers,
similar to devm_v4l2_sensor_clk_get() but with a few more quirks. This
function should not be used in any new driver. The remaining patches,
from 46/72 to 62/72, use the new helper in drivers, interleaved with
drive-by refactoring similarly to the previous part.

Finally, patches 63/72 to 72/72 cleans up the DT side and replace
clock-frequency with assigned-clock-rates, or drops the property
altogether when the source clock has a fixed rate. This aligns the DT
bindings and device tree sources to the current recommended practice.
Some of those DT patches depend on driver changes, this is indicates in
each patch.

Before this series, with Mehdi's series applied, 29 drivers read the
"clock-frequency" property and 18 drivers set the external clock rate.
With these series we go down to 1 and 3 respectively, namely the ccs,
mt9p031 and mt9v032 drivers. Clock handling in the CCS driver is a bit
more convoluted so I will leave to Sakari the honour of dropping the
last direct user of "clock-frequency" :-) As for the mt9p031 and mt9v032
driver, addressing the issue there is more difficult and likely not
worth it.

Compared to v1, this version addresses all review comments. It also
moves the DT patches to the end, as some of them depend on driver
changes. Please see individual patches for details.

[1] https://lore.kernel.org/linux-media/cover.1750942967.git.mehdi.djait@linux.intel.com
[2] https://lore.kernel.org/linux-media/aJsrtbv16Th9yAEB@valkosipuli.retiisi.eu

Laurent Pinchart (72):
  dt-bindings: media: Deprecate clock-frequency property for camera
    sensors
  dt-bindings: media: et8ek8: Deprecate clock-frequency property
  dt-bindings: media: imx258: Make clocks property required
  dt-bindings: media: imx274: Make clocks property required
  media: i2c: mt9v022: Drop unused mt9v022.h header
  media: i2c: mt9v032: Replace client->dev usage
  media: i2c: mt9v032: Drop support for platform data
  media: i2c: mt9v111: Do not set clock rate manually
  media: i2c: ov6650: Drop unused driver
  media: i2c: hi556: Replace client->dev usage
  media: i2c: hi556: Use V4L2 sensor clock helper
  media: i2c: hi847: Replace client->dev usage
  media: i2c: hi847: Use V4L2 sensor clock helper
  media: i2c: imx208: Replace client->dev usage
  media: i2c: imx208: Use V4L2 sensor clock helper
  media: i2c: imx319: Replace client->dev usage
  media: i2c: imx319: Use V4L2 sensor clock helper
  media: i2c: imx355: Replace client->dev usage
  media: i2c: imx335: Use V4L2 sensor clock helper
  media: i2c: og01a1b: Replace client->dev usage
  media: i2c: og01a1b: Use V4L2 sensor clock helper
  media: i2c: ov02c10: Replace client->dev usage
  media: i2c: ov02c10: Use V4L2 sensor clock helper
  media: i2c: ov02e10: Replace client->dev usage
  media: i2c: ov02e10: Use V4L2 sensor clock helper
  media: i2c: ov08d10: Replace client->dev usage
  media: i2c: ov08d10: Use V4L2 sensor clock helper
  media: i2c: ov08x40: Replace client->dev usage
  media: i2c: ov08x40: Use V4L2 sensor clock helper
  media: i2c: ov13858: Replace client->dev usage
  media: i2c: ov13858: Use V4L2 sensor clock helper
  media: i2c: ov13b10: Replace client->dev usage
  media: i2c: ov13b10: Use V4L2 sensor clock helper
  media: i2c: ov2740: Replace client->dev usage
  media: i2c: ov2740: Use V4L2 sensor clock helper
  media: i2c: ov4689: Use V4L2 sensor clock helper
  media: i2c: ov5670: Replace client->dev usage
  media: i2c: ov5670: Use V4L2 sensor clock helper
  media: i2c: ov5675: Replace client->dev usage
  media: i2c: ov5675: Use V4L2 sensor clock helper
  media: i2c: ov5693: Use V4L2 sensor clock helper
  media: i2c: ov7251: Use V4L2 sensor clock helper
  media: i2c: ov9734: Replace client->dev usage
  media: i2c: ov9734: Use V4L2 sensor clock helper
  media: v4l2-common: Add legacy camera sensor clock helper
  media: i2c: et8ek8: Drop support for per-mode external clock frequency
  media: i2c: et8ek8: Use V4L2 legacy sensor clock helper
  media: i2c: gc05a2: Use V4L2 legacy sensor clock helper
  media: i2c: gc08a3: Use V4L2 legacy sensor clock helper
  media: i2c: imx258: Replace client->dev usage
  media: i2c: imx258: Use V4L2 legacy sensor clock helper
  media: i2c: imx290: Use V4L2 legacy sensor clock helper
  media: i2c: ov02a10: Replace client->dev usage
  media: i2c: ov02a10: Use V4L2 legacy sensor clock helper
  media: i2c: ov2685: Use V4L2 legacy sensor clock helper
  media: i2c: ov5645: Use V4L2 legacy sensor clock helper
  media: i2c: ov5695: Use V4L2 legacy sensor clock helper
  media: i2c: ov8856: Replace client->dev usage
  media: i2c: ov8856: Use V4L2 legacy sensor clock helper
  media: i2c: s5c73m3: Use V4L2 legacy sensor clock helper
  media: i2c: s5k5baf: Use V4L2 legacy sensor clock helper
  media: i2c: s5k6a3: Use V4L2 legacy sensor clock helper
  ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera
    sensor node
  ARM: dts: samsung: exynos4412-midas: Replace clock-frequency in camera
    sensor node
  ARM: dts: ti: omap3-n950: Replace clock-frequency in camera sensor
    node
  ARM: dts: ti: omap3-n9: Replace clock-frequency in camera sensor node
  ARM: dts: ti: omap3-n900: Replace clock-frequency in camera sensor
    node
  ARM: dts: nxp: imx6qdl-pico: Replace clock-frequency in camera sensor
    node
  ARM: dts: nxp: imx6qdl-wandboard: Replace clock-frequency in camera
    sensor node
  arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Replace
    clock-frequency in camera sensor node
  arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop
    clock-frequency from camera sensor node
  arm64: dts: renesas: rzg2l-smarc: Drop clock-frequency from camera
    sensor node

 .../admin-guide/media/i2c-cardlist.rst        |    1 -
 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml |    6 +-
 .../bindings/media/i2c/mipi-ccs.yaml          |    7 +-
 .../bindings/media/i2c/ovti,ov02a10.yaml      |    3 +-
 .../bindings/media/i2c/ovti,ov5645.yaml       |    6 +-
 .../bindings/media/i2c/ovti,ov7251.yaml       |    6 +-
 .../bindings/media/i2c/ovti,ov8856.yaml       |    3 +-
 .../bindings/media/i2c/samsung,s5k5baf.yaml   |    6 +-
 .../bindings/media/i2c/samsung,s5k6a3.yaml    |    6 +-
 .../bindings/media/i2c/sony,imx258.yaml       |    1 +
 .../bindings/media/i2c/sony,imx274.yaml       |    4 +
 .../bindings/media/i2c/sony,imx290.yaml       |    5 +-
 .../bindings/media/i2c/ti,ds90ub960.yaml      |    3 +
 .../bindings/media/i2c/toshiba,et8ek8.txt     |    8 +-
 .../media/samsung,exynos4212-fimc-is.yaml     |    4 +-
 .../bindings/media/samsung,fimc.yaml          |    3 +-
 MAINTAINERS                                   |    1 -
 arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi   |    4 +-
 .../boot/dts/nxp/imx/imx6qdl-wandboard.dtsi   |    4 +-
 .../arm/boot/dts/samsung/exynos4210-i9100.dts |    5 +-
 .../boot/dts/samsung/exynos4412-midas.dtsi    |    5 +-
 arch/arm/boot/dts/ti/omap/omap3-n9.dts        |    5 +-
 arch/arm/boot/dts/ti/omap/omap3-n900.dts      |    3 +-
 arch/arm/boot/dts/ti/omap/omap3-n950.dts      |    5 +-
 .../sdm845-db845c-navigation-mezzanine.dtso   |    3 +-
 .../aistarvision-mipi-adapter-2.1.dtsi        |    1 -
 .../dts/renesas/rz-smarc-cru-csi-ov5645.dtsi  |    1 -
 drivers/media/i2c/Kconfig                     |   10 +-
 drivers/media/i2c/Makefile                    |    1 -
 drivers/media/i2c/et8ek8/et8ek8_driver.c      |   27 +-
 drivers/media/i2c/et8ek8/et8ek8_mode.c        |    9 -
 drivers/media/i2c/et8ek8/et8ek8_reg.h         |    1 -
 drivers/media/i2c/gc05a2.c                    |    8 +-
 drivers/media/i2c/gc08a3.c                    |    8 +-
 drivers/media/i2c/hi556.c                     |   92 +-
 drivers/media/i2c/hi847.c                     |   84 +-
 drivers/media/i2c/imx208.c                    |   91 +-
 drivers/media/i2c/imx258.c                    |  105 +-
 drivers/media/i2c/imx290.c                    |   27 +-
 drivers/media/i2c/imx319.c                    |   92 +-
 drivers/media/i2c/imx355.c                    |   90 +-
 drivers/media/i2c/mt9v032.c                   |  104 +-
 drivers/media/i2c/mt9v111.c                   |    2 -
 drivers/media/i2c/og01a1b.c                   |  109 +-
 drivers/media/i2c/ov02a10.c                   |   45 +-
 drivers/media/i2c/ov02c10.c                   |  107 +-
 drivers/media/i2c/ov02e10.c                   |  105 +-
 drivers/media/i2c/ov08d10.c                   |   82 +-
 drivers/media/i2c/ov08x40.c                   |   95 +-
 drivers/media/i2c/ov13858.c                   |   69 +-
 drivers/media/i2c/ov13b10.c                   |  110 +-
 drivers/media/i2c/ov2685.c                    |    8 +-
 drivers/media/i2c/ov2740.c                    |   91 +-
 drivers/media/i2c/ov4689.c                    |   12 +-
 drivers/media/i2c/ov5645.c                    |   13 +-
 drivers/media/i2c/ov5670.c                    |  105 +-
 drivers/media/i2c/ov5675.c                    |   89 +-
 drivers/media/i2c/ov5693.c                    |   16 +-
 drivers/media/i2c/ov5695.c                    |    8 +-
 drivers/media/i2c/ov6650.c                    | 1147 -----------------
 drivers/media/i2c/ov7251.c                    |   26 +-
 drivers/media/i2c/ov8856.c                    |   93 +-
 drivers/media/i2c/ov9734.c                    |   82 +-
 drivers/media/i2c/s5c73m3/s5c73m3-core.c      |   15 +-
 drivers/media/i2c/s5c73m3/s5c73m3.h           |    2 -
 drivers/media/i2c/s5k5baf.c                   |   21 +-
 drivers/media/i2c/s5k6a3.c                    |   17 +-
 drivers/media/v4l2-core/v4l2-common.c         |   39 +-
 include/media/i2c/mt9v022.h                   |   13 -
 include/media/i2c/mt9v032.h                   |   12 -
 include/media/v4l2-common.h                   |   41 +-
 71 files changed, 1043 insertions(+), 2389 deletions(-)
 delete mode 100644 drivers/media/i2c/ov6650.c
 delete mode 100644 include/media/i2c/mt9v022.h
 delete mode 100644 include/media/i2c/mt9v032.h


base-commit: dee0ecc9eb7ccf7aa6c2e384f6fc8bd7ee252808
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
@ 2025-08-12 21:45 ` Laurent Pinchart
  2025-08-13  4:44   ` Rob Herring (Arm)
  2025-08-13  9:49   ` [PATCH v2.1 " Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 02/72] dt-bindings: media: et8ek8: Deprecate clock-frequency property Laurent Pinchart
                   ` (13 subsequent siblings)
  14 siblings, 2 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:45 UTC (permalink / raw)
  To: linux-media
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sakari Ailus,
	Manivannan Sadhasivam, Sylwester Nawrocki, Alim Akhtar,
	Dongchun Zhu, Lad Prabhakar, Todor Tomov, linux-arm-msm,
	linux-i2c, devicetree, linux-arm-kernel, linux-samsung-soc

Usage of the clock-frequency property for camera sensors is discouraged
in favour of using assigned-clock-rates (and assigned-clock-parents
where needed). Mark the property as deprecated.

Update the examples accordingly. In DT examples where the sensor input
clock appears to come from a programmable clock generator, replace
clock-frequency by the assigned-clocks and assigned-clock-rates
properties. Otherwise, just drop clock-frequency.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
Changes since v1:

- Adapt examples in bindings that reference sensors
---
 Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml    | 6 ++++--
 Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml  | 7 +++++--
 .../devicetree/bindings/media/i2c/ovti,ov02a10.yaml        | 3 +--
 .../devicetree/bindings/media/i2c/ovti,ov5645.yaml         | 6 +++++-
 .../devicetree/bindings/media/i2c/ovti,ov7251.yaml         | 6 +++++-
 .../devicetree/bindings/media/i2c/ovti,ov8856.yaml         | 3 +--
 .../devicetree/bindings/media/i2c/samsung,s5k5baf.yaml     | 6 +++++-
 .../devicetree/bindings/media/i2c/samsung,s5k6a3.yaml      | 6 +++++-
 .../devicetree/bindings/media/i2c/sony,imx290.yaml         | 5 +++--
 .../bindings/media/samsung,exynos4212-fimc-is.yaml         | 4 ++--
 Documentation/devicetree/bindings/media/samsung,fimc.yaml  | 3 ++-
 11 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index 73144473b9b2..1687b069e032 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -292,7 +292,8 @@ examples:
 
                 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
                 clock-names = "xvclk";
-                clock-frequency = <19200000>;
+                assigned-clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
+                assigned-clock-rates = <19200000>;
 
                 dovdd-supply = <&vreg_lvs1a_1p8>;
                 avdd-supply = <&cam0_avdd_2v8>;
@@ -324,7 +325,8 @@ examples:
 
                 clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
                 clock-names = "xclk";
-                clock-frequency = <24000000>;
+                assigned-clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
+                assigned-clock-rates = <24000000>;
 
                 vdddo-supply = <&vreg_lvs1a_1p8>;
                 vdda-supply = <&cam3_avdd_2v8>;
diff --git a/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml b/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
index bc664a016396..217b08c8cbbd 100644
--- a/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
@@ -55,6 +55,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the external clock to the sensor in Hz.
+    deprecated: true
 
   reset-gpios:
     description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
@@ -93,7 +94,6 @@ properties:
 required:
   - compatible
   - reg
-  - clock-frequency
   - clocks
 
 additionalProperties: false
@@ -114,8 +114,11 @@ examples:
             reg = <0x10>;
             reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
             vana-supply = <&vaux3>;
+
             clocks = <&omap3_isp 0>;
-            clock-frequency = <9600000>;
+            assigned-clocks = <&omap3_isp 0>;
+            assigned-clock-rates = <9600000>;
+
             port {
                 ccs_ep: endpoint {
                     data-lanes = <1 2>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
index 67c1c291327b..0e1d9c390180 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
@@ -39,6 +39,7 @@ properties:
   clock-frequency:
     description:
       Frequency of the eclk clock in Hz.
+    deprecated: true
 
   dovdd-supply:
     description:
@@ -100,7 +101,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - dovdd-supply
   - avdd-supply
   - dvdd-supply
@@ -127,7 +127,6 @@ examples:
 
             clocks = <&ov02a10_clk>;
             clock-names = "eclk";
-            clock-frequency = <24000000>;
 
             rotation = <180>;
 
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
index bc9b27afe3ea..a583714b1ac7 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
@@ -21,6 +21,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz.
+    deprecated: true
 
   vdda-supply:
     description: Analog voltage supply, 2.8 volts
@@ -83,8 +84,11 @@ examples:
         camera@3c {
             compatible = "ovti,ov5645";
             reg = <0x3c>;
+
             clocks = <&clks 1>;
-            clock-frequency = <24000000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <24000000>;
+
             vdddo-supply = <&ov5645_vdddo_1v8>;
             vdda-supply = <&ov5645_vdda_2v8>;
             vddd-supply = <&ov5645_vddd_1v5>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
index 2e5187acbbb8..922996da59b2 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
@@ -29,6 +29,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz.
+    deprecated: true
 
   vdda-supply:
     description: Analog voltage supply, 2.8 volts
@@ -89,8 +90,11 @@ examples:
         camera@3c {
             compatible = "ovti,ov7251";
             reg = <0x3c>;
+
             clocks = <&clks 1>;
-            clock-frequency = <24000000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <24000000>;
+
             vdddo-supply = <&ov7251_vdddo_1v8>;
             vdda-supply = <&ov7251_vdda_2v8>;
             vddd-supply = <&ov7251_vddd_1v5>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
index 3f6f72c35485..fa71f24823f2 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
@@ -37,6 +37,7 @@ properties:
   clock-frequency:
     description:
       Frequency of the xvclk clock in Hertz.
+    deprecated: true
 
   dovdd-supply:
     description:
@@ -87,7 +88,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - dovdd-supply
   - avdd-supply
   - dvdd-supply
@@ -114,7 +114,6 @@ examples:
 
             clocks = <&cam_osc>;
             clock-names = "xvclk";
-            clock-frequency = <19200000>;
 
             avdd-supply = <&mt6358_vcama2_reg>;
             dvdd-supply = <&mt6358_vcamd_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml b/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
index c8f2955e0825..ebd95a8d9b2f 100644
--- a/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
@@ -26,6 +26,7 @@ properties:
   clock-frequency:
     default: 24000000
     description: mclk clock frequency
+    deprecated: true
 
   rstn-gpios:
     maxItems: 1
@@ -82,9 +83,12 @@ examples:
         sensor@2d {
             compatible = "samsung,s5k5baf";
             reg = <0x2d>;
+
             clocks = <&camera 0>;
+            assigned-clocks = <&camera 0>;
+            assigned-clock-rates = <24000000>;
+
             clock-names = "mclk";
-            clock-frequency = <24000000>;
             rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
             stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
             vdda-supply = <&cam_io_en_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml b/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
index 7e83a94124b5..e563e35920c4 100644
--- a/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
@@ -30,6 +30,7 @@ properties:
   clock-frequency:
     default: 24000000
     description: extclk clock frequency
+    deprecated: true
 
   gpios:
     maxItems: 1
@@ -80,8 +81,11 @@ examples:
         sensor@10 {
             compatible = "samsung,s5k6a3";
             reg = <0x10>;
-            clock-frequency = <24000000>;
+
             clocks = <&camera 1>;
+            assigned-clocks = <&camera 1>;
+            assigned-clock-rates = <24000000>;
+
             clock-names = "extclk";
             gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
             afvdd-supply = <&ldo19_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
index 990acf89af8f..484039671cd1 100644
--- a/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
@@ -51,6 +51,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz
+    deprecated: true
 
   vdda-supply:
     description: Analog power supply (2.9V)
@@ -100,7 +101,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - vdda-supply
   - vddd-supply
   - vdddo-supply
@@ -125,7 +125,8 @@ examples:
 
             clocks = <&gcc 90>;
             clock-names = "xclk";
-            clock-frequency = <37125000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <37125000>;
 
             vdddo-supply = <&camera_vdddo_1v8>;
             vdda-supply = <&camera_vdda_2v8>;
diff --git a/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml b/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
index 3a5ff3f47060..151290de6e87 100644
--- a/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
+++ b/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
@@ -209,9 +209,9 @@ examples:
                 svdda-supply = <&cam_io_reg>;
                 svddio-supply = <&ldo19_reg>;
                 afvdd-supply = <&ldo19_reg>;
-                clock-frequency = <24000000>;
-                clocks = <&camera 1>;
                 clock-names = "extclk";
+                assigned-clocks = <&camera 1>;
+                assigned-clock-rates = <24000000>;
                 gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
                 port {
diff --git a/Documentation/devicetree/bindings/media/samsung,fimc.yaml b/Documentation/devicetree/bindings/media/samsung,fimc.yaml
index 7808d61f1fa3..2a54379d9509 100644
--- a/Documentation/devicetree/bindings/media/samsung,fimc.yaml
+++ b/Documentation/devicetree/bindings/media/samsung,fimc.yaml
@@ -259,10 +259,11 @@ examples:
                     svdda-supply = <&cam_io_reg>;
                     svddio-supply = <&ldo19_reg>;
                     afvdd-supply = <&ldo19_reg>;
-                    clock-frequency = <24000000>;
                     /* CAM_B_CLKOUT */
                     clocks = <&camera 1>;
                     clock-names = "extclk";
+                    assigned-clocks = <&camera 1>;
+                    assigned-clock-rates = <24000000>;
                     gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
                     port {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 02/72] dt-bindings: media: et8ek8: Deprecate clock-frequency property
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
@ 2025-08-12 21:45 ` Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 03/72] dt-bindings: media: imx258: Make clocks property required Laurent Pinchart
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:45 UTC (permalink / raw)
  To: linux-media; +Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree

Usage of the clock-frequency property for camera sensors is discouraged
in favour of using assigned-clock-rates (and assigned-clock-parents
where needed). Drop the property, and update the example accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../devicetree/bindings/media/i2c/toshiba,et8ek8.txt      | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
index e80d5891b7ed..8d8e40c56872 100644
--- a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
+++ b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
@@ -13,9 +13,6 @@ Mandatory properties
 - reg: I2C address (0x3e, or an alternative address)
 - vana-supply: Analogue voltage supply (VANA), 2.8 volts
 - clocks: External clock to the sensor
-- clock-frequency: Frequency of the external clock to the sensor. Camera
-  driver will set this frequency on the external clock. The clock frequency is
-  a pre-determined frequency known to be suitable to the board.
 - reset-gpios: XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor
   is in hardware standby mode when the signal is in the low state.
 
@@ -43,8 +40,11 @@ Example
 		compatible = "toshiba,et8ek8";
 		reg = <0x3e>;
 		vana-supply = <&vaux4>;
+
 		clocks = <&isp 0>;
-		clock-frequency = <9600000>;
+		assigned-clocks = <&isp 0>;
+		assigned-clock-rates = <9600000>;
+
 		reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
 		port {
 			csi_cam1: endpoint {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 03/72] dt-bindings: media: imx258: Make clocks property required
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 02/72] dt-bindings: media: et8ek8: Deprecate clock-frequency property Laurent Pinchart
@ 2025-08-12 21:45 ` Laurent Pinchart
  2025-08-12 21:45 ` [PATCH v2 04/72] dt-bindings: media: imx274: " Laurent Pinchart
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:45 UTC (permalink / raw)
  To: linux-media
  Cc: Sakari Ailus, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree

The sensor requires an external clock, and drivers need to access the
clock to retrieve its frequency in order to configure the sensor. This
makes usage of the clocks property mandatory for a system to work
properly. Mark the property as required.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
 Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml
index 421b935b52bc..d105bd357dbb 100644
--- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml
@@ -81,6 +81,7 @@ properties:
 required:
   - compatible
   - reg
+  - clocks
   - port
 
 unevaluatedProperties: false
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 04/72] dt-bindings: media: imx274: Make clocks property required
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (2 preceding siblings ...)
  2025-08-12 21:45 ` [PATCH v2 03/72] dt-bindings: media: imx258: Make clocks property required Laurent Pinchart
@ 2025-08-12 21:45 ` Laurent Pinchart
  2025-08-14 20:40   ` Rob Herring (Arm)
  2025-08-12 21:46 ` [PATCH v2 63/72] ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera sensor node Laurent Pinchart
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:45 UTC (permalink / raw)
  To: linux-media
  Cc: Leon Luo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Tomi Valkeinen, devicetree

The sensor requires an external clock, and drivers need to access the
clock to retrieve its frequency in order to configure the sensor. This
makes usage of the clocks property mandatory for a system to work
properly. Mark the clocks and clock-names properties as required, and
update the example accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
Changes since v1:

- Adapt examples in bindings that reference sensors
---
 Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml  | 4 ++++
 Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml
index b397a730ee94..b06a6e75ba97 100644
--- a/Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml
@@ -46,6 +46,8 @@ properties:
 required:
   - compatible
   - reg
+  - clocks
+  - clock-names
   - port
 
 additionalProperties: false
@@ -59,6 +61,8 @@ examples:
         imx274: camera-sensor@1a {
             compatible = "sony,imx274";
             reg = <0x1a>;
+            clocks = <&imx274_clk>;
+            clock-names = "inck";
             reset-gpios = <&gpio_sensor 0 0>;
 
             port {
diff --git a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
index 4dcbd2b039a5..0539d52de422 100644
--- a/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml
@@ -361,6 +361,9 @@ examples:
                   compatible = "sony,imx274";
                   reg = <0x1a>;
 
+                  clocks = <&serializer>;
+                  clock-names = "inck";
+
                   reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW>;
 
                   port {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 63/72] ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (3 preceding siblings ...)
  2025-08-12 21:45 ` [PATCH v2 04/72] dt-bindings: media: imx274: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 64/72] ARM: dts: samsung: exynos4412-midas: " Laurent Pinchart
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	devicetree, linux-arm-kernel, linux-samsung-soc

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch can be merged independently from the previous clock handling
refactoring in the driver ("media: i2c: s5k5baf: Use V4L2 legacy sensor
clock helper").

Without the driver change, when the clock-frequency property is not set,
the driver defaults to a fixed 24MHz value. That is the frequency set in
DT for this board, so the resulting clock frequency does not change.
---
 arch/arm/boot/dts/samsung/exynos4210-i9100.dts | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
index df229fb8a16b..43cee5e26a9a 100644
--- a/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
+++ b/arch/arm/boot/dts/samsung/exynos4210-i9100.dts
@@ -169,11 +169,14 @@ image-sensor@2d {
 			vdda-supply = <&cam_io_en_reg>;
 			vddreg-supply = <&vt_core_15v_reg>;
 			vddio-supply = <&vtcam_reg>;
+
 			clocks = <&camera 0>;
 			clock-names = "mclk";
+			assigned-clocks = <&camera 0>;
+			assigned-clock-rates = <24000000>;
+
 			stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
 			rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
-			clock-frequency = <24000000>;
 
 			port {
 				s5k5bafx_ep: endpoint {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 64/72] ARM: dts: samsung: exynos4412-midas: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (4 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 63/72] ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera sensor node Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 65/72] ARM: dts: ti: omap3-n950: " Laurent Pinchart
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	devicetree, linux-arm-kernel, linux-samsung-soc

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch can be merged independently from the previous clock handling
refactoring in the driver ("media: i2c: s5k6a3: Use V4L2 legacy sensor
clock helper").

Without the driver change, when the clock-frequency property is not set,
the driver defaults to a fixed 24MHz value. That is the frequency set in
DT for this board, so the resulting clock frequency does not change.
---
 arch/arm/boot/dts/samsung/exynos4412-midas.dtsi | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/samsung/exynos4412-midas.dtsi b/arch/arm/boot/dts/samsung/exynos4412-midas.dtsi
index 05ddddb565ee..3cd027a99369 100644
--- a/arch/arm/boot/dts/samsung/exynos4412-midas.dtsi
+++ b/arch/arm/boot/dts/samsung/exynos4412-midas.dtsi
@@ -638,10 +638,13 @@ image-sensor@10 {
 		svdda-supply = <&cam_io_reg>;
 		svddio-supply = <&ldo19_reg>;
 		afvdd-supply = <&ldo19_reg>;
-		clock-frequency = <24000000>;
+
 		/* CAM_B_CLKOUT */
 		clocks = <&camera 1>;
 		clock-names = "extclk";
+		assigned-clocks = <&camera 1>;
+		assigned-clock-rates = <24000000>;
+
 		gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
 		port {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 65/72] ARM: dts: ti: omap3-n950: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (5 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 64/72] ARM: dts: samsung: exynos4412-midas: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 66/72] ARM: dts: ti: omap3-n9: " Laurent Pinchart
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-omap, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch has no dependency on driver changes.
---
 arch/arm/boot/dts/ti/omap/omap3-n950.dts | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/omap3-n950.dts b/arch/arm/boot/dts/ti/omap/omap3-n950.dts
index b99f97880204..2864ed8dd6c3 100644
--- a/arch/arm/boot/dts/ti/omap/omap3-n950.dts
+++ b/arch/arm/boot/dts/ti/omap/omap3-n950.dts
@@ -74,8 +74,11 @@ smia_1: camera@10 {
 		reg = <0x10>;
 		/* No reset gpio */
 		vana-supply = <&vaux3>;
+
 		clocks = <&isp 0>;
-		clock-frequency = <9600000>;
+		assigned-clocks = <&isp 0>;
+		assigned-clock-rates = <9600000>;
+
 		flash-leds = <&as3645a_flash &as3645a_indicator>;
 		port {
 			smia_1_1: endpoint {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 66/72] ARM: dts: ti: omap3-n9: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (6 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 65/72] ARM: dts: ti: omap3-n950: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 67/72] ARM: dts: ti: omap3-n900: " Laurent Pinchart
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-omap, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch has no dependency on driver changes.
---
 arch/arm/boot/dts/ti/omap/omap3-n9.dts | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/omap3-n9.dts b/arch/arm/boot/dts/ti/omap/omap3-n9.dts
index a3cf3f443785..2edc1933449b 100644
--- a/arch/arm/boot/dts/ti/omap/omap3-n9.dts
+++ b/arch/arm/boot/dts/ti/omap/omap3-n9.dts
@@ -21,8 +21,11 @@ smia_1: camera@10 {
 		reg = <0x10>;
 		/* No reset gpio */
 		vana-supply = <&vaux3>;
+
 		clocks = <&isp 0>;
-		clock-frequency = <9600000>;
+		assigned-clocks = <&isp 0>;
+		assigned-clock-rates = <9600000>;
+
 		flash-leds = <&as3645a_flash &as3645a_indicator>;
 		port {
 			smia_1_1: endpoint {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 67/72] ARM: dts: ti: omap3-n900: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (7 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 66/72] ARM: dts: ti: omap3-n9: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 68/72] ARM: dts: nxp: imx6qdl-pico: " Laurent Pinchart
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-omap, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch depends on "media: i2c: et8ek8: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.
---
 arch/arm/boot/dts/ti/omap/omap3-n900.dts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/omap3-n900.dts b/arch/arm/boot/dts/ti/omap/omap3-n900.dts
index c50ca572d1b9..0d4ceaf96f66 100644
--- a/arch/arm/boot/dts/ti/omap/omap3-n900.dts
+++ b/arch/arm/boot/dts/ti/omap/omap3-n900.dts
@@ -792,7 +792,8 @@ cam1: camera@3e {
 
 		clocks = <&isp 0>;
 		clock-names = "extclk";
-		clock-frequency = <9600000>;
+		assigned-clocks = <&isp 0>;
+		assigned-clock-rates = <9600000>;
 
 		reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
 
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 68/72] ARM: dts: nxp: imx6qdl-pico: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (8 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 67/72] ARM: dts: ti: omap3-n900: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 69/72] ARM: dts: nxp: imx6qdl-wandboard: " Laurent Pinchart
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, devicetree,
	imx, linux-arm-kernel

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch depends on "media: i2c: ov5645: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.

Changes since v1:

- Drop added blank line
---
 arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi
index c39a9ebdaba1..2ad1c030f51b 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-pico.dtsi
@@ -233,7 +233,9 @@ camera@3c {
 		pinctrl-0 = <&pinctrl_ov5645>;
 		reg = <0x3c>;
 		clocks = <&clks IMX6QDL_CLK_CKO2>;
-		clock-frequency = <24000000>;
+		assigned-clocks = <&clks IMX6QDL_CLK_CKO2>;
+		assigned-clock-rates = <24000000>;
+
 		vdddo-supply = <&reg_1p8v>;
 		vdda-supply = <&reg_2p8v>;
 		vddd-supply = <&reg_1p5v>;
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 69/72] ARM: dts: nxp: imx6qdl-wandboard: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (9 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 68/72] ARM: dts: nxp: imx6qdl-pico: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 70/72] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: " Laurent Pinchart
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, devicetree,
	imx, linux-arm-kernel

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
This patch depends on "media: i2c: ov5645: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.

Changes since v1:

- Drop added blank line
---
 arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi b/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi
index 26489eccd5fb..f3aaca039953 100644
--- a/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx6qdl-wandboard.dtsi
@@ -137,7 +137,9 @@ camera@3c {
 		pinctrl-0 = <&pinctrl_ov5645>;
 		reg = <0x3c>;
 		clocks = <&clks IMX6QDL_CLK_CKO2>;
-		clock-frequency = <24000000>;
+		assigned-clocks = <&clks IMX6QDL_CLK_CKO2>;
+		assigned-clock-rates = <24000000>;
+
 		vdddo-supply = <&reg_1p8v>;
 		vdda-supply = <&reg_2p8v>;
 		vddd-supply = <&reg_1p5v>;
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 70/72] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Replace clock-frequency in camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (10 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 69/72] ARM: dts: nxp: imx6qdl-wandboard: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 71/72] arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop clock-frequency from " Laurent Pinchart
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. Replace it in
the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
This patch depends on "media: i2c: ov8856: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.
---
 .../boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
index 51f1a4883ab8..dbe1911d8e47 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
@@ -44,7 +44,8 @@ camera@10 {
 
 		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
 		clock-names = "xvclk";
-		clock-frequency = <19200000>;
+		assigned-clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
+		assigned-clock-rates = <19200000>;
 
 		/*
 		 * The &vreg_s4a_1p8 trace is powered on as a,
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 71/72] arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop clock-frequency from camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (11 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 70/72] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-08-12 21:46 ` [PATCH v2 72/72] arm64: dts: renesas: rzg2l-smarc: " Laurent Pinchart
  2025-09-03 13:25 ` [PATCH v2 00/72] media: i2c: Reduce cargo-cult Mehdi Djait
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-renesas-soc, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. As the clock
source for the sensor is a fixed-frequency oscillator, simply drop the
clock-frequency.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
This patch depends on "media: i2c: ov5645: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.
---
 arch/arm64/boot/dts/renesas/aistarvision-mipi-adapter-2.1.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/aistarvision-mipi-adapter-2.1.dtsi b/arch/arm64/boot/dts/renesas/aistarvision-mipi-adapter-2.1.dtsi
index 7cb5c958aece..529388f6bf2b 100644
--- a/arch/arm64/boot/dts/renesas/aistarvision-mipi-adapter-2.1.dtsi
+++ b/arch/arm64/boot/dts/renesas/aistarvision-mipi-adapter-2.1.dtsi
@@ -66,7 +66,6 @@ ov5645: ov5645@3c {
 		compatible = "ovti,ov5645";
 		reg = <0x3c>;
 		clocks = <&osc25250_clk>;
-		clock-frequency = <24000000>;
 		vdddo-supply = <&ov5645_vdddo_1v8>;
 		vdda-supply = <&ov5645_vdda_2v8>;
 		vddd-supply = <&ov5645_vddd_1v5>;
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 72/72] arm64: dts: renesas: rzg2l-smarc: Drop clock-frequency from camera sensor node
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (12 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 71/72] arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop clock-frequency from " Laurent Pinchart
@ 2025-08-12 21:46 ` Laurent Pinchart
  2025-09-03 13:25 ` [PATCH v2 00/72] media: i2c: Reduce cargo-cult Mehdi Djait
  14 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-12 21:46 UTC (permalink / raw)
  To: linux-media
  Cc: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-renesas-soc, devicetree

The clock-frequency for camera sensors has been deprecated in favour of
the assigned-clocks and assigned-clock-rates properties. As the clock
source for the sensor is a fixed-frequency oscillator, simply drop the
clock-frequency.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
This patch depends on "media: i2c: ov5645: Use V4L2 legacy sensor clock
helper", which we tentatively plan to merge for v6.18. It should
therefore be postponed to v6.19.
---
 arch/arm64/boot/dts/renesas/rz-smarc-cru-csi-ov5645.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/rz-smarc-cru-csi-ov5645.dtsi b/arch/arm64/boot/dts/renesas/rz-smarc-cru-csi-ov5645.dtsi
index c5bb63c63b47..4d2b0655859a 100644
--- a/arch/arm64/boot/dts/renesas/rz-smarc-cru-csi-ov5645.dtsi
+++ b/arch/arm64/boot/dts/renesas/rz-smarc-cru-csi-ov5645.dtsi
@@ -64,7 +64,6 @@ ov5645: camera@3c {
 		compatible = "ovti,ov5645";
 		reg = <0x3c>;
 		clocks = <&ov5645_fixed_clk>;
-		clock-frequency = <24000000>;
 		vdddo-supply = <&ov5645_vdddo_1v8>;
 		vdda-supply = <&ov5645_vdda_2v8>;
 		vddd-supply = <&ov5645_vddd_1v5>;
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors
  2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
@ 2025-08-13  4:44   ` Rob Herring (Arm)
  2025-08-13  8:41     ` Laurent Pinchart
  2025-08-13  9:49   ` [PATCH v2.1 " Laurent Pinchart
  1 sibling, 1 reply; 20+ messages in thread
From: Rob Herring (Arm) @ 2025-08-13  4:44 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Andi Shyti, Robert Foss, Lad Prabhakar, linux-arm-msm, linux-i2c,
	Manivannan Sadhasivam, Conor Dooley, Sylwester Nawrocki,
	Krzysztof Kozlowski, Sakari Ailus, Todor Tomov, Loic Poulain,
	Alim Akhtar, linux-samsung-soc, linux-media, linux-arm-kernel,
	devicetree, Dongchun Zhu


On Wed, 13 Aug 2025 00:45:09 +0300, Laurent Pinchart wrote:
> Usage of the clock-frequency property for camera sensors is discouraged
> in favour of using assigned-clock-rates (and assigned-clock-parents
> where needed). Mark the property as deprecated.
> 
> Update the examples accordingly. In DT examples where the sensor input
> clock appears to come from a programmable clock generator, replace
> clock-frequency by the assigned-clocks and assigned-clock-rates
> properties. Otherwise, just drop clock-frequency.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> Changes since v1:
> 
> - Adapt examples in bindings that reference sensors
> ---
>  Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml    | 6 ++++--
>  Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml  | 7 +++++--
>  .../devicetree/bindings/media/i2c/ovti,ov02a10.yaml        | 3 +--
>  .../devicetree/bindings/media/i2c/ovti,ov5645.yaml         | 6 +++++-
>  .../devicetree/bindings/media/i2c/ovti,ov7251.yaml         | 6 +++++-
>  .../devicetree/bindings/media/i2c/ovti,ov8856.yaml         | 3 +--
>  .../devicetree/bindings/media/i2c/samsung,s5k5baf.yaml     | 6 +++++-
>  .../devicetree/bindings/media/i2c/samsung,s5k6a3.yaml      | 6 +++++-
>  .../devicetree/bindings/media/i2c/sony,imx290.yaml         | 5 +++--
>  .../bindings/media/samsung,exynos4212-fimc-is.yaml         | 4 ++--
>  Documentation/devicetree/bindings/media/samsung,fimc.yaml  | 3 ++-
>  11 files changed, 38 insertions(+), 17 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'clocks' is a required property
	from schema $id: http://devicetree.org/schemas/media/i2c/samsung,s5k6a3.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'clocks' is a dependency of 'clock-names'
	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'anyOf' conditional failed, one must be fixed:
	'clocks' is a required property
	'#clock-cells' is a required property
	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250812214620.30425-2-laurent.pinchart@ideasonboard.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors
  2025-08-13  4:44   ` Rob Herring (Arm)
@ 2025-08-13  8:41     ` Laurent Pinchart
  0 siblings, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-13  8:41 UTC (permalink / raw)
  To: Rob Herring (Arm)
  Cc: Andi Shyti, Robert Foss, Lad Prabhakar, linux-arm-msm, linux-i2c,
	Manivannan Sadhasivam, Conor Dooley, Sylwester Nawrocki,
	Krzysztof Kozlowski, Sakari Ailus, Todor Tomov, Loic Poulain,
	Alim Akhtar, linux-samsung-soc, linux-media, linux-arm-kernel,
	devicetree, Dongchun Zhu

On Tue, Aug 12, 2025 at 11:44:42PM -0500, Rob Herring (Arm) wrote:
> 
> On Wed, 13 Aug 2025 00:45:09 +0300, Laurent Pinchart wrote:
> > Usage of the clock-frequency property for camera sensors is discouraged
> > in favour of using assigned-clock-rates (and assigned-clock-parents
> > where needed). Mark the property as deprecated.
> > 
> > Update the examples accordingly. In DT examples where the sensor input
> > clock appears to come from a programmable clock generator, replace
> > clock-frequency by the assigned-clocks and assigned-clock-rates
> > properties. Otherwise, just drop clock-frequency.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> > ---
> > Changes since v1:
> > 
> > - Adapt examples in bindings that reference sensors
> > ---
> >  Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml    | 6 ++++--
> >  Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml  | 7 +++++--
> >  .../devicetree/bindings/media/i2c/ovti,ov02a10.yaml        | 3 +--
> >  .../devicetree/bindings/media/i2c/ovti,ov5645.yaml         | 6 +++++-
> >  .../devicetree/bindings/media/i2c/ovti,ov7251.yaml         | 6 +++++-
> >  .../devicetree/bindings/media/i2c/ovti,ov8856.yaml         | 3 +--
> >  .../devicetree/bindings/media/i2c/samsung,s5k5baf.yaml     | 6 +++++-
> >  .../devicetree/bindings/media/i2c/samsung,s5k6a3.yaml      | 6 +++++-
> >  .../devicetree/bindings/media/i2c/sony,imx290.yaml         | 5 +++--
> >  .../bindings/media/samsung,exynos4212-fimc-is.yaml         | 4 ++--
> >  Documentation/devicetree/bindings/media/samsung,fimc.yaml  | 3 ++-
> >  11 files changed, 38 insertions(+), 17 deletions(-)
> > 
> 
> My bot found errors running 'make dt_binding_check' on your patch:
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'clocks' is a required property
> 	from schema $id: http://devicetree.org/schemas/media/i2c/samsung,s5k6a3.yaml#
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'clocks' is a dependency of 'clock-names'
> 	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.example.dtb: image-sensor@10 (samsung,s5k6a3): 'anyOf' conditional failed, one must be fixed:
> 	'clocks' is a required property
> 	'#clock-cells' is a required property
> 	from schema $id: http://devicetree.org/schemas/clock/clock.yaml#

This is what I get for relying blindly on CI :-/ Sorry about that, I'll
fix it (and try to fix CI too).

> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250812214620.30425-2-laurent.pinchart@ideasonboard.com
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
> 

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v2.1 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors
  2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
  2025-08-13  4:44   ` Rob Herring (Arm)
@ 2025-08-13  9:49   ` Laurent Pinchart
  1 sibling, 0 replies; 20+ messages in thread
From: Laurent Pinchart @ 2025-08-13  9:49 UTC (permalink / raw)
  To: linux-media
  Cc: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sakari Ailus,
	Manivannan Sadhasivam, Sylwester Nawrocki, Alim Akhtar,
	Dongchun Zhu, Lad Prabhakar, Todor Tomov, linux-arm-msm,
	linux-i2c, devicetree, linux-arm-kernel, linux-samsung-soc

Usage of the clock-frequency property for camera sensors is discouraged
in favour of using assigned-clock-rates (and assigned-clock-parents
where needed). Mark the property as deprecated.

Update the examples accordingly. In DT examples where the sensor input
clock appears to come from a programmable clock generator, replace
clock-frequency by the assigned-clocks and assigned-clock-rates
properties. Otherwise, just drop clock-frequency.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
Changes since v2:

- Don't remove clocks property in samsung,exynos4212-fimc-is.yaml

Changes since v1:

- Adapt examples in bindings that reference sensors
---
 Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml    | 6 ++++--
 Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml  | 7 +++++--
 .../devicetree/bindings/media/i2c/ovti,ov02a10.yaml        | 3 +--
 .../devicetree/bindings/media/i2c/ovti,ov5645.yaml         | 6 +++++-
 .../devicetree/bindings/media/i2c/ovti,ov7251.yaml         | 6 +++++-
 .../devicetree/bindings/media/i2c/ovti,ov8856.yaml         | 3 +--
 .../devicetree/bindings/media/i2c/samsung,s5k5baf.yaml     | 6 +++++-
 .../devicetree/bindings/media/i2c/samsung,s5k6a3.yaml      | 6 +++++-
 .../devicetree/bindings/media/i2c/sony,imx290.yaml         | 5 +++--
 .../bindings/media/samsung,exynos4212-fimc-is.yaml         | 3 ++-
 Documentation/devicetree/bindings/media/samsung,fimc.yaml  | 3 ++-
 11 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index 73144473b9b2..1687b069e032 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -292,7 +292,8 @@ examples:
 
                 clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
                 clock-names = "xvclk";
-                clock-frequency = <19200000>;
+                assigned-clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
+                assigned-clock-rates = <19200000>;
 
                 dovdd-supply = <&vreg_lvs1a_1p8>;
                 avdd-supply = <&cam0_avdd_2v8>;
@@ -324,7 +325,8 @@ examples:
 
                 clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
                 clock-names = "xclk";
-                clock-frequency = <24000000>;
+                assigned-clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
+                assigned-clock-rates = <24000000>;
 
                 vdddo-supply = <&vreg_lvs1a_1p8>;
                 vdda-supply = <&cam3_avdd_2v8>;
diff --git a/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml b/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
index bc664a016396..217b08c8cbbd 100644
--- a/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml
@@ -55,6 +55,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the external clock to the sensor in Hz.
+    deprecated: true
 
   reset-gpios:
     description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
@@ -93,7 +94,6 @@ properties:
 required:
   - compatible
   - reg
-  - clock-frequency
   - clocks
 
 additionalProperties: false
@@ -114,8 +114,11 @@ examples:
             reg = <0x10>;
             reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
             vana-supply = <&vaux3>;
+
             clocks = <&omap3_isp 0>;
-            clock-frequency = <9600000>;
+            assigned-clocks = <&omap3_isp 0>;
+            assigned-clock-rates = <9600000>;
+
             port {
                 ccs_ep: endpoint {
                     data-lanes = <1 2>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
index 67c1c291327b..0e1d9c390180 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov02a10.yaml
@@ -39,6 +39,7 @@ properties:
   clock-frequency:
     description:
       Frequency of the eclk clock in Hz.
+    deprecated: true
 
   dovdd-supply:
     description:
@@ -100,7 +101,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - dovdd-supply
   - avdd-supply
   - dvdd-supply
@@ -127,7 +127,6 @@ examples:
 
             clocks = <&ov02a10_clk>;
             clock-names = "eclk";
-            clock-frequency = <24000000>;
 
             rotation = <180>;
 
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
index bc9b27afe3ea..a583714b1ac7 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov5645.yaml
@@ -21,6 +21,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz.
+    deprecated: true
 
   vdda-supply:
     description: Analog voltage supply, 2.8 volts
@@ -83,8 +84,11 @@ examples:
         camera@3c {
             compatible = "ovti,ov5645";
             reg = <0x3c>;
+
             clocks = <&clks 1>;
-            clock-frequency = <24000000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <24000000>;
+
             vdddo-supply = <&ov5645_vdddo_1v8>;
             vdda-supply = <&ov5645_vdda_2v8>;
             vddd-supply = <&ov5645_vddd_1v5>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
index 2e5187acbbb8..922996da59b2 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov7251.yaml
@@ -29,6 +29,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz.
+    deprecated: true
 
   vdda-supply:
     description: Analog voltage supply, 2.8 volts
@@ -89,8 +90,11 @@ examples:
         camera@3c {
             compatible = "ovti,ov7251";
             reg = <0x3c>;
+
             clocks = <&clks 1>;
-            clock-frequency = <24000000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <24000000>;
+
             vdddo-supply = <&ov7251_vdddo_1v8>;
             vdda-supply = <&ov7251_vdda_2v8>;
             vddd-supply = <&ov7251_vddd_1v5>;
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
index 3f6f72c35485..fa71f24823f2 100644
--- a/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov8856.yaml
@@ -37,6 +37,7 @@ properties:
   clock-frequency:
     description:
       Frequency of the xvclk clock in Hertz.
+    deprecated: true
 
   dovdd-supply:
     description:
@@ -87,7 +88,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - dovdd-supply
   - avdd-supply
   - dvdd-supply
@@ -114,7 +114,6 @@ examples:
 
             clocks = <&cam_osc>;
             clock-names = "xvclk";
-            clock-frequency = <19200000>;
 
             avdd-supply = <&mt6358_vcama2_reg>;
             dvdd-supply = <&mt6358_vcamd_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml b/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
index c8f2955e0825..ebd95a8d9b2f 100644
--- a/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
@@ -26,6 +26,7 @@ properties:
   clock-frequency:
     default: 24000000
     description: mclk clock frequency
+    deprecated: true
 
   rstn-gpios:
     maxItems: 1
@@ -82,9 +83,12 @@ examples:
         sensor@2d {
             compatible = "samsung,s5k5baf";
             reg = <0x2d>;
+
             clocks = <&camera 0>;
+            assigned-clocks = <&camera 0>;
+            assigned-clock-rates = <24000000>;
+
             clock-names = "mclk";
-            clock-frequency = <24000000>;
             rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
             stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
             vdda-supply = <&cam_io_en_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml b/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
index 7e83a94124b5..e563e35920c4 100644
--- a/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
@@ -30,6 +30,7 @@ properties:
   clock-frequency:
     default: 24000000
     description: extclk clock frequency
+    deprecated: true
 
   gpios:
     maxItems: 1
@@ -80,8 +81,11 @@ examples:
         sensor@10 {
             compatible = "samsung,s5k6a3";
             reg = <0x10>;
-            clock-frequency = <24000000>;
+
             clocks = <&camera 1>;
+            assigned-clocks = <&camera 1>;
+            assigned-clock-rates = <24000000>;
+
             clock-names = "extclk";
             gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
             afvdd-supply = <&ldo19_reg>;
diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
index 990acf89af8f..484039671cd1 100644
--- a/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx290.yaml
@@ -51,6 +51,7 @@ properties:
 
   clock-frequency:
     description: Frequency of the xclk clock in Hz
+    deprecated: true
 
   vdda-supply:
     description: Analog power supply (2.9V)
@@ -100,7 +101,6 @@ required:
   - reg
   - clocks
   - clock-names
-  - clock-frequency
   - vdda-supply
   - vddd-supply
   - vdddo-supply
@@ -125,7 +125,8 @@ examples:
 
             clocks = <&gcc 90>;
             clock-names = "xclk";
-            clock-frequency = <37125000>;
+            assigned-clocks = <&clks 1>;
+            assigned-clock-rates = <37125000>;
 
             vdddo-supply = <&camera_vdddo_1v8>;
             vdda-supply = <&camera_vdda_2v8>;
diff --git a/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml b/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
index 3a5ff3f47060..71d63bb9abb5 100644
--- a/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
+++ b/Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
@@ -209,9 +209,10 @@ examples:
                 svdda-supply = <&cam_io_reg>;
                 svddio-supply = <&ldo19_reg>;
                 afvdd-supply = <&ldo19_reg>;
-                clock-frequency = <24000000>;
                 clocks = <&camera 1>;
                 clock-names = "extclk";
+                assigned-clocks = <&camera 1>;
+                assigned-clock-rates = <24000000>;
                 gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
                 port {
diff --git a/Documentation/devicetree/bindings/media/samsung,fimc.yaml b/Documentation/devicetree/bindings/media/samsung,fimc.yaml
index 7808d61f1fa3..2a54379d9509 100644
--- a/Documentation/devicetree/bindings/media/samsung,fimc.yaml
+++ b/Documentation/devicetree/bindings/media/samsung,fimc.yaml
@@ -259,10 +259,11 @@ examples:
                     svdda-supply = <&cam_io_reg>;
                     svddio-supply = <&ldo19_reg>;
                     afvdd-supply = <&ldo19_reg>;
-                    clock-frequency = <24000000>;
                     /* CAM_B_CLKOUT */
                     clocks = <&camera 1>;
                     clock-names = "extclk";
+                    assigned-clocks = <&camera 1>;
+                    assigned-clock-rates = <24000000>;
                     gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
                     port {
-- 
Regards,

Laurent Pinchart


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 04/72] dt-bindings: media: imx274: Make clocks property required
  2025-08-12 21:45 ` [PATCH v2 04/72] dt-bindings: media: imx274: " Laurent Pinchart
@ 2025-08-14 20:40   ` Rob Herring (Arm)
  0 siblings, 0 replies; 20+ messages in thread
From: Rob Herring (Arm) @ 2025-08-14 20:40 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-media, Krzysztof Kozlowski, Tomi Valkeinen, Leon Luo,
	Conor Dooley, devicetree


On Wed, 13 Aug 2025 00:45:12 +0300, Laurent Pinchart wrote:
> The sensor requires an external clock, and drivers need to access the
> clock to retrieve its frequency in order to configure the sensor. This
> makes usage of the clocks property mandatory for a system to work
> properly. Mark the clocks and clock-names properties as required, and
> update the example accordingly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> Changes since v1:
> 
> - Adapt examples in bindings that reference sensors
> ---
>  Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml  | 4 ++++
>  Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml | 3 +++
>  2 files changed, 7 insertions(+)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 00/72] media: i2c: Reduce cargo-cult
  2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
                   ` (13 preceding siblings ...)
  2025-08-12 21:46 ` [PATCH v2 72/72] arm64: dts: renesas: rzg2l-smarc: " Laurent Pinchart
@ 2025-09-03 13:25 ` Mehdi Djait
  14 siblings, 0 replies; 20+ messages in thread
From: Mehdi Djait @ 2025-09-03 13:25 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-media, Alim Akhtar, Andi Shyti, André Apitzsch,
	Andrzej Hajda, Andy Shevchenko, Arec Kao, Benjamin Mugnier,
	Bingbu Cao, Bjorn Andersson, Bryan O'Donoghue,
	Bryan O'Donoghue, Conor Dooley, Daniel Scally, devicetree,
	Dongcheng Yan, Dongchun Zhu, Fabio Estevam, Geert Uytterhoeven,
	Hans de Goede, Hans Verkuil, Heimir Thor Sverrisson, imx,
	Jacopo Mondi, Jason Chen, Jimmy Su, Jingjing Xiong, Jonas Karlman,
	Konrad Dybcio, Krzysztof Kozlowski, Lad Prabhakar, Leon Luo,
	Liam Girdwood, linux-arm-kernel, linux-arm-msm, linux-i2c,
	linux-omap, linux-renesas-soc, linux-samsung-soc, Loic Poulain,
	Magnus Damm, Manivannan Sadhasivam, Marek Szyprowski, Mark Brown,
	Matthew Majewski, Mikhail Rudenko, Nicolas Dufresne,
	Niklas Söderlund, Pavel Machek, Pengutronix Kernel Team,
	Robert Foss, Rob Herring, Sakari Ailus, Sascha Hauer, Shawn Guo,
	Shunqian Zheng, Sylvain Petinot, Sylwester Nawrocki, Tarang Raval,
	Tianshu Qiu, Todor Tomov, Tomi Valkeinen, Tony Lindgren, Zhi Mao

Hello Laurent,

Thank you for the patches!

On Wed, Aug 13, 2025 at 12:45:08AM +0300, Laurent Pinchart wrote:

[..]

> Laurent Pinchart (72):
>   dt-bindings: media: Deprecate clock-frequency property for camera
>     sensors
>   dt-bindings: media: et8ek8: Deprecate clock-frequency property
>   dt-bindings: media: imx258: Make clocks property required
>   dt-bindings: media: imx274: Make clocks property required
>   media: i2c: mt9v022: Drop unused mt9v022.h header
>   media: i2c: mt9v032: Replace client->dev usage
>   media: i2c: mt9v032: Drop support for platform data
>   media: i2c: mt9v111: Do not set clock rate manually
>   media: i2c: ov6650: Drop unused driver
>   media: i2c: hi556: Replace client->dev usage
>   media: i2c: hi556: Use V4L2 sensor clock helper
>   media: i2c: hi847: Replace client->dev usage
>   media: i2c: hi847: Use V4L2 sensor clock helper
>   media: i2c: imx208: Replace client->dev usage
>   media: i2c: imx208: Use V4L2 sensor clock helper
>   media: i2c: imx319: Replace client->dev usage
>   media: i2c: imx319: Use V4L2 sensor clock helper
>   media: i2c: imx355: Replace client->dev usage
>   media: i2c: imx335: Use V4L2 sensor clock helper
>   media: i2c: og01a1b: Replace client->dev usage
>   media: i2c: og01a1b: Use V4L2 sensor clock helper
>   media: i2c: ov02c10: Replace client->dev usage
>   media: i2c: ov02c10: Use V4L2 sensor clock helper
>   media: i2c: ov02e10: Replace client->dev usage
>   media: i2c: ov02e10: Use V4L2 sensor clock helper
>   media: i2c: ov08d10: Replace client->dev usage
>   media: i2c: ov08d10: Use V4L2 sensor clock helper
>   media: i2c: ov08x40: Replace client->dev usage
>   media: i2c: ov08x40: Use V4L2 sensor clock helper
>   media: i2c: ov13858: Replace client->dev usage
>   media: i2c: ov13858: Use V4L2 sensor clock helper
>   media: i2c: ov13b10: Replace client->dev usage
>   media: i2c: ov13b10: Use V4L2 sensor clock helper
>   media: i2c: ov2740: Replace client->dev usage
>   media: i2c: ov2740: Use V4L2 sensor clock helper
>   media: i2c: ov4689: Use V4L2 sensor clock helper
>   media: i2c: ov5670: Replace client->dev usage
>   media: i2c: ov5670: Use V4L2 sensor clock helper
>   media: i2c: ov5675: Replace client->dev usage
>   media: i2c: ov5675: Use V4L2 sensor clock helper
>   media: i2c: ov5693: Use V4L2 sensor clock helper
>   media: i2c: ov7251: Use V4L2 sensor clock helper
>   media: i2c: ov9734: Replace client->dev usage
>   media: i2c: ov9734: Use V4L2 sensor clock helper
>   media: v4l2-common: Add legacy camera sensor clock helper
>   media: i2c: et8ek8: Drop support for per-mode external clock frequency
>   media: i2c: et8ek8: Use V4L2 legacy sensor clock helper
>   media: i2c: gc05a2: Use V4L2 legacy sensor clock helper
>   media: i2c: gc08a3: Use V4L2 legacy sensor clock helper
>   media: i2c: imx258: Replace client->dev usage
>   media: i2c: imx258: Use V4L2 legacy sensor clock helper
>   media: i2c: imx290: Use V4L2 legacy sensor clock helper
>   media: i2c: ov02a10: Replace client->dev usage
>   media: i2c: ov02a10: Use V4L2 legacy sensor clock helper
>   media: i2c: ov2685: Use V4L2 legacy sensor clock helper
>   media: i2c: ov5645: Use V4L2 legacy sensor clock helper
>   media: i2c: ov5695: Use V4L2 legacy sensor clock helper
>   media: i2c: ov8856: Replace client->dev usage
>   media: i2c: ov8856: Use V4L2 legacy sensor clock helper
>   media: i2c: s5c73m3: Use V4L2 legacy sensor clock helper
>   media: i2c: s5k5baf: Use V4L2 legacy sensor clock helper
>   media: i2c: s5k6a3: Use V4L2 legacy sensor clock helper
>   ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera
>     sensor node
>   ARM: dts: samsung: exynos4412-midas: Replace clock-frequency in camera
>     sensor node
>   ARM: dts: ti: omap3-n950: Replace clock-frequency in camera sensor
>     node
>   ARM: dts: ti: omap3-n9: Replace clock-frequency in camera sensor node
>   ARM: dts: ti: omap3-n900: Replace clock-frequency in camera sensor
>     node
>   ARM: dts: nxp: imx6qdl-pico: Replace clock-frequency in camera sensor
>     node
>   ARM: dts: nxp: imx6qdl-wandboard: Replace clock-frequency in camera
>     sensor node
>   arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Replace
>     clock-frequency in camera sensor node
>   arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop
>     clock-frequency from camera sensor node
>   arm64: dts: renesas: rzg2l-smarc: Drop clock-frequency from camera
>     sensor node

Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com>

--
Kind Regards
Mehdi Djait

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2025-09-03 13:25 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-12 21:45 [PATCH v2 00/72] media: i2c: Reduce cargo-cult Laurent Pinchart
2025-08-12 21:45 ` [PATCH v2 01/72] dt-bindings: media: Deprecate clock-frequency property for camera sensors Laurent Pinchart
2025-08-13  4:44   ` Rob Herring (Arm)
2025-08-13  8:41     ` Laurent Pinchart
2025-08-13  9:49   ` [PATCH v2.1 " Laurent Pinchart
2025-08-12 21:45 ` [PATCH v2 02/72] dt-bindings: media: et8ek8: Deprecate clock-frequency property Laurent Pinchart
2025-08-12 21:45 ` [PATCH v2 03/72] dt-bindings: media: imx258: Make clocks property required Laurent Pinchart
2025-08-12 21:45 ` [PATCH v2 04/72] dt-bindings: media: imx274: " Laurent Pinchart
2025-08-14 20:40   ` Rob Herring (Arm)
2025-08-12 21:46 ` [PATCH v2 63/72] ARM: dts: samsung: exynos4210-i9100: Replace clock-frequency in camera sensor node Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 64/72] ARM: dts: samsung: exynos4412-midas: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 65/72] ARM: dts: ti: omap3-n950: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 66/72] ARM: dts: ti: omap3-n9: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 67/72] ARM: dts: ti: omap3-n900: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 68/72] ARM: dts: nxp: imx6qdl-pico: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 69/72] ARM: dts: nxp: imx6qdl-wandboard: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 70/72] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 71/72] arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Drop clock-frequency from " Laurent Pinchart
2025-08-12 21:46 ` [PATCH v2 72/72] arm64: dts: renesas: rzg2l-smarc: " Laurent Pinchart
2025-09-03 13:25 ` [PATCH v2 00/72] media: i2c: Reduce cargo-cult Mehdi Djait

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).