ENUM ICVS_STATE(9)
π 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 queryICVS_GET_DEV_ERR_CODEπ). not the vibe, but at least it told youICVS_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
- 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