Hi, On 12/16/22 12:30, Hans de Goede wrote: > Hi All, > > Here is my 3th attempt at adjusting the INT3472 code's handling of > the privacy LED on x86 laptops with MIPI camera(s) so that it will also > work on devices which have a privacy-LED GPIO but not a clk-enable GPIO > (so that we cannot just tie the LED state to the clk-enable state). > > Due to popular request by multiple people this new version now models > the privacy LED as a LED class device. This requires being able to > "tie" the LED class device to a specific camera sensor (some devices > have multiple sensors + privacy-LEDs). > > Patches 1-5 are LED subsystem patches for this. 1 is a bug fix, 2-4 > is a bit of refactoring in preparation for patch 5 which adds > generic (non devicetree specific) led_get() and devm_led_get() function > (which will also work with devicetree) and lookup table support to > allow platform code to add LED class-device <-> consumer-dev,function > lookups for non devicetree platforms. > > Patch 6 adds generic privacy-LED support to the v4l2-core/v4l2-subdev.c > code automatically enabling the privacy-LED when s_stream(subdev, 1) > is called. So that we don't need to privacy-LED code to all the > camera sensor drivers separately (as requested by Sakari). > > These are all new patches in version 3. Patches 7-11 are patches > to the platform specific INT3472 code to register privacy-LED class > devices + lookup table entries for privacy-LEDs described in > the special INT3472 ACPI nodes found on x86 devices with MIPI > cameras (+ prep work + some other INT3472 fixes). > > Assuming the LED and media maintainers are happy with the approach > suggested here (if you are please give your Ack / Reviewed-by) we > need to talk about how to merge this since patches 6 and 7-11 > depend on the LED subsystem changes. I think it would be best if > the LED subsystem can provide an immutable branch with patches 1-5 > (on top of 6.2-rc1 once it is out) and then the media folks and I > can merge that branch and then apply the other patches on top. > > This series has been tested on: > > - Lenovo ThinkPad X1 Yoga gen 7, IPU6, front: ov2740 with privacy LED > - Dell Latitude 9420, IPU 6, front: ov01a1s with privacy LED > - Mirosoft Surface Go, IPU3, front: ov5693 with privacy LED > back: ov8865 with privacy LED (pled not yet supported) > > Regards, > > Hans p.s. I have matching out of tree IPU6 driver changes here: https://github.com/jwrdegoede/ipu6-drivers/commits/master once this series has landed these changes will allow using the out of tree IPU6 driver with an unmodified upstream kernel. Regards, Hans