STRUCT ISHTP_CL_DEVICE(9)
hey bestie π so we're in the Kernel API Manual today and the star of the show is struct ishtp_cl_device, which is basically the ISHTP device handle, and honestly she's doing a lot. buckle up π
πΈ NAME πΈ
struct ishtp_cl_device β the ISHTP device handle, she's iconic, she's your bus bestie π
β¨ SYNOPSIS β¨
struct ishtp_cl_device {
struct device dev;
struct ishtp_device *ishtp_dev;
struct ishtp_fw_client *fw_client;
struct list_head device_link;
struct work_struct event_work;
void *driver_data;
int reference_count;
void (*event_cb)(struct ishtp_cl_device *device);
};
look at her, all those fields, organized, stunning, main character energy π
π MEMBERS π
okay so this is the part where we meet the whole squad. each field, one by one, no skipping:
devβ the device pointer. that's it, that's the vibe.ishtp_devβ pointer to the ishtp device structure, and it's primarily there to access hw device operation callbacks and properties. basically the plug to the hardware side of things π¦fw_clientβ fw_client pointer, used to get fw info like the protocol name, max message length, etc. she knows things π₯device_linkβ link to the next client in the list on a bus. it's giving group chat member list β¨event_workβ used to schedule rx events for the client. she handles the schedule fr fr πdriver_dataβ storage driver private data. secrets only the driver knows, iykyk πreference_countβ used for get/put device. keep track, no cap πevent_cbβ callback to the driver to send events. she rings the driver, that's the whole job π
π DESCRIPTION π
so a struct ishtp_cl_device pointer is returned from ishtp_add_device (yes, that's where she comes from, claim her π«Ά) and she links ISHTP bus clients to their actual host client pointer.
and the way that drivers for ISHTP devices will get an ishtp_cl_device pointer when being probed β and shall use it for doing bus I/O. so like, if you're a driver, this pointer is literally your everything for bus I/O, periodt π
π SEE ALSO π
- Kernel file
./drivers/hid/intel-ish-hid/ishtp/bus.hβ go read it bestie, it's all there π
and that's the whole page, no cap β¨ this one came from the ./drivers/hid/intel-ish-hid/ishtp corner of the tree, dated October 2026, and it's been served up as her very own struct ishtp_cl_device(9) page. so comfy, so iconic, so kernel. πππ¦
π¦ 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