STRUCT SDW_PREPARE_CH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sdw_prepare_ch(9) β€” like, the Kernel API Manual but make it make sense πŸŽ€

okay so bestie, welcome to the <pink>Kernel API Manual</pink> entry for struct sdw_prepare_ch β€” yes it's giving "SoundWire data port channel goes brrr" and honestly? iconic. this little struct is the whole personality behind preparing (and de-preparing!) a Data Port channel, and we're gonna get into it ✨


🌸 NAME 🌸

struct sdw_prepare_ch β€” Prepare/De-prepare Data Port channel. that's it, that's the vibe. one struct, one job, no cap πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct sdw_prepare_ch {
    unsigned int num;
    unsigned int ch_mask;
    bool prepare;
    unsigned int bank;
 };

look at her. four members. flawless. no notes. πŸ’–


✨ Members ✨

okay so let's meet the cast, because every one of these lil fields is a main character in their own right:

  • num β€” the Port number. literally just which port, bestie. that's the whole thing 🫢
  • ch_mask β€” the Active channel mask. it's the mask of the channels that are actually active, iykyk πŸŽ€
  • prepare β€” the switch! true means prepare the channel, false means de-prepare it. bi-energy fr fr 🌈
  • bank β€” the Register bank β€” the bank that the Slave/Master driver should program for implementation defined registers. and ngl, this one's got lore: it's always updated to the next_bank value read from bus params. always. no exceptions. periodt πŸ‘‘

πŸ”₯ SEE ALSO πŸ”₯

bestie the cross-reference list is long and we're not skipping a single one, because every link deserves its moment:

  • Kernel file ./include/linux/soundwire/sdw.h
  • 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_id(9)
  • struct sdw_slave_intr_status(9)
  • enum sdw_reg_bank(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)

thirty-four links. thirty-four. we ate and left zero crumbs πŸ’€πŸ“


quick vibe check, bestie: bank is not something you set and forget β€” it gets updated to next_bank from the bus params, every time. don't fight it, that's just how she is πŸ’œ

and that's the page!! 🧚 this one came from ./include/linux/soundwire, version circa October 2026, filed under struct sdw_prepare_ch(9) β€” catch you in the next manpage, mwah πŸ’‹βœ¨πŸ‘‘

πŸ“¦ where this page comes from