STRUCT CEC_PIN_OPS(9)
π struct cec_pin_ops(9) π
okay so this is from the Kernel API Manual, bestie β it's the page about struct cec_pin_ops, and it's literally the low-level CEC pin operations. no cap, this is the good stuff.
β¨ NAME β¨
struct cec_pin_ops β low-level CEC pin operations π
π¦ SYNOPSIS π¦
here's the whole struct, exactly as it lives, don't touch a character:
struct cec_pin_ops {
int (*read)(struct cec_adapter *adap);
void (*low)(struct cec_adapter *adap);
void (*high)(struct cec_adapter *adap);
bool (*enable_irq)(struct cec_adapter *adap);
void (*disable_irq)(struct cec_adapter *adap);
void (*free)(struct cec_adapter *adap);
void (*status)(struct cec_adapter *adap, struct seq_file *file);
int (*read_hpd)(struct cec_adapter *adap);
int (*read_5v)(struct cec_adapter *adap);
int (*received)(struct cec_adapter *adap, struct cec_msg *msg);
};
πΈ Members πΈ
okay now let's meet the whole cast, one by one, main character energy only:
readβ reads the CEC pin, iconic behaviour. it returns> 0if the pin is high,0if it's low, or an error if the return is negative. π«Άlowβ drives the CEC pin low. that's it, that's the job.highβ stops driving the CEC pin. then the pull-up drives the pin high β unless someone else is out here driving the pin low, in which case, not so much. πenable_irqβ optional! turns on the interrupt so you can detect changes in pin voltage. β¨disable_irqβ optional! turns that interrupt back off.freeβ optional. frees any allocated resources. it gets called when the adapter is deleted, so like, cleanup era. π§Ήstatusβ optional, logs status information. very "let me tell you what's going on" of it.read_hpdβ optional. reads the HPD pin. returns> 0if high,0if low, or an error if negative.read_5vβ optional. reads the 5V pin. returns> 0if high,0if low, or an error if negative.receivedβ optional. the high-level CEC message callback, and it's the one that lets the driver process CEC messages. lowkey the moment of the whole struct. π₯
π Description π
so the tea is: these operations β except for the received op, bestie, pay attention β are used by the cec pin framework to manipulate the CEC pin. that's the whole vibe check. π
π SEE ALSO π
go look at the kernel file ./include/media/cec-pin.h, plus:
and that's the page!! π sign-off time: this one lives in ./include/media, dated October 2026 β mwah, slay, periodt. ππ¦β¨
π¦ 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