[PATCH] soundwire: export sdw_compute_slave_ports() function

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Feb 2 00:21:15 CET 2023



On 2/1/23 10:59, Vijendar Mukunda wrote:
> Export sdw_compute_slave_ports() function to use it in another
> soundwire manager module.
> Move sdw_transport_data structure to bus header file to export
> sdw_compute_slave_ports() function.
> 
> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda at amd.com>


If a specific platform has a need to modify parts of the bit allocation
but can reuse parts of the code, that's fine. The 'generic bandwidth
allocation' was meant to be a reference, not a one-size-fits-all solution.

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>

> ---
>  drivers/soundwire/bus.h                          |  9 +++++++++
>  drivers/soundwire/generic_bandwidth_allocation.c | 12 +++---------
>  2 files changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/soundwire/bus.h b/drivers/soundwire/bus.h
> index 7631ef5e71fb..141b99ac58de 100644
> --- a/drivers/soundwire/bus.h
> +++ b/drivers/soundwire/bus.h
> @@ -144,6 +144,13 @@ struct sdw_master_runtime {
>  	struct list_head bus_node;
>  };
>  
> +struct sdw_transport_data {
> +	int hstart;
> +	int hstop;
> +	int block_offset;
> +	int sub_block_offset;
> +};
> +
>  struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
>  					    enum sdw_data_direction direction,
>  					    unsigned int port_num);
> @@ -213,5 +220,7 @@ int sdw_bwrite_no_pm_unlocked(struct sdw_bus *bus, u16 dev_num, u32 addr, u8 val
>  
>  void sdw_clear_slave_status(struct sdw_bus *bus, u32 request);
>  int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size);
> +void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
> +			     struct sdw_transport_data *t_data);
>  
>  #endif /* __SDW_BUS_H */
> diff --git a/drivers/soundwire/generic_bandwidth_allocation.c b/drivers/soundwire/generic_bandwidth_allocation.c
> index f7c66083a4dd..39543048baa7 100644
> --- a/drivers/soundwire/generic_bandwidth_allocation.c
> +++ b/drivers/soundwire/generic_bandwidth_allocation.c
> @@ -28,15 +28,8 @@ struct sdw_group {
>  	unsigned int *rates;
>  };
>  
> -struct sdw_transport_data {
> -	int hstart;
> -	int hstop;
> -	int block_offset;
> -	int sub_block_offset;
> -};
> -
> -static void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
> -				    struct sdw_transport_data *t_data)
> +void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
> +			     struct sdw_transport_data *t_data)
>  {
>  	struct sdw_slave_runtime *s_rt = NULL;
>  	struct sdw_port_runtime *p_rt;
> @@ -85,6 +78,7 @@ static void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
>  		}
>  	}
>  }
> +EXPORT_SYMBOL(sdw_compute_slave_ports);
>  
>  static void sdw_compute_master_ports(struct sdw_master_runtime *m_rt,
>  				     struct sdw_group_params *params,


More information about the Alsa-devel mailing list