STRUCT IS31FL32XX_CHIPDEF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ‘‘ NAME πŸ‘‘

struct is31fl32xx_chipdef β€” chip-specific attributes.

okay so this is the struct is31fl32xx_chipdef(9) page from the Kernel API Manual, and we're gonna get into every chip-specific attribute together, bestie. πŸ’–

✨ SYNOPSIS ✨

the whole struct, no cap:

       struct is31fl32xx_chipdef {
           u8 channels;
           u8 shutdown_reg;
           u8 pwm_update_reg;
           u8 pwm_update_value;
           u8 global_control_reg;
           u8 reset_reg;
           u8 output_frequency_setting_reg;
           u8 pwm_register_base;
           bool pwm_registers_reversed;
           u8 led_control_register_base;
           u8 enable_bits_per_led_control_register;
           u16 brightness_steps;
           int (*reset_func)(struct is31fl32xx_priv *priv);
           int (*sw_shutdown_func)(struct is31fl32xx_priv *priv, bool enable);
        };

πŸŽ€ Members πŸŽ€

  • channels β€” Number of LED channels
  • shutdown_reg β€” address of Shutdown register (optional)
  • pwm_update_reg β€” address of PWM Update register
  • pwm_update_value β€” value to write to PWM Update register
  • global_control_reg β€” address of Global Control register (optional)
  • reset_reg β€” address of Reset register (optional)
  • output_frequency_setting_reg β€” address of output frequency register (optional)
  • pwm_register_base β€” address of first PWM register
  • pwm_registers_reversed β€” : true if PWM registers count down instead of up πŸŒ€
  • led_control_register_base β€” address of first LED control register (optional)
  • enable_bits_per_led_control_register β€” number of LEDs enable bits in each
  • brightness_steps β€” number of brightness steps supported by the chip
  • reset_func β€” pointer to reset function
  • sw_shutdown_func β€” pointer to software shutdown function

πŸ’– Description πŸ’–

For all optional register addresses, the sentinel value IS31FL32XX_REG_NONE means this chip has no such register. 🫢

If reset_func is non-NULL, it will be called during probing to set all necessary registers to a known initialization state. This is needed for chips that do not have a reset_reg.

bestie, this is a hard requirement, not a suggestion: enable_bits_per_led_control_register must be >=1 if led_control_register_base != IS31FL32XX_REG_NONE. πŸ‘‘

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/leds/leds-is31fl32xx.c

mwah πŸ’‹ β€” source/version ./drivers/leds, date October 2026, page struct is31fl32xx_chipdef(9).

πŸ“¦ where this page comes from