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
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
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.
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
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
© 2016 - 2025 Red Hat, Inc.