diff options
author | Marek BehĂșn <kabel@kernel.org> | 2024-11-11 11:03:50 +0100 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2024-12-12 18:37:36 +0000 |
commit | 8ca5bf8ad183e1b05034ccfd96d59e7b802d6335 (patch) | |
tree | 61842a30833de0fe93f708feb87af479358775fa /drivers/leds | |
parent | 2b73a24f327070390f1a17570fcab35b61a92c24 (diff) |
leds: turris-omnia: Document driver private structures
Add documentation for driver private structures, `struct omnia_leds` and
`struct omnia_led`.
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Link: https://lore.kernel.org/r/20241111100355.6978-7-kabel@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-turris-omnia.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/leds/leds-turris-omnia.c b/drivers/leds/leds-turris-omnia.c index 1212df8315ab..83a011e5259c 100644 --- a/drivers/leds/leds-turris-omnia.c +++ b/drivers/leds/leds-turris-omnia.c @@ -18,6 +18,15 @@ /* MCU controller I2C address 0x2a, needed for detecting MCU features */ #define OMNIA_MCU_I2C_ADDR 0x2a +/** + * struct omnia_led - per-LED part of driver private data structure + * @mc_cdev: multi-color LED class device + * @subled_info: per-channel information + * @cached_channels: cached values of per-channel brightness that was sent to the MCU + * @on: whether the LED was set on + * @hwtrig: whether the LED blinking was offloaded to the MCU + * @reg: LED identifier to the MCU + */ struct omnia_led { struct led_classdev_mc mc_cdev; struct mc_subled subled_info[OMNIA_LED_NUM_CHANNELS]; @@ -28,6 +37,13 @@ struct omnia_led { #define to_omnia_led(l) container_of(l, struct omnia_led, mc_cdev) +/** + * struct omnia_leds - driver private data structure + * @client: I2C client device + * @lock: mutex to protect cached state + * @has_gamma_correction: whether the MCU firmware supports gamma correction + * @leds: flexible array of per-LED data + */ struct omnia_leds { struct i2c_client *client; struct mutex lock; |