STRUCT HSI_CONTROLLER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct hsi_controller β€” the HSI controller device bestie, like literally the main character of your HSI setup ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct hsi_controller {
    struct device           device;
    struct module           *owner;
    unsigned int            id;
    unsigned int            num_ports;
    struct hsi_port         *port[];
};

okay so that's the whole vibe, no cap πŸ‘‘


πŸŽ€ Members πŸŽ€

  • device β€” the driver model representation of the device, aka its whole driver-model identity card πŸͺͺ
  • owner β€” a pointer to the module that owns the controller, like the parent holding the permission slip 🫢
  • id β€” the HSI controller ID, its little number tag 🏷️
  • num_ports β€” the number of ports in the HSI controller, so you know how many port slots we're working with πŸ”’
  • port β€” the array of HSI ports, all of them chilling in one spot πŸ’–

🌈 SEE ALSO 🌈

Kernel file ./include/linux/hsi/hsi.h, plus the whole friend group: struct hsi_channel(9), struct hsi_config(9), struct hsi_board_info(9), struct hsi_client(9), struct hsi_client_driver(9), struct hsi_msg(9), struct hsi_port(9), hsi_id(9), hsi_port_id(9), hsi_setup(9), hsi_flush(9), hsi_async_read(9), hsi_async_write(9), hsi_start_tx(9), hsi_stop_tx(9) β€” go say hi, iykyk πŸ’«


and that's a wrap, bestie 🎬 this iconic little page lives in ./include/linux/hsi, dated October 2026 β€” slay, periodt πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from