i2c: mux: Avoid potential false error message in i2c_mux_add_adapter
authorHeiner Kallweit <hkallweit1@gmail.com>
Sat, 23 Sep 2023 21:54:06 +0000 (23:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:09 +0000 (12:03 +0200)
[ Upstream commit b13e59e74ff71a1004e0508107e91e9a84fd7388 ]

I2C_CLASS_DEPRECATED is a flag and not an actual class.
There's nothing speaking against both, parent and child, having
I2C_CLASS_DEPRECATED set. Therefore exclude it from the check.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Acked-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/i2c-mux.c

index 313904be5f3bde25990ffb631c248e60aa94bb09..57ff09f18c371dd28cdbe989d144f546e24ec8a3 100644 (file)
@@ -341,7 +341,7 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc,
                priv->adap.lock_ops = &i2c_parent_lock_ops;
 
        /* Sanity check on class */
-       if (i2c_mux_parent_classes(parent) & class)
+       if (i2c_mux_parent_classes(parent) & class & ~I2C_CLASS_DEPRECATED)
                dev_err(&parent->dev,
                        "Segment %d behind mux can't share classes with ancestors\n",
                        chan_id);