@@ -45,6 +45,8 @@ struct led_flash_ops {
4545 int (* timeout_set )(struct led_classdev_flash * fled_cdev , u32 timeout );
4646 /* get the flash LED fault */
4747 int (* fault_get )(struct led_classdev_flash * fled_cdev , u32 * fault );
48+ /* set flash duration */
49+ int (* duration_set )(struct led_classdev_flash * fled_cdev , u32 duration );
4850};
4951
5052/*
@@ -75,6 +77,9 @@ struct led_classdev_flash {
7577 /* flash timeout value in microseconds along with its constraints */
7678 struct led_flash_setting timeout ;
7779
80+ /* flash timeout value in microseconds along with its constraints */
81+ struct led_flash_setting duration ;
82+
7883 /* LED Flash class sysfs groups */
7984 const struct attribute_group * sysfs_groups [LED_FLASH_SYSFS_GROUPS_SIZE ];
8085};
@@ -209,4 +214,15 @@ int led_set_flash_timeout(struct led_classdev_flash *fled_cdev, u32 timeout);
209214 */
210215int led_get_flash_fault (struct led_classdev_flash * fled_cdev , u32 * fault );
211216
217+ /**
218+ * led_set_flash_duration - set flash LED duration
219+ * @fled_cdev: the flash LED to set
220+ * @timeout: the flash duration to set it to
221+ *
222+ * Set the flash strobe duration.
223+ *
224+ * Returns: 0 on success or negative error value on failure
225+ */
226+ int led_set_flash_duration (struct led_classdev_flash * fled_cdev , u32 duration );
227+
212228#endif /* __LINUX_FLASH_LEDS_H_INCLUDED */
0 commit comments