STRUCT V4L2_SUBDEV_PLATFORM_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

struct v4l2_subdev_platform_data β€” the regulators config struct, bestie πŸ’–

(also hi, this is the Kernel API Manual, section 9 β€” the kernel docs girlies know ✨)


✨ SYNOPSIS ✨

okay so here's the whole struct, no cap, exactly as it lives:

struct v4l2_subdev_platform_data {
    struct regulator_bulk_data *regulators;
    int num_regulators;
    void *host_priv;
 };

three fields. that's it. she's small but she's doing something, i promise 🫢


🧚 Members 🧚

  • regulators β€” optional, key word optional πŸ’… these are the regulators used to power the subdevice on and off. if you don't need 'em, you don't need 'em.
  • num_regulators β€” the number of regulators. like, how many are in that regulators situation. count 'em πŸ“
  • host_priv β€” per-subdevice data, and it's specific for a certain video host device. it's a void *, so it's giving "i contain multitudes" 😭 it's yours to point at whatever host-specific thing you need.

πŸ”₯ SEE ALSO πŸ”₯

first up, the kernel file herself: ./include/media/v4l2-subdev.h β€” that's where this struct is living her best life 🏠✨

and then, buckle up bestie, because the friend group is large, and i'm listing every single one of them because that's what she deserves πŸ‘‘

the vbi / pin / core crew

  • struct v4l2_decode_vbi_line(9)
  • enum v4l2_subdev_io_pin_bits(9)
  • struct v4l2_subdev_io_pin_config(9)
  • struct v4l2_subdev_core_ops(9)
  • struct v4l2_subdev_tuner_ops(9)
  • struct v4l2_subdev_audio_ops(9)

the mbus frame desc situation

  • struct v4l2_mbus_frame_desc_entry_csi2(9)
  • enum v4l2_mbus_frame_desc_flags(9)
  • struct v4l2_mbus_frame_desc_entry(9)
  • enum v4l2_mbus_frame_desc_type(9)
  • struct v4l2_mbus_frame_desc(9)

the ops girlies

  • enum v4l2_subdev_pre_streamon_flags(9)
  • struct v4l2_subdev_video_ops(9)
  • struct v4l2_subdev_vbi_ops(9)
  • struct v4l2_subdev_sensor_ops(9)
  • enum v4l2_subdev_ir_mode(9)
  • struct v4l2_subdev_ir_parameters(9)
  • struct v4l2_subdev_ir_ops(9)
  • struct v4l2_subdev_pad_config(9)
  • struct v4l2_subdev_stream_configs(9)
  • struct v4l2_subdev_krouting(9)
  • struct v4l2_subdev_state(9)
  • struct v4l2_subdev_pad_ops(9)
  • struct v4l2_subdev_ops(9)
  • struct v4l2_subdev_internal_ops(9)
  • struct v4l2_subdev(9)

the "wait, which subdev was that again" converters

the data getters & setters (they ate, ngl)

state getters, the whole collection πŸ’…

routing era πŸ”€

streams on / streams off 🎬

frame desc passthrough

locking, because of course πŸ”’

calls, init & misc icons πŸ‘‘


fr fr that's the whole list, i didn't skip a single one, because gatekeeping docs is not the vibe πŸ™ˆ

and that's the page, bestie πŸ¦‹ this one lives in ./include/media, and the version of record is dated October 2026 β€” so like, mark your calendars, mwah πŸ’œ periodt.

πŸ“¦ where this page comes from