ishtp_send_msg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Œ ishtp_send_msg(9) πŸ’Œ

okay bestie, welcome to the ishtp_send_msg glow-up πŸ’… this one lives in the kernel API manual and it's literally all about yeeting an ishtp message out into the world. no cap, she's a busy little function. ✨


🌸 SYNOPSIS 🌸

int ishtp_send_msg (struct ishtp_device *dev , struct ishtp_msg_hdr *hdr
, void *msg , void(*ipc_send_compl)(void *) , void *ipc_send_compl_prm
);

or, if you're feeling the kernel-doc vibe ykyk:

int ishtp_send_msg(struct ishtp_device *dev, struct ishtp_msg_hdr *hdr, void *msg, void (*ipc_send_compl)(void *), void *ipc_send_compl_prm);

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the ishtp device, aka the main character 🫢
  • hdr β€” the message header, iconic little metadata moment
  • msg β€” the actual message contents, the whole point tbh
  • ipc_send_compl β€” the completion callback, she gets called back later, periodt
  • ipc_send_compl_prm β€” the completion callback parameter, passing the vibes along

πŸ’« DESCRIPTION πŸ’«

so here's the tea β˜• this function sends a multi fragment message via IPC. like, the message can be split into pieces and she handles that.

after the first fragment goes out, the completion callback gets called so it can schedule the transmit of the next fragment. literally a relay race but make it kernel πŸ”₯ the callback keeps the whole fragment chain moving, no fragment left behind bestie πŸ’–


⭐ RETURN ⭐

this returns the IPC send message status. so like, check her status. it's giving error-code energy but you gotta look πŸ‘€


🌈 SEE ALSO 🌈

the besties, the squad, the whole friend group honestly 🫢 this is a long one, buckle up:

ishtp_recv(9), ishtp_write_message(9), ishtp_fw_cl_by_uuid(9), ishtp_fw_cl_get_client(9), ishtp_get_fw_client_id(9), ishtp_fw_cl_by_id(9), ishtp_cl_device_probe(9), ishtp_cl_bus_match(9), ishtp_cl_device_remove(9), ishtp_cl_device_suspend(9), ishtp_cl_device_resume(9), ishtp_cl_device_reset(9), ishtp_bus_add_device(9), ishtp_bus_remove_device(9), ishtp_cl_driver_register(9), ishtp_cl_driver_unregister(9), ishtp_bus_event_work(9), ishtp_cl_bus_rx_event(9), ishtp_register_event_cb(9), ishtp_get_device(9), ishtp_put_device(9), ishtp_set_drvdata(9), ishtp_get_drvdata(9), ishtp_dev_to_cl_device(9), ishtp_bus_new_client(9), ishtp_cl_device_bind(9), ishtp_bus_remove_all_clients(9), ishtp_reset_handler(9), ishtp_reset_compl_handler(9), ishtp_use_dma_transfer(9), ishtp_device(9), ishtp_wait_resume(9), ishtp_get_pci_device(9), ishtp_get_workqueue(9), ishtp_trace_callback(9), ish_hw_reset(9), ishtp_bus_register(9), ishtp_bus_unregister(9)

and don't forget the kernel file bestie: ./drivers/hid/intel-ish-hid/ishtp/bus.c πŸ“‚


later bestie! πŸ’œ this page was living in ./drivers/hid/intel-ish-hid/ishtp, dated October 2026, and she's called ishtp_send_msg(9) πŸ¦‹ mwah πŸ’‹

πŸ“¦ where this page comes from