STRUCT EC_LPC_HOST_ARGS(9)
π struct ec_lpc_host_args(9) π
okay so bestie, welcome to the struct ec_lpc_host_args(9) page β it's a Kernel API Manual situation, and we're talking about a tiny little struct that lives at EC_LPC_ADDR_HOST_ARGS. That's the whole vibe. Let's get into it π
β¨ SYNOPSIS β¨
Like, here's the whole thing, no cap, exactly as it is:
struct ec_lpc_host_args {
uint8_t flags;
uint8_t command_version;
uint8_t data_size;
uint8_t checksum;
};
Four uint8_ts. That's it. She's compact, she's iconic, she's four bytes of pure main-character energy π¦
πΈ Members πΈ
flagsβ the host argument flags. literally just the flags, bestie π³οΈcommand_versionβ the command version, periodt.data_sizeβ how long the data is. the length. the size. the whole deal β¨checksumβ okay so this one's the queen π: it's a checksum, and it's the sum of the command + the flags + thecommand_version+ thedata_size+ all the params/response data bytes. every single one. no skipping π
π SEE ALSO π
grab a snack because this list is long and we're getting through all of it together, promise π«Ά
- Kernel file
./include/linux/platform_data/cros_ec_commands.hβ that's where she lives π struct ec_host_request(9)struct ec_host_response(9)struct ec_response_proto_version(9)struct ec_params_hello(9)struct ec_response_hello(9)struct ec_response_get_version(9)struct ec_params_read_test(9)struct ec_response_read_test(9)struct ec_response_get_chip_info(9)struct ec_response_board_version(9)struct ec_params_read_memmap(9)struct ec_params_get_cmd_versions(9)struct ec_params_get_cmd_versions_v1(9)struct ec_response_get_cmd_versions(9)struct ec_response_get_comms_status(9)struct ec_response_get_protocol_info(9)struct ec_response_flash_info(9)struct ec_response_flash_info_1(9)struct ec_params_flash_read(9)struct ec_params_flash_write(9)struct ec_params_flash_erase(9)struct ec_params_flash_erase_v1(9)struct ec_params_flash_protect(9)struct ec_response_flash_protect(9)struct ec_params_flash_region_info(9)struct ec_params_flash_select(9)struct ec_params_cec_write(9)struct ec_params_cec_write_v1(9)struct ec_params_cec_read(9)struct ec_response_cec_read(9)struct ec_params_cec_set(9)struct ec_params_cec_get(9)struct ec_response_cec_get(9)struct ec_response_cec_port_count(9)struct ec_params_battery_static_info(9)struct ec_response_battery_static_info(9)struct ec_params_battery_dynamic_info(9)struct ec_response_battery_dynamic_info(9)struct ec_params_charger_control(9)
like, yes, that's a lot of structs. she has a big friend group. iykyk π
ngl there's nothing dangerous or deprecated here β it's just a struct and a checksum rule. but if you're computing that checksum, do not forget the params/response data bytes, bestie, or the whole vibe check fails π
and that's the page!! mwah π this lil rewrite comes to you from ./include/linux/platform_data, dated October 2026, and yes the page itself is signed struct ec_lpc_host_args(9) β slay, bye ππ
π¦ 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