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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user