Re: [alsa-devel] [PATCH 06/14] soundwire: add support for sdw_slave_type

From: Pierre-Louis Bossart
Date: Mon Nov 04 2019 - 17:22:34 EST




@@ -49,9 +49,16 @@ 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];
+ÂÂÂ if (is_sdw_slave(dev)) {
+ÂÂÂÂÂÂÂ slave = to_sdw_slave_device(dev);
+ÂÂÂ } else {
+ÂÂÂÂÂÂÂ dev_warn(dev, "uevent for unknown Soundwire type\n");
+ÂÂÂÂÂÂÂ return -EINVAL;
+ÂÂÂ }
+
ÂÂÂÂÂ sdw_slave_modalias(slave, modalias, sizeof(modalias));
ÂÂÂÂÂ if (add_uevent_var(env, "MODALIAS=%s", modalias))

Positive evaluation of is_sdw_slave() check is required for function to continue, thus you might as well do:

if (!is_sdw_slave(dev)) {
ÂÂÂÂdev_warn();
ÂÂÂÂreturn -EINVAL;
}

slave = to_sdw_slave_device(dev);

see the following patch 7, it becomes a 2-case test (slave and master).
I am all for optimizations but wait until the actual changes are added...