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.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel