>> -static void generic_new_peripheral_assigned(struct sdw_bus *bus, int dev_num) >> +static void generic_new_peripheral_assigned(struct sdw_bus *bus, >> + struct sdw_slave *slave, >> + int dev_num) >> { >> struct sdw_cdns *cdns = bus_to_cdns(bus); >> struct sdw_intel *sdw = cdns_to_intel(cdns); >> diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h >> index 8a7541ac735e..41a856bedf1e 100644 >> --- a/include/linux/soundwire/sdw.h >> +++ b/include/linux/soundwire/sdw.h >> @@ -861,7 +861,9 @@ struct sdw_master_ops { >> int (*pre_bank_switch)(struct sdw_bus *bus); >> int (*post_bank_switch)(struct sdw_bus *bus); >> u32 (*read_ping_status)(struct sdw_bus *bus); >> - void (*new_peripheral_assigned)(struct sdw_bus *bus, int dev_num); >> + void (*new_peripheral_assigned)(struct sdw_bus *bus, >> + struct sdw_slave *slave, > > maybe better, drop the bus and pass slave (which contains bus) I kept it for consistency, all callbacks for sdw_master_ops start with the bus parameter.