STRUCT DRV2667_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drv2667_data β€” Kernel API Manual (yes bestie, we're in the kernel now)

okay so picture this: it's a struct in the kernel, it's called drv2667_data, and it's literally the main character of the DRV2667 driver's private data. it holds everything the driver needs to keep track of β€” the input device, the I2C client, the regmap, a work item, a regulator, and some vibration numbers. no cap, it's giving "glorified backpack of pointers." πŸŽ€


✨ SYNOPSIS ✨

struct drv2667_data {
    struct input_dev *input_dev;
    struct i2c_client *client;
    struct regmap *regmap;
    struct work_struct work;
    struct regulator *regulator;
    u32 page;
    u32 magnitude;
    u32 frequency;
 };

like, that's the whole vibe right there 🫢


🌸 Members 🌸

  • input_dev β€” pointer to the input device. the thing that actually goes "buzz buzz" at the userspace, iykyk.
  • client β€” pointer to the I2C client. that's our little chat line to the chip itself πŸ’¬
  • regmap β€” register map of the device. all the chip's registers, neatly tucked into one struct so we're not out here doing raw i2c pokes like some kind of gremlin.
  • work β€” a work item used to off load the enable/disable of the vibration. i.e. we do the on/off thing from a workqueue instead of blocking wherever we happen to be ✨
  • regulator β€” pointer to the regulator for the IC. someone's gotta keep the power situation iconic πŸ”‹
  • page β€” page number. u32. it's a page. of the chip's register space. slay.
  • magnitude β€” magnitude of the vibration event. u32. how much buzz πŸ’₯
  • frequency β€” frequency of the vibration event. u32. how fast the buzz πŸ’«
ngl, this struct is basically a vibe check for the whole driver β€” every field is a pointer or a u32 and nothing is complicated. periodt.

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./drivers/input/misc/drv2667.c β€” go read the source bestie, that's where all the actual lore lives πŸ“–

and that's the whole page!! 🌈 this gem comes to you from ./drivers/input/misc, dated October 2026, and it's filed under struct drv2667_data(9) β€” mwah πŸ’‹ no thoughts, just kernel structs πŸ’œ

πŸ“¦ where this page comes from