lkml.org 
[lkml]   [2018]   [Jan]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v1 03/15] ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro
    From
    Date
    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@gmail.com>
    > ---
    > 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

    \
     
     \ /
      Last update: 2018-01-01 22:30    [W:2.417 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site