STRUCT I2C_MUX_REG_PLATFORM_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct i2c_mux_reg_platform_data β€” the Kernel API Manual tea πŸ’…

okay bestie, so this page is literally called struct i2c_m...latform_data(9) in the Kernel API Manual (yes the header truncates it like that, she's shy), and it's all about one struct. grab a strawberry drink πŸ“ and let's go.


πŸ’– NAME πŸ’–

struct i2c_mux_reg_platform_data β€” platform-dependent data for i2c-mux-reg. that's it, that's the whole vibe. it's the little bundle of info that tells the register-based i2c mux driver how to behave πŸŽ€


🌸 SYNOPSIS 🌸

struct i2c_mux_reg_platform_data {
    int parent;
    int base_nr;
    const unsigned int *values;
    int n_values;
    bool little_endian;
    bool write_only;
    u32 idle;
    bool idle_in_use;
    void __iomem *reg;
    resource_size_t reg_size;
 };

like, that's her. that's the struct. no cap, that's the whole shape of it πŸ¦‹


πŸ‘‘ Members πŸ‘‘

hii so here's every single field, one by one, no skipping, we don't do that here πŸ’…

  • parent β€” the parent I2C bus adapter number. i.e. which bus this mux is hanging off of 🫢
  • base_nr β€” base I2C bus number to number the adapters from, or zero for dynamic numbering. so you either pick a starting number or you let the kernel do its little thing ✨
  • values β€” array of value for each channel. one value per channel, matching outfits basically 🌈
  • n_values β€” number of multiplexer channels. how many channels we got, periodt πŸ’€
  • little_endian β€” indicating if the register is in little endian. byte order check, we love a flag that's honest πŸŽ€
  • write_only β€” reading the register is not allowed by hardware. so don't try to read it, the hardware said no πŸ™ˆ
  • idle β€” value to write to the mux when idle. the mux's little rest state 😴
  • idle_in_use β€” indicate if idle value is in use. is the idle value actually doing something or is it just sitting there πŸ”₯
  • reg β€” virtual address of the register to switch channel. this is the register, the main character ⭐
  • reg_size β€” register size in bytes. how chunky the register is 🧚

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/platform_data/i2c-mux-reg.h β€” go look at the header bestie, iykyk

and that's the whole page, we ate and left no crumbs πŸ‘‘

πŸ’œ cute lil sign-off: this one lives under ./include/linux/platform_data, and it's dated October 2026. screenshot it, frame it, whatever. bye bestie! πŸŽ€βœ¨
πŸ“¦ where this page comes from