Re: [PATCH] soundwire: export sdw_compute_slave_ports() function

From: Mukunda,Vijendar
Date: Tue Feb 07 2023 - 01:11:44 EST


On 02/02/23 04:51, Pierre-Louis Bossart wrote:
>
> 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@xxxxxxx>
>
> 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@xxxxxxxxxxxxxxx>
We will use vkoul soundwire git repository as base and will post the
patch.
>> ---
>> 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,