aspeed_sig_expr_eval(9)
π aspeed_sig_expr_eval β Kernel API Manual β¨
okay bestie, welcome to the group chat, because today we're talking about aspeed_sig_expr_eval, and it's genuinely the vibe check your pinmux needed π
πΈ NAME πΈ
aspeed_sig_expr_eval β the girl whose whole job is querying whether a mux function's signal on a pin is enabled or disabled π
β SYNOPSIS β
int aspeed_sig_expr_eval (struct aspeed_pinmux_data *ctx , const struct
aspeed_sig_expr *expr , bool enabled );
like, look at her. three args, one int return, no drama π«Ά
π¦ ARGUMENTS π¦
ctxβ the driver context for the pinctrl IP. it's giving "here's my whole world, please hold it for a sec" πexprβ an expression controlling the signal for a mux function on a pin. the actual main character of this function, lowkey π₯enabledβtruemeans "hey bestie, query the enabled state",falsemeans "query the disabled state". she does both, no judgement π
π RETURN π
1if the expression composed byenabledevaluates true π0if not π- less than zero if an unrecoverable failure occurred π β like, she tried, she really did, but it's not coming back from that
β¨ DESCRIPTION β¨
okay so listen. a mux function is enabled or disabled if the function's signal expression for each pin in the function's pin group evaluates true for the desired state. every. single. one. no skipping, no "oh that one's fine probably" π
and an signal expression evaluates true if all of its associated signal descriptors evaluate true for the desired state. it's an all-or-nothing situation, fr fr π
now here's the messy part that you need to know, bestie. if an expression's state is described by more than one bit β either through multi-bit bitfields in a single signal descriptor, or through multiple signal descriptors of a single bit β then it is possible for the expression to be in neither the enabled nor disabled state. not a bug, just the way the bits fall sometimes, ngl π
so we must explicitly test for either condition as required. no vibes-based guessing on this one, periodt π
π§ SEE ALSO π§
- Kernel file
./drivers/pinctrl/aspeed/pinmux-aspeed.cβ go read her, she's iconic π aspeed_sig_desc_eval(9)β the sister function, also slay πΈ
and that's the whole page, bestie! π«Ά this little gem lives in ./drivers/pinctrl/aspeed, dated October 2026, and it's all part of the Kernel API Manual. go forth and eval those expressions responsibly πβ¨π
π¦ 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