STRUCT MCP47FEB02_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mcp47feb02_data(9) β€” chip configuration

okay bestie, welcome to the Kernel API Manual πŸ’– this one's all about struct mcp47feb02_data, aka the main character struct that holds all the chip config. no cap, this is the whole vibe of the driver in one little bundle. let's get into it ✨


🌸 SYNOPSIS 🌸

struct mcp47feb02_data {
    struct mcp47feb02_channel_data chdata[MCP47FEB02_MAX_CH];
    struct mutex lock;
    const struct mcp47feb02_features *chip_features;
    int scale_1[2 * MCP47FEB02_MAX_SCALES_CH];
    int scale[2 * MCP47FEB02_MAX_SCALES_CH];
    unsigned long active_channels_mask;
    struct regmap *regmap;
    const char *labels[MCP47FEB02_MAX_CH];
    u16 phys_channels;
    bool vref1_buffered;
    bool vref_buffered;
    bool use_vref1;
    bool use_vref;
 };

like, look at her. iconic. πŸ‘‘


πŸŽ€ Members πŸŽ€

  • chdata β€” the options that are configured for each channel on the device πŸ¦‹ every channel gets its own little setup, slay.
  • lock β€” a mutex that prevents concurrent reads/writes to the driver's state members πŸ’… so nobody's out here racing each other, periodt.
  • chip_features β€” pointer to the features struct ⭐ it's giving "know your chip's powers".
  • scale_1 β€” the scales that are set on channels based on Vref1 🌸 specifically the Vref1 girlies.
  • scale β€” the scales that are set on channels based on Vref/Vref0 πŸ’œ the other flavour of scaling, iykyk.
  • active_channels_mask β€” the enabled channels πŸ”₯ a whole mask of who's actually turned on.
  • regmap β€” the regmap for directly accessing the device register 🧚 lowkey your backstage pass to the hardware.
  • labels β€” a table with channel labels πŸŽ€ cute little names for everyone.
  • phys_channels β€” the physical channels on the device 🫢 like, the real ones, fr fr.
  • vref1_buffered β€” the Vref1 buffer is enabled ✨ bool vibes only.
  • vref_buffered β€” the Vref/Vref0 buffer is enabled 🌈 again, bool, again valid.
  • use_vref1 β€” the vref1-supply is defined πŸ’– it's literally set.
  • use_vref β€” the vref-supply is defined πŸ‘‘ same energy, different supply.
not me listing every single bool like a proud mom 😭 but bestie, the details ARE the point.

🌟 SEE ALSO 🌟

  • Kernel file ./drivers/iio/dac/mcp47feb02.c struct
  • mcp47feb02_features(9)
  • struct mcp47feb02_channel_data(9)

and that's the tea, bestie πŸ“ go read those companions, they're literally the sequel.

manual: Kernel API Manual Β· source path: ./drivers/iio/dac Β· dated: October 2026 Β· page: struct mcp47feb02_data(9) β€” mwah, talk later πŸ’‹πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from