Devicetree
 help / color / mirror / Atom feed
* [PATCH v7 1/2] dt-bindings: Pinefeat cef168 lens control board
       [not found] <20260601204814.19148-1-asmirnou@pinefeat.co.uk>
@ 2026-06-01 20:48 ` Aliaksandr Smirnou
  2026-06-01 20:52   ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Aliaksandr Smirnou @ 2026-06-01 20:48 UTC (permalink / raw)
  To: Alen Karnil
  Cc: Aliaksandr Smirnou, Krzysztof Kozlowski, Conor Dooley,
	Aliaksandr Smirnou, Mauro Carvalho Chehab, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
	Bjorn Andersson, Kael D'Alcamo, Lad Prabhakar,
	open list:PINEFEAT CEF168 LENS DRIVER,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Add the Device Tree schema and examples for the Pinefeat cef168 lens
control board. This board interfaces Canon EF & EF-S lenses with
non-Canon camera bodies, enabling electronic control of focus and
aperture via V4L2.

Power supply is derived from fixed supplies via connector or GPIO
header. Therefore, the driver does not manage any regulator, so
representing any supply in the binding is redundant.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Aliaksandr Smirnou <asmirnou@pinefeat.co.uk>
---
 .../bindings/media/i2c/pinefeat,cef168.yaml   | 47 +++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml  |  2 +
 MAINTAINERS                                   |  6 +++
 3 files changed, 55 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
new file mode 100644
index 000000000000..1295b1f4edeb
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2025 Pinefeat LLP
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/pinefeat,cef168.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pinefeat cef168 lens driver
+
+maintainers:
+  - Aliaksandr Smirnou <support@pinefeat.co.uk>
+
+description: |
+  Pinefeat produces an adapter designed to interface between
+  Canon EF & EF-S lenses and non-Canon camera bodies, incorporating
+  features for electronic focus and aperture adjustment. The cef168
+  circuit board, included with the adapter, provides a software
+  programming interface that allows control of lens focus and
+  aperture positions.
+
+properties:
+  compatible:
+    enum:
+      - pinefeat,cef168
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        camera-lens@d {
+            compatible = "pinefeat,cef168";
+            reg = <0x0d>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 28784d66ae7b..4e5307a9c5c4 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1289,6 +1289,8 @@ patternProperties:
     description: Picochip Ltd
   "^pine64,.*":
     description: Pine64
+  "^pinefeat,.*":
+    description: Pinefeat LLP
   "^pineriver,.*":
     description: Shenzhen PineRiver Designs Co., Ltd.
   "^pixcir,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index 9ec290e38b44..06668674e167 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21146,6 +21146,12 @@ S:	Supported
 F:	Documentation/devicetree/bindings/input/pine64,pinephone-keyboard.yaml
 F:	drivers/input/keyboard/pinephone-keyboard.c
 
+PINEFEAT CEF168 LENS DRIVER
+M:	Aliaksandr Smirnou <support@pinefeat.co.uk>
+L:	linux-media@vger.kernel.org
+S:	Supported
+F:	Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
+
 PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
 M:	Tomasz Duszynski <tduszyns@gmail.com>
 S:	Maintained
-- 
2.34.1


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

* Re: [PATCH v7 1/2] dt-bindings: Pinefeat cef168 lens control board
  2026-06-01 20:48 ` [PATCH v7 1/2] dt-bindings: Pinefeat cef168 lens control board Aliaksandr Smirnou
@ 2026-06-01 20:52   ` sashiko-bot
  0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-06-01 20:52 UTC (permalink / raw)
  To: Aliaksandr Smirnou; +Cc: linux-media, devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The Device Tree schema describes software rather than the physical hardware, violating Device Tree design principles. The title explicitly calls the binding a 'driver' instead of the hardware device, and the commit message intentionally omits power supply definitions because 'the driver does not manage any regulator', which couples the hardware description to current software limitations.
--

commit 5752dd4b724a501f53ddad43b87fa9c0328d6fb5
Author: Aliaksandr Smirnou <asmirnou@pinefeat.co.uk>

dt-bindings: Pinefeat cef168 lens control board

This commit adds the Device Tree schema and examples for the Pinefeat
cef168 lens control board. It supports controlling Canon EF and EF-S
lenses via V4L2.

> Power supply is derived from fixed supplies via connector or GPIO
> header. Therefore, the driver does not manage any regulator, so
> representing any supply in the binding is redundant.

[Severity: Low]
Device tree is intended to describe the physical hardware independent of
the operating system or current driver features. Shouldn't the physical
power rails be described in the binding, even if the current driver does
not actively manage them?

> diff --git a/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
> new file mode 100644
> index 0000000000000..1295b1f4edebc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
> @@ -0,0 +1,47 @@
[ ... ]
> +$id: http://devicetree.org/schemas/media/i2c/pinefeat,cef168.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Pinefeat cef168 lens driver

[Severity: Low]
Does this title reflect a conceptual mismatch by referring to a software
driver rather than the hardware device? Would it be better to title this
"Pinefeat cef168 lens control board" to match standard device tree naming
practices?

[ ... ]
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false

[Severity: Low]
Because physical power supplies are omitted from the schema, does setting
additionalProperties to false prevent creating a complete, hardware-accurate
device tree? If someone describes the board's actual power rails in their
device tree, it will fail schema validation. Should the physical supply
properties be added here to allow accurate hardware descriptions?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260601204814.19148-1-asmirnou@pinefeat.co.uk?part=1

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

end of thread, other threads:[~2026-06-01 20:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260601204814.19148-1-asmirnou@pinefeat.co.uk>
2026-06-01 20:48 ` [PATCH v7 1/2] dt-bindings: Pinefeat cef168 lens control board Aliaksandr Smirnou
2026-06-01 20:52   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox