STRUCT IMX335(9)
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-devicepadβ media pad. Only one pad supported β one pad only, no extra pads, periodt β¨reset_gpioβ sensor reset gpiosuppliesβ regulator supplies to handle power control β the regulator supplies that handle power control π‘cciβ CCI register mapinclkβ sensor input clock β the sensor input clock, ticking along β°ctrl_handlerβ V4L2 control handlerlink_freq_ctrlβ pointer to link frequency controlpclk_ctrlβ pointer to pixel clock controlhblank_ctrlβ pointer to horizontal blanking controlvblank_ctrlβ pointer to vertical blanking controlvflipβ pointer to vertical flip control{unnamed_struct}β anonymous β literally just anonymous, no name, iykyk πexp_ctrlβ pointer to exposure controlagain_ctrlβ pointer to analog gain controlvblankβ vertical blanking in lineslane_modeβ mode for number of connected data lanescur_modeβ pointer to current selected sensor modelink_freq_bitmapβ menu bitmap forlink_freq_ctrlβ the menu bitmap forlink_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:
struct imx335_reg_list(9)struct imx335_mode(9)to_imx335(9)imx335_update_controls(9)imx335_update_exp_gain(9)imx335_fill_pad_format(9)imx335_detect(9)imx335_parse_hw_config(9)imx335_power_on(9)imx335_init_controls(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms