On 19.12.2017 18:00, 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@xxxxxxxxx> > --- > 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 f05f78d..6dda2e0 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 tx = &ssi->regvals[TX] == vals; > 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(!tx); I don't think that hardcoding an implicit assumption here that RX == 0, TX == 1 is a good thing. If in the future, for any reason, somebody changes values of these macros this code will silently break. I would instead change this line into something like "aactive = ssi->streams & (tx ? BIT(RX) : BIT(TX));" or similar. Maciej _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel