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.