18 Dec
2023
18 Dec
'23
11:45 a.m.
On 12/12/23 06:30, Charles Keepax wrote:
On Thu, Dec 07, 2023 at 04:29:34PM -0600, Pierre-Louis Bossart wrote:
DP0 (Data Port 0) is very similar to regular data ports, with minor tweaks we can reuse the same code.
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
- dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave,
s_rt->direction,
t_params->port_num);
- if (!dpn_prop)
return -EINVAL;
- if (t_params->port_num) {
struct sdw_dpn_prop *dpn_prop;
dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave,
s_rt->direction,
t_params->port_num);
if (!dpn_prop)
return -EINVAL;
read_only_wordlength = dpn_prop->read_only_wordlength;
port_type = dpn_prop->type;
- } else {
read_only_wordlength = false;
port_type = SDW_DPN_FULL;
- }
Would it be nicer to just add a special case sdw_get_slave_dpn_prop to return dp0_prop and avoid all this special casing in the rest of the code?
There are multiple cases in the same function where we need to check for DP0. We could move the read_only_wordlength and port_type to the sdw_get_slave_dpn_prop() helper, but then we would spread the special cases in multiple locations. It's not pretty either way.