Re: [PATCH v2 02/11] mfd: wcd934x: add support to wcd9340/wcd9341 codec

From: Lee Jones
Date: Mon Oct 21 2019 - 07:45:26 EST


On Mon, 21 Oct 2019, Srinivas Kandagatla wrote:

> Thanks Lee for taking time to review.
>
> I agree with most of the style related comments, will fix them in next
> version. For others I have replied it inline.

[...]

> > > +static int wcd934x_bring_up(struct wcd934x_data *wcd)
> > > +{
> > > + struct regmap *rm = wcd->regmap;
> >
> > It's much more common to use 'regmap' or 'map'.
>
> Only reason to make it short here is to save some lines!
> If you prefer regmap, I will add that in next version!

I doubt it'd save many (any?) lines.

[...]

> > > +static int wcd934x_slim_status(struct slim_device *sdev,
> > > + enum slim_device_status status)
> > > +{
> > > + struct device *dev = &sdev->dev;
> > > + struct wcd934x_data *wcd;
> > > + int ret;
> >
> > This is semantically odd! Why are you doing most of the
> > initialisation and bring-up in 'status' and not 'probe'. Seems
> > broken to me.
>
> SLIMBus device will not be in a state to communicate before enumeration (at
> probe), so all the device initialization is done in status callback where it
> is ready for communication.

Why do we need the device to be up *before* calling probe?

> This is same with SoundWire Bus as well!

[...]

> > > + struct device *dev;
> > > + struct clk *extclk;
> > > + struct regmap *regmap;
> > > + struct slim_device *sdev;
> >
> > You don't need 'sdev' and 'dev'.
>
> slim_device instance (sdev) is required by audio codec driver to allocate
> stream runtime.

You can extrapolate one from the other.

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog