[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190904073549.GL2672@vkoul-mobl>
Date: Wed, 4 Sep 2019 13:05:49 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
Cc: Guennadi Liakhovetski <guennadi.liakhovetski@...ux.intel.com>,
alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
tiwai@...e.de, broonie@...nel.org, gregkh@...uxfoundation.org,
jank@...ence.com, srinivas.kandagatla@...aro.org,
slawomir.blauciak@...el.com,
Bard liao <yung-chuan.liao@...ux.intel.com>,
Rander Wang <rander.wang@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Zhu Yingjiang <yingjiang.zhu@...ux.intel.com>,
YueHaibing <yuehaibing@...wei.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Arnd Bergmann <arnd@...db.de>
Subject: Re: [RFC PATCH 4/5] ASoC: SOF: Intel: hda: add SoundWire stream
config/free callbacks
On 22-08-19, 08:53, Pierre-Louis Bossart wrote:
> Thanks for the review Guennadi
>
> > > +static int sdw_config_stream(void *arg, void *s, void *dai,
> > > + void *params, int link_id, int alh_stream_id)
> >
> > I realise, that these function prototypes aren't being introduced by these
> > patches, but just wondering whether such overly generic prototype is really
> > a good idea here, whether some of those "void *" pointers could be given
> > real types. The first one could be "struct device *" etc.
>
> In this case the 'arg' parameter is actually a private 'struct snd_sof_dev',
> as shown below [1]. We probably want to keep this relatively opaque, this is
> a context that doesn't need to be exposed to the SoundWire code.
This does look bit ugly.
> The dai and params are indeed cases where we could use stronger types, they
> are snd_soc_dai and hw_params respectively. I don't recall why the existing
> code is this way, Vinod and Sanyog may have the history of this.
Yes we wanted to decouple the sdw and audio bits that is the reason why
none of the audio types are used here, but I think it should be revisited
and perhaps made as:
sdw_config_stream(struct device *sdw, struct sdw_callback_ctx *ctx)
where the callback context contains all the other args. That would make
it look lot neater too and of course use real structs if possible
--
~Vinod
Powered by blists - more mailing lists