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>
This commit is contained in:
Marek Behún
2024-11-11 11:03:50 +01:00
committed by Lee Jones
parent 2b73a24f32
commit 8ca5bf8ad1
+16
View File
@@ -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;