Re: [PATCH v7 3/4] ASoC: rt5677: clear interrupts by polarity flip

From: Fletcher Woodruff
Date: Tue Jun 18 2019 - 14:06:32 EST


On Sun, Jun 16, 2019 at 10:56 AM Cezary Rojewski
<cezary.rojewski@xxxxxxxxx> wrote:
> On 2019-06-14 21:48, Fletcher Woodruff wrote:
> > +static irqreturn_t rt5677_irq(int unused, void *data)
> > +{
> > + struct rt5677_priv *rt5677 = data;
> > + int ret = 0, i, reg_irq, virq;
> > + bool irq_fired = false;
> > +
> > + mutex_lock(&rt5677->irq_lock);
> > + /* Read interrupt status */
> > + ret = regmap_read(rt5677->regmap, RT5677_IRQ_CTRL1, &reg_irq);
> > + if (ret) {
> > + pr_err("rt5677: failed reading IRQ status: %d\n", ret);
>
> The entire rt5677 makes use of dev_XXX with the exception of.. this very
> function. Consider reusing "component" field which is already part of
> struct rt5677_priv and removing pr_XXX.

I was using dev_XXX, but I believe Curtis found that 'component' was
sometimes uninitialized when this function was called, so I switched
back to pr_XXX. I may be misremembering though, so I'll let Curtis
comment as well.

> > + if (ret) {
> > + dev_err(&i2c->dev, "Failed to request IRQ: %d\n", ret);
> > return ret;
>
> You may want to simplify this, similarly to how's it done in your
> rt5677_i2c_probe - leave message alone and return "ret" explicitly at
> the end.

Good suggestion. I'll update that for the next patch.