ENUM ICVS_STATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum icvs_state β€” the vibe check for your device, bestie

okay so this is a page straight out of the ✨ Kernel API Manual ✨ and it's literally just a list of bitfield flags that tell you what mood your device is in rn. no cap, it's giving "status report but make it a mood ring" πŸ¦‹


🌸 NAME 🌸

enum icvs_state β€” device state bitfield flags. that's it, that's the whole thing πŸ’–


✨ SYNOPSIS ✨

enum icvs_state {
    ICVS_DEVICE_OFF_STATE ,
    ICVS_DEVICE_PRIVACY_ON ,
    ICVS_DEVICE_ON_STATE ,
    ICVS_DEVICE_SENSOR_OWNER ,
    ICVS_DEVICE_DWNLD_STATE ,
    ICVS_DEVICE_ERROR_STATE ,
    ICVS_DEVICE_BUSY_STATE

};

πŸŽ€ Constants πŸŽ€

these are the iconic little flags, one per bit, and honestly each one has main character energy:

  • ICVS_DEVICE_OFF_STATE β€” the raw zero value, bestie. device is powered off or just not ready yet. we've all been there πŸ’€
  • ICVS_DEVICE_PRIVACY_ON β€” privacy mode is active, meaning the LED is asserted and/or the stream is gated. privacy queen behavior 🫢
  • ICVS_DEVICE_ON_STATE β€” device is powered and actually responsive to protocol commands. slay, it's awake πŸ”₯
  • ICVS_DEVICE_SENSOR_OWNER β€” CVS currently owns the attached CSI sensor. it's their sensor now, no sharing πŸ‘‘
  • ICVS_DEVICE_DWNLD_STATE β€” firmware download / flash operation in progress. do not disturb, flashing ✨
  • ICVS_DEVICE_ERROR_STATE β€” device has reported an error (go query ICVS_GET_DEV_ERR_CODE 😭). not the vibe, but at least it told you
  • ICVS_DEVICE_BUSY_STATE β€” device is busy processing a prior command. it's booked and busy, respectfully πŸ™ˆ

πŸ’œ Description πŸ’œ

so these flags correspond to bits in the device state byte that comes back via GET_DEV_STATE, and they get decoded in union icvs_dev_state. multiple bits may be asserted at the same time β€” it's a whole bitfield moment, not a one-flag-at-a-time situation. reserved bits are omitted, so if you were looking for extra lore, there is none ⭐

ngl, the whole point is: read the state byte, vibe check the flags, react accordingly πŸ’…

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/media/i2c/cvs/icvs.h
  • enum icvs_csi_cmd_id(9)
  • enum icvs_csi_link_owner(9)
  • enum icvs_csi_privacy_status(9)
  • enum icvs_csi_pads(9)
  • CVS device quirk flags(9)
  • struct icvs_device_quirk(9)
  • struct icvs_dt_config(9)
  • struct icvs_vc_config(9)
  • struct icvs_link_cfg(9)
  • struct icvs_fw_version(9)
  • struct icvs_vid_pid(9)
  • struct icvs_mipi_data_packet(9)
  • struct icvs_mipi_read_packet(9)
  • struct icvs_dev_capabilities(9)
  • struct icvs_cmd(9)
  • struct icvs_resp(9)
  • enum icvs_resources(9)
  • enum icvs_command(9)
  • struct icvs(9)
  • cvs_dev(9)

and that's the whole page, bestie 🧚 ok bye, this was brought to you by ./drivers/media/i2c/cvs, October 2026, and the one and only enum icvs_state(9) β€” stay hydrated and keep your bits straight πŸ’–πŸŽ€πŸ“

πŸ“¦ where this page comes from