Re: [PATCH 3/4] soundwire: extend parameters of new_peripheral_assigned() callback

From: Vinod Koul
Date: Thu Jun 08 2023 - 03:07:17 EST


On 31-05-23, 11:37, Bard Liao wrote:
> From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
>
> The parameters are only the bus and the device number, manager ops may
> need additional details on the type of peripheral connected, such as
> whether it is wake-capable or not.
>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> Reviewed-by: Rander Wang <rander.wang@xxxxxxxxx>
> Signed-off-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>
> ---
> drivers/soundwire/bus.c | 2 +-
> drivers/soundwire/intel_auxdevice.c | 4 +++-
> include/linux/soundwire/sdw.h | 4 +++-
> 3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c
> index 6f465cce8369..17b9a8bdf234 100644
> --- a/drivers/soundwire/bus.c
> +++ b/drivers/soundwire/bus.c
> @@ -786,7 +786,7 @@ static int sdw_assign_device_num(struct sdw_slave *slave)
> slave->dev_num = slave->dev_num_sticky;
>
> if (bus->ops && bus->ops->new_peripheral_assigned)
> - bus->ops->new_peripheral_assigned(bus, dev_num);
> + bus->ops->new_peripheral_assigned(bus, slave, dev_num);
>
> return 0;
> }
> diff --git a/drivers/soundwire/intel_auxdevice.c b/drivers/soundwire/intel_auxdevice.c
> index 30f3d2ab80fd..c1df6f014e6b 100644
> --- a/drivers/soundwire/intel_auxdevice.c
> +++ b/drivers/soundwire/intel_auxdevice.c
> @@ -60,7 +60,9 @@ static int generic_post_bank_switch(struct sdw_bus *bus)
> return sdw->link_res->hw_ops->post_bank_switch(sdw);
> }
>
> -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)

--
~Vinod