Re: [alsa-devel] [RFC PATCH 1/7] soundwire: Add sysfs support for master(s)

From: Vinod Koul
Date: Wed May 08 2019 - 03:47:10 EST


On 07-05-19, 17:49, Pierre-Louis Bossart wrote:
>
> > > The model here is that Master device is PCI or Platform device and then
> > > creates a bus instance which has soundwire slave devices.
> > >
> > > So for any attribute on Master device (which has properties as well and
> > > representation in sysfs), device specfic struct (PCI/platfrom doesn't
> > > help). For slave that is not a problem as sdw_slave structure takes care
> > > if that.
> > >
> > > So, the solution was to create the psedo sdw_master device for the
> > > representation and have device-specific structure.
> >
> > Ok, much like the "USB host controller" type device. That's fine, make
> > such a device, add it to your bus, and set the type correctly. And keep
> > a pointer to that structure in your device-specific structure if you
> > really need to get to anything in it.
>
> humm, you lost me on the last sentence. Did you mean using
> set_drv/platform_data during the init and retrieving the bus information
> with get_drv/platform_data as needed later? Or something else I badly need
> to learn?

IIUC Greg meant we should represent a soundwire master device type and
use that here. Just like we have soundwire slave device type. Something
like:

struct sdw_master {
struct device dev;
struct sdw_master_prop *prop;
...
};

In show function you get master from dev (container of) and then use
that to access the master properties. So int.sdw.0 can be of this type.

Thanks
--
~Vinod