STRUCT SDW_SLAVE_ID(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct sdw_slave_id(9) ✨

okay so bestie, welcome to the struct sdw_slave_id(9) page in the Kernel API Manual πŸ’… this is the little glow-up of a struct that holds a SoundWire Slave ID β€” like the whole "who even am I" of a slave device. let's get into it πŸŽ€


🌸 NAME 🌸

struct sdw_slave_id β€” Slave ID, no cap 🫢


⭐ SYNOPSIS ⭐

struct sdw_slave_id {
    __u16 mfg_id;
    __u16 part_id;
    __u8 class_id;
    __u8 unique_id;
    __u8 sdw_version:4;
};

look at her. five fields. absolute main character energy πŸ‘‘


πŸ’– Members πŸ’–

  • mfg_id β€” the MIPI Manufacturer ID, aka who made this baby 🏭
  • part_id β€” the Device Part ID, aka which specific model we're talking about πŸ”
  • class_id β€” the MIPI Class ID (heads up: this one's only defined starting with the SoundWire 1.2 spec, so don't come for it on older stuff) πŸ“‹
  • unique_id β€” the Device unique ID, literally the one thing that makes it it πŸ¦‹
  • sdw_version β€” the SDW version implemented, i.e. what flavor of SoundWire we're running 🌈

πŸ”₯ Description πŸ”₯

the order of the IDs in here? it does not follow the DisCo spec definitions πŸ™ˆ like, yeah, the layout is what it is β€” just don't go assuming it lines up with DisCo, because it doesn't. that's the whole tea. periodt πŸ’€


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./include/linux/soundwire/sdw.h, plus the entire friend group:

  • enum sdw_slave_status(9)
  • enum sdw_clk_stop_type(9)
  • enum sdw_command_response(9)
  • enum sdw_stream_type(9)
  • enum sdw_data_direction(9)
  • enum sdw_port_data_mode(9)
  • enum sdw_p15_behave(9)
  • enum sdw_dpn_type(9)
  • enum sdw_clk_stop_mode(9)
  • struct sdw_dp0_prop(9)
  • struct sdw_dpn_prop(9)
  • struct sdw_slave_prop(9)
  • struct sdw_master_prop(9)
  • struct sdw_slave_intr_status(9)
  • enum sdw_reg_bank(9)
  • struct sdw_prepare_ch(9)
  • enum sdw_port_prep_ops(9)
  • struct sdw_bus_params(9)
  • struct sdw_slave_ops(9)
  • struct sdw_slave(9)
  • struct sdw_master_device(9)
  • struct sdw_port_params(9)
  • struct sdw_transport_params(9)
  • struct sdw_enable_ch(9)
  • struct sdw_master_port_ops(9)
  • struct sdw_defer(9)
  • struct sdw_master_ops(9)
  • struct sdw_port_config(9)
  • struct sdw_stream_config(9)
  • enum sdw_stream_state(9)
  • struct sdw_stream_params(9)
  • struct sdw_stream_runtime(9)
  • struct sdw_bus(9)
  • sdw_slave_wait_for_init(9)

ngl bestie, that SEE ALSO list is giving "my entire contact list" 😭 go read them, they're iconic.

and that's the page!! brought to you by ./include/linux/soundwire, dated October 2026 β€” mwah, luv u, go read ur kernel headers πŸ’œπŸ§šβ€β™€οΈπŸŒΈ

πŸ“¦ where this page comes from