STRUCT SDW_MASTER_PORT_OPS(9)
π struct sdw_master_port_ops (9) π
okay so bestie, this is a page from the Kernel API Manual and it's literally all about struct sdw_master_port_ops β the callback functions that go from the bus over to the Master driver so it can set up the Master Data ports. that's the whole vibe. no cap.
β¨ SYNOPSIS β¨
like, here's the whole struct, and yes you're gonna want to read it exactly:
struct sdw_master_port_ops {
int (*dpn_set_port_params)(struct sdw_bus *bus, struct
sdw_port_params *port_params, unsigned int bank);
int (*dpn_set_port_transport_params)(struct sdw_bus *bus, struct
sdw_transport_params *transport_params, enum sdw_reg_bank bank);
int (*dpn_port_prep)(struct sdw_bus *bus, struct sdw_prepare_ch
*prepare_ch);
int (*dpn_port_enable_ch)(struct sdw_bus *bus, struct sdw_enable_ch
*enable_ch, unsigned int bank);
};
πΈ Members πΈ
these are the four little icons of this struct, mwah:
dpn_set_port_paramsβ sets the Port parameters for the Master Port. it's a Mandatory callback, so likeβ¦ you literally cannot skip it. mandatory mandatory. π«Άdpn_set_port_transport_paramsβ sets the transport parameters for the Master Port. also a Mandatory callback. yeah, this one's required too, no wiggle room πdpn_port_prepβ the Port prepare operations for the Master Data Port. that's it, that's the job.dpn_port_enable_chβ enables the channels of the Master Port. go off, channels π
π¦ SEE ALSO π¦
it all lives in the Kernel file ./include/linux/soundwire/sdw.h, and here's the full squad it hangs out with (sorry, it's a long list, but every single one is here and i'm not about to leave anyone out):
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_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_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, if you're implementing a Master driver you're gonna be living in these callbacks. the two Mandatory ones are non-negotiable, fr fr π
okay that's the whole page, love u, bye! π this one came from ./include/linux/soundwire, dated October 2026, and it's page struct sdw_master_port_ops(9) of the Kernel API Manual β drink some water and go implement ur callbacks, queen πβ¨
π¦ 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