STRUCT QUICKI2C_DEVICE(9)
πΈ NAME πΈ
okay bestie, welcome to the struct quicki2c_device(9) page in the Kernel API Manual β this is the THC QuickI2C device struct, and itβs giving βone struct holding all the QuickI2C device stateβ energy. π
β¨ SYNOPSIS β¨
no cap, hereβs the whole struct, every field exactly as it is:
struct quicki2c_device {
struct device *dev;
struct pci_dev *pdev;
struct thc_device *thc_hw;
struct hid_device *hid_dev;
struct acpi_device *acpi_dev;
const struct quicki2c_ddata *ddata;
enum quicki2c_dev_state state;
void __iomem *mem_addr;
struct hidi2c_dev_descriptor dev_desc;
struct thc_i2c_config i2c_config;
u16 hid_desc_addr;
u32 active_ltr_val;
u32 low_power_ltr_val;
u8 *report_descriptor;
u8 *input_buf;
u8 *report_buf;
size_t report_len;
wait_queue_head_t reset_ack_wq;
bool reset_ack;
u32 i2c_max_frame_size_enable;
u32 i2c_max_frame_size;
u32 i2c_int_delay_enable;
u32 i2c_int_delay;
struct work_struct recover_work;
bool recovery_disabled;
};
π Members π
okay so this is the part where we meet every single member, and yes weβre doing all of them β no skipping, bestie. π«Ά
devβ points to the kernel device. π»pdevβ points to the PCI device.thc_hwβ points to the THC device.hid_devβ points to the HID device.acpi_devβ points to the ACPI device.ddataβ points to the QuickI2C platform specific driver data.stateβ the THC I2C device state.mem_addrβ the MMIO memory address.dev_descβ device descriptor for the HIDI2C protocol.i2c_configβ I2C bus configuration.hid_desc_addrβ register address for retrieve HID device descriptor. yes, thatβs the wording πactive_ltr_valβ THC active LTR value.low_power_ltr_valβ THC low power LTR value.report_descriptorβ stores a copy of the device report descriptor. πinput_bufβ stores a copy of the latest input report data.report_bufβ stores a copy of the latest input/output report packet from set/get feature.report_lenβ the length of the input/output report packet.reset_ack_wqβ workqueue for waiting for a reset response from the device. β³reset_ackβ indicates whether a reset response was received or not.i2c_max_frame_size_enableβ indicates whether the max frame size feature is enabled or not.i2c_max_frame_sizeβ max RX frame size (unit in Bytes).i2c_int_delay_enableβ indicates whether the interrupt delay feature is enabled or not.i2c_int_delayβ interrupt detection delay value (unit in10 us).recover_workβ work structure for recovery. π οΈrecovery_disabledβ whether recovery work is blocked during teardown.
π₯ SEE ALSO π₯
go be nosy, bestie β the references are right here:
- kernel file:
./drivers/hid/intel-thc-hid/intel-quicki2c/quicki2c-dev.h struct quicki2c_subip_acpi_parameter(9)struct quicki2c_subip_acpi_config(9)struct quicki2c_ddata(9)
mwah π β this cutie comes from the source/version spot ./drivers/hid/intel-thc-hid/in..., dated October 2026, and itβs still struct quicki2c_device(9). periodt. π
π¦ 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