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?
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...