[PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board

Aliaksandr Smirnou posted 2 patches 1 month ago
[PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board
Posted by Aliaksandr Smirnou 1 month ago
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.

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 77160cd47f54..dab27f769b0a 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1195,6 +1195,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 fe168477caa4..811c6a150029 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19985,6 +19985,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
Re: [PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board
Posted by Krzysztof Kozlowski 1 month ago
On 30/08/2025 13:14, Aliaksandr Smirnou wrote:
> 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.
> 
> Signed-off-by: Aliaksandr Smirnou <asmirnou@pinefeat.co.uk>


b4 diff '<20250830111500.53169-2-asmirnou@pinefeat.co.uk>'
Grabbing thread from
lore.kernel.org/all/20250830111500.53169-2-asmirnou@pinefeat.co.uk/t.mbox.gz
Checking for older revisions
Grabbing search results from lore.kernel.org
---
Analyzing 9 messages in the thread
Could not find lower series to compare against.

You are not making it easier for us.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
Re: [PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board
Posted by Aliaksandr Smirnou 1 month ago
On Sat, 30 Aug 2025 15:21:46 +0200, Krzysztof Kozlowski wrote:
> b4 diff '<20250830111500.53169-2-asmirnou@pinefeat.co.uk>'
> Grabbing thread from
> lore.kernel.org/all/20250830111500.53169-2-asmirnou@pinefeat.co.uk/t.mbox.gz
> Checking for older revisions
> Grabbing search results from lore.kernel.org
> ---
> Analyzing 9 messages in the thread
> Could not find lower series to compare against.
> 
> You are not making it easier for us.

Sorry, I know how hard the reviewing process can be.

To compare the differences, the mbox files can be created manually
and then a range-diff can be run against the previous series revision.

b4 am -T '<20250822171041.7340-1-support@pinefeat.co.uk>'

b4 am -T '<20250830111500.53169-1-asmirnou@pinefeat.co.uk>'

b4 diff -m \
  v4_20250822_support_pinefeat_cef168_lens_control_board_driver.mbx \
  v4_20250830_asmirnou_pinefeat_cef168_lens_control_board_driver.mbx

Let me know if you'd prefer that I submit a v5 instead.
Re: [PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board
Posted by Kieran Bingham 1 month ago
Quoting Krzysztof Kozlowski (2025-08-30 14:21:46)
> On 30/08/2025 13:14, Aliaksandr Smirnou wrote:
> > 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.
> > 
> > Signed-off-by: Aliaksandr Smirnou <asmirnou@pinefeat.co.uk>
> 
> 
> b4 diff '<20250830111500.53169-2-asmirnou@pinefeat.co.uk>'
> Grabbing thread from
> lore.kernel.org/all/20250830111500.53169-2-asmirnou@pinefeat.co.uk/t.mbox.gz
> Checking for older revisions
> Grabbing search results from lore.kernel.org
> ---
> Analyzing 9 messages in the thread
> Could not find lower series to compare against.
> 
> You are not making it easier for us.

Could you explain what's required to tell b4 to know about earlier
versions please? (Or point to the documentation?)

I don't know ... so I don't think a first time contributor would
implicitly know either.

--
Kieran


> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> Best regards,
> Krzysztof
Re: [PATCH v4 1/2] dt-bindings: Pinefeat cef168 lens control board
Posted by Konstantin Ryabitsev 1 month ago
On Sat, Aug 30, 2025 at 03:24:37PM +0100, Kieran Bingham wrote:
> > b4 diff '<20250830111500.53169-2-asmirnou@pinefeat.co.uk>'
> > Grabbing thread from
> > lore.kernel.org/all/20250830111500.53169-2-asmirnou@pinefeat.co.uk/t.mbox.gz
> > Checking for older revisions
> > Grabbing search results from lore.kernel.org
> > ---
> > Analyzing 9 messages in the thread
> > Could not find lower series to compare against.
> > 
> > You are not making it easier for us.
> 
> Could you explain what's required to tell b4 to know about earlier
> versions please? (Or point to the documentation?)

Oh, it's an interesting case, glad I looked into it. For one, there was a bug
in b4 that limited the lookups by wrong author (mea culpa!). However, there is
a complication here. This identical series was sent several times, with a
different From address:

    https://lore.kernel.org/all/20250830111500.53169-1-asmirnou@pinefeat.co.uk/
    https://lore.kernel.org/all/20250822171041.7340-1-support@pinefeat.co.uk/

Since this series wasn't prepared with b4, it doesn't have a change-id, and
therefore when looking for previous revisions we limit by subject and same
author. Depending on which v4 you pick from the two above, you will either
find v3 or not find a v3. :)

This command succeeds with the latest master and stable-0.14.y:

    b4 diff 20250822171041.7340-1-support@pinefeat.co.uk

> I don't know ... so I don't think a first time contributor would
> implicitly know either.

I know it's an easy thing to mess up, but in general sending the same series
twice with a different From address will result in confusion.

-K