Re: [PATCH v2 26/28] drm/i2c: tda998x: code optimization

From: Jean-Francois Moine
Date: Sun Jan 12 2014 - 05:15:36 EST


On Sun, 12 Jan 2014 09:45:33 +0000
Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:

> On Sun, Jan 12, 2014 at 09:22:01AM +0100, Jean-Francois Moine wrote:
> > On Sat, 11 Jan 2014 18:55:09 +0000
> > Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> wrote:
> >
> > > On Thu, Jan 09, 2014 at 12:07:25PM +0100, Jean-Francois Moine wrote:
> > > > This patch reduces the number of I2C exchanges by setting many bits in
> > > > one write and removing a useless write.
> > > >
> > > > Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx>
> > > > ---
> > > > drivers/gpu/drm/i2c/tda998x_drv.c | 10 ++++------
> > > > 1 file changed, 4 insertions(+), 6 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> > > > index 6b4f6d2..d3b3f3a 100644
> > > > --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> > > > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> > > > @@ -751,10 +751,10 @@ tda998x_configure_audio(struct tda998x_priv *priv,
> > > > }
> > > >
> > > > reg_write(priv, REG_AIP_CLKSEL, clksel_aip);
> > > > - reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
> > > > + reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |
> > >
> > > This patch clearly hasn't even been build tested, so I doubt there's
> > > much point reviewing this or the following patches. From a quick scan
> > > of the following patches, this never got fixed so the following patches
> > > can't have been build tested either.
> >
> > I don't see what can be the problem with this patch. It does not change
> > anything in the logic. About testing, it is applied to my Cubox kernel
> > for more than 4 months and everything works correctly.
> >
> > I will move the following comment a bit upwards. Maybe the code will be
> > clearer.
>
> You're replacing ");" with "|" here, which is not legal C. Parenthesis
> must be balanced and statements must be terminated.

!? they are:

- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT);
+ reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

/* Enable automatic CTS generation */
- reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_ACR_MAN);
+ AIP_CNTRL_0_ACR_MAN);

gives:

reg_clear(priv, REG_AIP_CNTRL_0, AIP_CNTRL_0_LAYOUT |

/* Enable automatic CTS generation */
AIP_CNTRL_0_ACR_MAN);


--
Ken ar c'hentaà | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/