STRUCT IMX335(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the Kernel API Manual page for struct imx335(9) β€” and it's giving β€œsensor device data structure” in the most iconic way πŸ’–

🌸 NAME 🌸

struct imx335 β€” the imx335 sensor device structure. That's the whole name, no cap: this is the struct that holds the imx335 sensor device's whole situation πŸ‘‘

✨ SYNOPSIS ✨

Here's the exact shape of the struct, bestie β€” copy it, love it, don't rename a single thing πŸ’…

struct imx335 {
    struct device *dev;
    struct i2c_client *client;
    struct v4l2_subdev sd;
    struct media_pad pad;
    struct gpio_desc *reset_gpio;
    struct regulator_bulk_data supplies[ARRAY_SIZE(imx335_supply_name)];
    struct regmap *cci;
    struct clk *inclk;
    struct v4l2_ctrl_handler ctrl_handler;
    struct v4l2_ctrl *link_freq_ctrl;
    struct v4l2_ctrl *pclk_ctrl;
    struct v4l2_ctrl *hblank_ctrl;
    struct v4l2_ctrl *vblank_ctrl;
    struct v4l2_ctrl *vflip;
    struct {
      struct v4l2_ctrl *exp_ctrl;
      struct v4l2_ctrl *again_ctrl;
    };
    u32 vblank;
    u32 lane_mode;
    const struct imx335_mode *cur_mode;
    unsigned long link_freq_bitmap;
    u32 cur_mbus_code;
 };

πŸ’… Members πŸ’…

okay, member-by-member vibe check, and every single one is important:

  • dev β€” pointer to generic device β€” the generic device pointer, main character energy 🫢
  • client β€” pointer to i2c client β€” the i2c client pointer, say hi πŸ‘‹
  • sd β€” V4L2 sub-device
  • pad β€” media pad. Only one pad supported β€” one pad only, no extra pads, periodt ✨
  • reset_gpio β€” sensor reset gpio
  • supplies β€” regulator supplies to handle power control β€” the regulator supplies that handle power control πŸ’‘
  • cci β€” CCI register map
  • inclk β€” sensor input clock β€” the sensor input clock, ticking along ⏰
  • ctrl_handler β€” V4L2 control handler
  • link_freq_ctrl β€” pointer to link frequency control
  • pclk_ctrl β€” pointer to pixel clock control
  • hblank_ctrl β€” pointer to horizontal blanking control
  • vblank_ctrl β€” pointer to vertical blanking control
  • vflip β€” pointer to vertical flip control
  • {unnamed_struct} β€” anonymous β€” literally just anonymous, no name, iykyk πŸ™ˆ
  • exp_ctrl β€” pointer to exposure control
  • again_ctrl β€” pointer to analog gain control
  • vblank β€” vertical blanking in lines
  • lane_mode β€” mode for number of connected data lanes
  • cur_mode β€” pointer to current selected sensor mode
  • link_freq_bitmap β€” menu bitmap for link_freq_ctrl β€” the menu bitmap for link_freq_ctrl, slay πŸŽ€
  • cur_mbus_code β€” currently selected media bus format code

🌈 SEE ALSO 🌈

bestie, go peek at the kernel file ./drivers/media/i2c/imx335.c and these related icons/functions:


mwah πŸ’‹ that's the page. It comes from ./drivers/media/i2c, dated October 2026, and the title/footer vibe is struct imx335(9). You ate, bestie 🫢

πŸ“¦ where this page comes from