On 11-05-20, 11:34, Liao, Bard wrote: > > > > -----Original Message----- > > From: Vinod Koul <vk...@kernel.org> > > Sent: Monday, May 11, 2020 5:00 PM > > To: Liao, Bard <bard.l...@intel.com> > > Cc: Bard Liao <yung-chuan.l...@linux.intel.com>; > > alsa-de...@alsa-project.org; > > linux-kernel@vger.kernel.org; ti...@suse.de; broo...@kernel.org; > > gre...@linuxfoundation.org; j...@cadence.com; > > srinivas.kandaga...@linaro.org; rander.w...@linux.intel.com; > > ranjani.sridha...@linux.intel.com; hui.w...@canonical.com; pierre- > > louis.boss...@linux.intel.com; Kale, Sanyog R <sanyog.r.k...@intel.com>; > > Blauciak, Slawomir <slawomir.blauc...@intel.com>; Lin, Mengdong > > <mengdong....@intel.com> > > Subject: Re: [PATCH 3/3] soundwire: bus_type: add sdw_master_device support > > > > On 11-05-20, 08:04, Liao, Bard wrote: > > > > -----Original Message----- > > > > From: Vinod Koul <vk...@kernel.org> > > > > Sent: Monday, May 11, 2020 2:32 PM > > > > To: Bard Liao <yung-chuan.l...@linux.intel.com> > > > > Cc: alsa-de...@alsa-project.org; linux-kernel@vger.kernel.org; > > > > ti...@suse.de; broo...@kernel.org; gre...@linuxfoundation.org; > > > > j...@cadence.com; srinivas.kandaga...@linaro.org; > > > > rander.w...@linux.intel.com; ranjani.sridha...@linux.intel.com; > > > > hui.w...@canonical.com; pierre- louis.boss...@linux.intel.com; Kale, > > > > Sanyog R <sanyog.r.k...@intel.com>; Blauciak, Slawomir > > > > <slawomir.blauc...@intel.com>; Lin, Mengdong > > > > <mengdong....@intel.com>; Liao, Bard <bard.l...@intel.com> > > > > Subject: Re: [PATCH 3/3] soundwire: bus_type: add sdw_master_device > > > > support > > > > > > > > On 30-04-20, 02:51, Bard Liao wrote: > > > > > @@ -24,9 +24,14 @@ int sdw_bus_master_add(struct sdw_bus *bus, > > > > > struct > > > > device *parent, > > > > > struct sdw_master_prop *prop = NULL; > > > > > int ret; > > > > > > > > > > - if (!bus->dev) { > > > > > - pr_err("SoundWire bus has no device\n"); > > > > > - return -ENODEV; > > > > > > > > This check is removed and not moved into sdw_master_device_add() > > > > either, can you add here or in patch 1 and keep checking the parent > > > > device please > > > > > > We will set bus->dev = &md->dev in the end of sdw_master_device_add(). > > > > We need to test if this is valid or not :) > > > > > That's why we remove the test. But now I am wandering does it make > > > sense to set bus->dev = &md->dev? Maybe it makes more sense to set > > > bus->dev = sdw control device. > > > A follow up question is that should slave device a child of bus device > > > or master device? I would prefer bus device if it makes sense. > > > I will check bus->dev and parent and remove bus->dev = &md->dev in the > > > next version. > > > > the parent is bus->dev and sdw_master_device created would be child of this > > and should be set as such. You can remove it from bus object and keep in > > sdw_master_device object, that is fine by me. > > Looks like we don't need the parent and fwnode parameter since we can > get them from bus->dev 😊
Quite right > > The sdw_slave is child of sdw_master_device now and looks to be set correct. > > So, it will be > bus device > -> master device > -> slave device > right? yes > > I have a question here. We have pm supported on bus and slave devices, > but not master device. Will pm work with this architecture? > Can it be > bus device > -> master device & slave device? yes it would and you should check it out. The pm (runtime_pm) works well with child devices and parents, so we need to ensure that parents are set properly. Thanks -- ~Vinod