STRUCT EC_LPC_HOST_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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 + the command_version + the data_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