[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191227071433.GL3006@vkoul-mobl>
Date: Fri, 27 Dec 2019 12:44:33 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
Cc: 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>,
Sanyog Kale <sanyog.r.kale@...el.com>
Subject: Re: [PATCH v5 08/17] soundwire: add initial definitions for
sdw_master_device
On 17-12-19, 15:03, Pierre-Louis Bossart wrote:
> Since we want an explicit support for the SoundWire Master device, add
> the definitions, following the Greybus example of a 'Host Device'.
>
> A parent (such as the Intel audio controller) would use sdw_md_add()
> to create the device, passing a driver as a parameter. The
> sdw_md_release() would be called when put_device() is invoked by the
> parent. We use the shortcut 'md' for 'master device' to avoid very
> long function names.
I agree we should not have long name :) but md does not sound great. Can
we drop the device and use sdw_slave and sdw_master for devices and
append _driver when we are talking about drivers...
we dont use sd for slave and imo this would gel well with existing names
> --- a/drivers/soundwire/bus_type.c
> +++ b/drivers/soundwire/bus_type.c
> @@ -66,7 +66,10 @@ int sdw_uevent(struct device *dev, struct kobj_uevent_env *env)
> * callback is set to use this function for a
> * different device type (e.g. Master or Monitor)
> */
> - dev_err(dev, "uevent for unknown Soundwire type\n");
> + if (is_sdw_master_device(dev))
> + dev_err(dev, "uevent for SoundWire Master type\n");
see below [1]:
> +static void sdw_md_release(struct device *dev)
sdw_master_release() won't be too long!
> +{
> + struct sdw_master_device *md = to_sdw_master_device(dev);
> +
> + kfree(md);
> +}
> +
> +struct device_type sdw_md_type = {
sdw_master_type and so on :)
> + .name = "soundwire_master",
> + .release = sdw_md_release,
[1]:
There is no uevent added here, so sdw_uevent() will never be called for
this, can you check again if you see the print you added?
>
> +struct sdw_master_device {
we have sdw_slave, so would be better if we call this sdw_master
> + struct device dev;
> + int link_id;
> + struct sdw_md_driver *driver;
> + void *pdata;
no sdw_bus pointer and I dont see bus adding this object.. Is there no
link between bus and master device objects?
--
~Vinod
Powered by blists - more mailing lists