STRUCT SBTSI_DATA(9)
β¨ struct sbtsi_data(9) β¨
okay so bestie, picture this: it's struct sbtsi_data(9) from the Kernel API Manual, and it's literally the driver's private little diary for an AMD SB-TSI device π this whole page is just us going through every single field in that struct, no skips, no cap π«Ά
πΈ NAME πΈ
struct sbtsi_data β driver private data for an AMD SB-TSI device
like, it's the driver's personal stash of state. main character energy fr π
β¨ SYNOPSIS β¨
struct sbtsi_data {
union {
struct i2c_client *client;
struct i3c_device *i3cdev;
};
struct miscdevice sbtsi_misc_dev;
struct mutex lock;
struct kref kref;
u8 dev_addr;
bool ext_range_mode;
bool read_order;
bool is_i3c;
bool detached;
};
copy it exactly like that, don't be out here editing structs, that's not the vibe π
π Members π
{unnamed_union}β anonymous π it's the unnamed one, she has no name, she simply exists.clientβ the underlying I2C client ngl, this is who we're actually talking to.i3cdevβ the underlying I3C device (when using I3C bus) β so like, the I3C-era version of the above π¦sbtsi_misc_devβ miscdevice exposing ioctl interface at/dev/sbtsi-<addr>β yup, that's a real path, that's where the ioctl interface lives, slay β¨lockβ mutex protecting concurrent access to the device β literally the bouncer at the club, keeps everybody from crashing into each other πkrefβ reference count; keepssbtsi_dataalive while misc fds are open β she stays alive until the last fd leaves the group chat πdev_addrβ I2C/I3C device address, used as the auxiliary device instance id and name the misc device node β so it's doing double duty and honestly? iconic πext_range_modeβ sensor uses extended temperature range π₯ (no, that's not a metaphor, that's the actual flag)read_orderβ if set, decimal part must be read before integer part β οΈ okay so this one matters, order is not a suggestion, decimal FIRST, then integer, don't get cute with itis_i3cβtruewhen the device is accessed over I3C βdetachedβ set on driver unbind; open/ioctl return-ENODEVafterward β so once she's detached, open/ioctl are gonna hit you with-ENODEV, periodt π
π₯ SEE ALSO π₯
- Kernel file
./include/linux/misc/tsi.h sbtsi_xfer(9)
go read those too, iykyk π§
and that's the whole page bestie, no crumbs left π this little gem came from the kernel file path ./include/linux/misc and it's dated October 2026 β so yeah, mark your calendar, she's from the future π bye babes, go read your structs π
π¦ 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