Messages in this thread | | | Subject | Re: [alsa-devel] [PATCH v4 06/15] soundwire: add support for sdw_slave_type | From | Pierre-Louis Bossart <> | Date | Fri, 13 Dec 2019 09:05:37 -0600 |
| |
On 12/13/19 1:21 AM, Greg KH wrote: > On Thu, Dec 12, 2019 at 11:04:00PM -0600, Pierre-Louis Bossart wrote: >> Currently the bus does not have any explicit support for master >> devices. >> >> First add explicit support for sdw_slave_type and error checks if this type >> is not set. >> >> In follow-up patches we can add support for the sdw_md_type (md==Master >> Device), following the Grey Bus example. > > How are you using greybus as an example of "master devices"? All you > are doing here is setting the type of the existing devices, right?
I took your advice to look at GreyBus and used the 'gb host device' as the model to implement the 'sdw master' add/startup/remove interfaces we needed.
so yes in this patch we just add a type for the slave, the interesting part is in the next patches. >> static int sdw_uevent(struct device *dev, struct kobj_uevent_env *env) >> { >> - struct sdw_slave *slave = to_sdw_slave_device(dev); >> + struct sdw_slave *slave; >> char modalias[32]; >> >> - sdw_slave_modalias(slave, modalias, sizeof(modalias)); >> + if (is_sdw_slave(dev)) { >> + slave = to_sdw_slave_device(dev); >> + >> + sdw_slave_modalias(slave, modalias, sizeof(modalias)); >> >> - if (add_uevent_var(env, "MODALIAS=%s", modalias)) >> - return -ENOMEM; >> + if (add_uevent_var(env, "MODALIAS=%s", modalias)) >> + return -ENOMEM; >> + } else { >> + /* only Slave device type supported */ >> + dev_warn(dev, "uevent for unknown Soundwire type\n"); >> + return -EINVAL; > > Right now, this can not happen, right? > > Not a problem, just trying to understand the sequence of patches here...
yes this cannot happen at this point, it's more of a paranoid test. In theory a SoundWire solution could enable a 'monitor' device as defined in the standard.
| |