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?
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
drivers/soundwire/bus_type.c | 16 ++++++++++++---- drivers/soundwire/slave.c | 7 ++++++- include/linux/soundwire/sdw_type.h | 6 ++++++ 3 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c index 9a0fd3ee1014..bbdedce5eb26 100644 --- a/drivers/soundwire/bus_type.c +++ b/drivers/soundwire/bus_type.c @@ -49,13 +49,21 @@ int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size)
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...
thanks,
greg k-h