STRUCT SDW_SLAVE_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sdw_slave_ops(9) πŸ’…

✨ NAME ✨

struct sdw_slave_ops β€” Slave driver callback ops, bestie. this page is part of the Kernel API Manual and it's literally the callback-ops struct for a Slave driver. 🫢

🌸 SYNOPSIS 🌸

okay so here's the exact shape, no cap β€” every field stays exactly as-is:

struct sdw_slave_ops {
    int (*read_prop)(struct sdw_slave *sdw);
    int (*interrupt_callback)(struct sdw_slave *slave, struct sdw_slave_intr_status *status);
    int (*update_status)(struct sdw_slave *slave, enum sdw_slave_status status);
    int (*bus_config)(struct sdw_slave *slave, struct sdw_bus_params *params);
    int (*port_prep)(struct sdw_slave *slave, struct sdw_prepare_ch *prepare_ch, enum sdw_port_prep_ops pre_ops);
    int (*clk_stop)(struct sdw_slave *slave, enum sdw_clk_stop_mode mode, enum sdw_clk_stop_type type);
};

πŸ¦‹ Members πŸ¦‹

the member lineup, with zero details dropped:

  • read_prop β€” reads the Slave properties. slay. πŸ“
  • interrupt_callback β€” Device interrupt notification, and yes β€” it's invoked in thread context. important! πŸ“Œ
  • update_status β€” updates the Slave status. ✨
  • bus_config β€” updates the bus config for Slave. 🚌
  • port_prep β€” prepares the port with parameters. πŸŽ€
  • clk_stop β€” handles imp-def sequences before and after prepare and de-prepare. iconic, mysterious, iykyk. πŸŒ€

🌈 SEE ALSO 🌈

Kernel file ./include/linux/soundwire/sdw.h β€” plus the whole related manpage squad, bestie:

  • 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)
  • struct sdw_prepare_ch(9)
  • enum sdw_port_prep_ops(9)
  • struct sdw_bus_params(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)

mwah πŸ’‹ source/version: ./include/linux/soundwire Β· date: October 2026 Β· page: struct sdw_slave_ops(9) β€” bye bestie, go read the source and slay. 🌈

πŸ“¦ where this page comes from