On 11.01.2018 07:43, Nicolin Chen wrote:
The define of fsl_ssi_disable_val is not so clear as it mixes two steps of calculations together. And those parameter names are also a bit long to read.
Since it just tries to exclude the shared bits from the regvals of current stream while the opposite stream is active, it's better to use something like ssi_excl_shared_bits.
This patch also bisects fsl_ssi_disable_val into two macros of two corresponding steps and then shortens its parameter names. It also updates callers in the fsl_ssi_config() accordingly.
Signed-off-by: Nicolin Chen nicoleotsuka@gmail.com Tested-by: Caleb Crome caleb@crome.org
sound/soc/fsl/fsl_ssi.c | 54 ++++++++++++++++++++----------------------------- 1 file changed, 22 insertions(+), 32 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index aa14a5d..f026386 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -445,16 +445,10 @@ static void fsl_ssi_config(struct fsl_ssi *ssi, bool enable, bool dir = (&ssi->regvals[TX] == vals) ? TX : RX; struct regmap *regs = ssi->regs; struct fsl_ssi_regvals *avals;
- int nr_active_streams;
- int keep_active;
- nr_active_streams = !!(ssi->streams & BIT(TX)) +
!!(ssi->streams & BIT(RX));
- bool aactive;
- if (nr_active_streams - 1 > 0)
keep_active = 1;
- else
keep_active = 0;
- /* Check if the opposite stream is active */
- aactive = ssi->streams & BIT(!dir);
^ Here an implicit assumption that either RX == 0, TX == 1 or RX == 1, TX == 0 still remains.
Maciej