STRUCT KIM_DATA_S(9)
πΈ NAME πΈ
Bestie, meet struct kim_data_s(9) from the Kernel API Manual β it's the KIM internal data, embedded as the platform's drv data. One for each ST device in the system. Periodt. π
β¨
β¨ SYNOPSIS β¨
Okay so here's the whole struct, exactly as it appears β no edits, no vibes-based renaming, bestie:
struct kim_data_s {
long uim_pid;
struct platform_device *kim_pdev;
struct completion kim_rcvd, ldisc_installed;
char resp_buffer[30];
const struct firmware *fw_entry;
unsigned nshutdown;
unsigned long rx_state;
unsigned long rx_count;
struct sk_buff *rx_skb;
struct st_data_s *core_data;
struct chip_version version;
unsigned char ldisc_install;
unsigned char dev_name[UART_DEV_NAME_LEN + 1];
unsigned flow_cntrl;
unsigned baud_rate;
};
π Members π
Now the member-by-member tea β β every blurb on the page, kept cute but accurate:
uim_pidβ KIM needs to communicate with UIM to request to install the ldisc by opening UART when protocol drivers register. Communication is the blueprint, no cap. π¬kim_pdevβ the platform device added in one of theboard-XX.cfile inarch/XX/directory, 1 for each ST device. Iconic per-device energy. πkim_rcvdβ completion handler to notify when data was received, mainly used during fw download, which involves multiple send/wait for each of theHCI-VScommands. It's giving "wait for it" energy, fr fr. β³ldisc_installedβ completion handler to notify that the UIM accepted the request to install ldisc; the notify comes fromtty_open, which suggests the ldisc was properly installed. Properly installed = slay. πresp_bufferβ data buffer for the.btsfw file name. Tiny buffer, big main-character energy. πfw_entryβ firmware class struct to request/release the fw. Request it, release it, balance. π§rx_stateβ the rx state for kim's receive func during fw download. State check, but make it cute. π¦rx_countβ the rx count for the kim's receive func during fw download. Counting era. π’rx_skbβ all of fw data might not come at once, and hence data storage for whole of the fw response, onlyHCI_EVENTsand hence diff from ST's response. Lowkey a whole-response girlie. π¦core_dataβ ST core's data, which mainly is the tty'sdisc_data. Core data, core memory, core slay. πversionβ chip version available via a sysfs entry. Sysfs said what it said. π
π¦ SEE ALSO π¦
Bestie, go read these too β the whole friend group:
- Kernel file
./include/linux/ti_wilink_st.h struct st_proto_s(9)struct st_data_s(9)st_int_write(9)st_write(9)struct chip_version(9)struct bts_header(9)struct bts_action(9)struct hci_command(9)struct ti_st_plat_data(9)
MWAH π β source/version path ./include/linux, dated October 2026. Bye bestie, go read the 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