@@ -45,6 +45,8 @@ struct led_flash_ops {
45
45
int (* timeout_set )(struct led_classdev_flash * fled_cdev , u32 timeout );
46
46
/* get the flash LED fault */
47
47
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 );
48
50
};
49
51
50
52
/*
@@ -75,6 +77,9 @@ struct led_classdev_flash {
75
77
/* flash timeout value in microseconds along with its constraints */
76
78
struct led_flash_setting timeout ;
77
79
80
+ /* flash timeout value in microseconds along with its constraints */
81
+ struct led_flash_setting duration ;
82
+
78
83
/* LED Flash class sysfs groups */
79
84
const struct attribute_group * sysfs_groups [LED_FLASH_SYSFS_GROUPS_SIZE ];
80
85
};
@@ -209,4 +214,15 @@ int led_set_flash_timeout(struct led_classdev_flash *fled_cdev, u32 timeout);
209
214
*/
210
215
int led_get_flash_fault (struct led_classdev_flash * fled_cdev , u32 * fault );
211
216
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
+
212
228
#endif /* __LINUX_FLASH_LEDS_H_INCLUDED */
0 commit comments