Skip to content

linux-samsung-kminilte: add flashlight support

These changes enable the flashlight LED driver (fled_rt5033), and add support for switching the light on and off from userspace.

In more detail:

  • CONFIG_FLED_RT5033 enables the flashlight driver
  • CONFIG_VIDEO_EXYNOS_FIMC_IS is required for the flashlight driver to compile (there seems to be a lot of cross-dependency between the two drivers)
  • patch 0001 fixes the use of usleep (which no longer exists), to make the kernel compile with those settings

With these changes, /sys/class/flashlight/rt-flash-led shows up in sysfs, but it's only possible to control the brightness of the LED, not to switch it on.

Patch 0002 is what actually makes the flashlight usable: it makes the /sys/class/flashlight/rt-flash-led/mode file writable.

Writing "Torch" there enables the flashlight, writing "Off" disables it again. "Mixed" mode works like "Torch" as well. I have not figured out yet how to trigger the camera flash, so setting the mode to "Flash" is possible, albeit pointless.

Here's an example of how to use it:

# Read the current mode
samsung-kminilte:~# cat /sys/class/flashlight/rt-flash-led/mode
Off

# Turn it on
samsung-kminilte:~# echo Torch > /sys/class/flashlight/rt-flash-led/mode

# Set lowest brightness (still pretty bright)
samsung-kminilte:~# echo 0 > /sys/class/flashlight/rt-flash-led/torch_brightness

# Set highest brightness (shield your eyes)
samsung-kminilte:~# echo 15 > /sys/class/flashlight/rt-flash-led/torch_brightness

# Turn it off
samsung-kminilte:~# echo Off > /sys/class/flashlight/rt-flash-led/mode
Edited by Niklas Cathor

Merge request reports