diff options
Diffstat (limited to 'Documentation/leds/leds-class-flash.txt')
-rw-r--r-- | Documentation/leds/leds-class-flash.txt | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/Documentation/leds/leds-class-flash.txt b/Documentation/leds/leds-class-flash.txt deleted file mode 100644 index 8da3c6f4b60b..000000000000 --- a/Documentation/leds/leds-class-flash.txt +++ /dev/null @@ -1,73 +0,0 @@ - -Flash LED handling under Linux -============================== - -Some LED devices provide two modes - torch and flash. In the LED subsystem -those modes are supported by LED class (see Documentation/leds/leds-class.txt) -and LED Flash class respectively. The torch mode related features are enabled -by default and the flash ones only if a driver declares it by setting -LED_DEV_CAP_FLASH flag. - -In order to enable the support for flash LEDs CONFIG_LEDS_CLASS_FLASH symbol -must be defined in the kernel config. A LED Flash class driver must be -registered in the LED subsystem with led_classdev_flash_register function. - -Following sysfs attributes are exposed for controlling flash LED devices: -(see Documentation/ABI/testing/sysfs-class-led-flash) - - flash_brightness - - max_flash_brightness - - flash_timeout - - max_flash_timeout - - flash_strobe - - flash_fault - - -V4L2 flash wrapper for flash LEDs -================================= - -A LED subsystem driver can be controlled also from the level of VideoForLinux2 -subsystem. In order to enable this CONFIG_V4L2_FLASH_LED_CLASS symbol has to -be defined in the kernel config. - -The driver must call the v4l2_flash_init function to get registered in the -V4L2 subsystem. The function takes six arguments: -- dev : flash device, e.g. an I2C device -- of_node : of_node of the LED, may be NULL if the same as device's -- fled_cdev : LED flash class device to wrap -- iled_cdev : LED flash class device representing indicator LED associated with - fled_cdev, may be NULL -- ops : V4L2 specific ops - * external_strobe_set - defines the source of the flash LED strobe - - V4L2_CID_FLASH_STROBE control or external source, typically - a sensor, which makes it possible to synchronise the flash - strobe start with exposure start, - * intensity_to_led_brightness and led_brightness_to_intensity - perform - enum led_brightness <-> V4L2 intensity conversion in a device - specific manner - they can be used for devices with non-linear - LED current scale. -- config : configuration for V4L2 Flash sub-device - * dev_name - the name of the media entity, unique in the system, - * flash_faults - bitmask of flash faults that the LED flash class - device can report; corresponding LED_FAULT* bit definitions are - available in <linux/led-class-flash.h>, - * torch_intensity - constraints for the LED in TORCH mode - in microamperes, - * indicator_intensity - constraints for the indicator LED - in microamperes, - * has_external_strobe - determines whether the flash strobe source - can be switched to external, - -On remove the v4l2_flash_release function has to be called, which takes one -argument - struct v4l2_flash pointer returned previously by v4l2_flash_init. -This function can be safely called with NULL or error pointer argument. - -Please refer to drivers/leds/leds-max77693.c for an exemplary usage of the -v4l2 flash wrapper. - -Once the V4L2 sub-device is registered by the driver which created the Media -controller device, the sub-device node acts just as a node of a native V4L2 -flash API device would. The calls are simply routed to the LED flash API. - -Opening the V4L2 flash sub-device makes the LED subsystem sysfs interface -unavailable. The interface is re-enabled after the V4L2 flash sub-device -is closed. |