soundwire: stream: Remove unnecessary gotos
There is a lot of code using gotos to skip small sections of code, this is a fairly dubious use of a goto, especially when the level of intentation is really low. Most of this code doesn't even breach 80 characters when naively shifted over. Simplify the code a bit, by replacing these unnecessary gotos with simple ifs. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20230602101140.2040141-5-ckeepax@opensource.cirrus.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
e0240644e7
commit
0cbcced983
|
@ -1355,25 +1355,23 @@ static int _sdw_prepare_stream(struct sdw_stream_runtime *stream,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!update_params)
|
||||
goto program_params;
|
||||
if (update_params) {
|
||||
/* Increment cumulative bus bandwidth */
|
||||
/* TODO: Update this during Device-Device support */
|
||||
bus->params.bandwidth += m_rt->stream->params.rate *
|
||||
m_rt->ch_count * m_rt->stream->params.bps;
|
||||
|
||||
/* Increment cumulative bus bandwidth */
|
||||
/* TODO: Update this during Device-Device support */
|
||||
bus->params.bandwidth += m_rt->stream->params.rate *
|
||||
m_rt->ch_count * m_rt->stream->params.bps;
|
||||
|
||||
/* Compute params */
|
||||
if (bus->compute_params) {
|
||||
ret = bus->compute_params(bus);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "Compute params failed: %d\n",
|
||||
ret);
|
||||
goto restore_params;
|
||||
/* Compute params */
|
||||
if (bus->compute_params) {
|
||||
ret = bus->compute_params(bus);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "Compute params failed: %d\n",
|
||||
ret);
|
||||
goto restore_params;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
program_params:
|
||||
/* Program params */
|
||||
ret = sdw_program_params(bus, true);
|
||||
if (ret < 0) {
|
||||
|
@ -1876,30 +1874,25 @@ int sdw_stream_add_master(struct sdw_bus *bus,
|
|||
* it first), if so skip allocation and go to configuration
|
||||
*/
|
||||
m_rt = sdw_master_rt_find(bus, stream);
|
||||
if (m_rt)
|
||||
goto skip_alloc_master_rt;
|
||||
|
||||
m_rt = sdw_master_rt_alloc(bus, stream);
|
||||
if (!m_rt) {
|
||||
dev_err(bus->dev, "%s: Master runtime alloc failed for stream:%s\n",
|
||||
__func__, stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto unlock;
|
||||
m_rt = sdw_master_rt_alloc(bus, stream);
|
||||
if (!m_rt) {
|
||||
dev_err(bus->dev, "%s: Master runtime alloc failed for stream:%s\n",
|
||||
__func__, stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
alloc_master_rt = true;
|
||||
}
|
||||
|
||||
alloc_master_rt = true;
|
||||
skip_alloc_master_rt:
|
||||
if (!sdw_master_port_allocated(m_rt)) {
|
||||
ret = sdw_master_port_alloc(m_rt, num_ports);
|
||||
if (ret)
|
||||
goto alloc_error;
|
||||
|
||||
if (sdw_master_port_allocated(m_rt))
|
||||
goto skip_alloc_master_port;
|
||||
|
||||
ret = sdw_master_port_alloc(m_rt, num_ports);
|
||||
if (ret)
|
||||
goto alloc_error;
|
||||
|
||||
stream->m_rt_count++;
|
||||
|
||||
skip_alloc_master_port:
|
||||
stream->m_rt_count++;
|
||||
}
|
||||
|
||||
ret = sdw_master_rt_config(m_rt, stream_config);
|
||||
if (ret < 0)
|
||||
|
@ -1992,46 +1985,41 @@ int sdw_stream_add_slave(struct sdw_slave *slave,
|
|||
* and go to configuration
|
||||
*/
|
||||
m_rt = sdw_master_rt_find(slave->bus, stream);
|
||||
if (m_rt)
|
||||
goto skip_alloc_master_rt;
|
||||
|
||||
/*
|
||||
* If this API is invoked by Slave first then m_rt is not valid.
|
||||
* So, allocate m_rt and add Slave to it.
|
||||
*/
|
||||
m_rt = sdw_master_rt_alloc(slave->bus, stream);
|
||||
if (!m_rt) {
|
||||
dev_err(&slave->dev, "%s: Master runtime alloc failed for stream:%s\n",
|
||||
__func__, stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto unlock;
|
||||
/*
|
||||
* If this API is invoked by Slave first then m_rt is not valid.
|
||||
* So, allocate m_rt and add Slave to it.
|
||||
*/
|
||||
m_rt = sdw_master_rt_alloc(slave->bus, stream);
|
||||
if (!m_rt) {
|
||||
dev_err(&slave->dev, "%s: Master runtime alloc failed for stream:%s\n",
|
||||
__func__, stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
alloc_master_rt = true;
|
||||
}
|
||||
|
||||
alloc_master_rt = true;
|
||||
|
||||
skip_alloc_master_rt:
|
||||
s_rt = sdw_slave_rt_find(slave, stream);
|
||||
if (s_rt)
|
||||
goto skip_alloc_slave_rt;
|
||||
|
||||
s_rt = sdw_slave_rt_alloc(slave, m_rt);
|
||||
if (!s_rt) {
|
||||
dev_err(&slave->dev, "Slave runtime alloc failed for stream:%s\n", stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto alloc_error;
|
||||
s_rt = sdw_slave_rt_alloc(slave, m_rt);
|
||||
if (!s_rt) {
|
||||
dev_err(&slave->dev, "Slave runtime alloc failed for stream:%s\n",
|
||||
stream->name);
|
||||
ret = -ENOMEM;
|
||||
goto alloc_error;
|
||||
}
|
||||
|
||||
alloc_slave_rt = true;
|
||||
}
|
||||
|
||||
alloc_slave_rt = true;
|
||||
if (!sdw_slave_port_allocated(s_rt)) {
|
||||
ret = sdw_slave_port_alloc(slave, s_rt, num_ports);
|
||||
if (ret)
|
||||
goto alloc_error;
|
||||
}
|
||||
|
||||
skip_alloc_slave_rt:
|
||||
if (sdw_slave_port_allocated(s_rt))
|
||||
goto skip_port_alloc;
|
||||
|
||||
ret = sdw_slave_port_alloc(slave, s_rt, num_ports);
|
||||
if (ret)
|
||||
goto alloc_error;
|
||||
|
||||
skip_port_alloc:
|
||||
ret = sdw_master_rt_config(m_rt, stream_config);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
|
|
Loading…
Reference in New Issue