From 7168bff2cfd710293bda52eab4036582c89e07fc Mon Sep 17 00:00:00 2001 From: Wolfram Sang Date: Wed, 3 Apr 2019 14:40:11 +0200 Subject: i2c: mux: populate the new *_atomic callbacks If the parent adapter has atomic_xfer callbacks, populate them for the mux adapter as well. We can use the same translation function as for the non-atomic xfer callback. Signed-off-by: Wolfram Sang Reviewed-by: Peter Rosin Reviewed-by Andy Shevchenko Signed-off-by: Wolfram Sang --- drivers/i2c/i2c-mux.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/i2c/i2c-mux.c') diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index f330690b4125..603252fa1284 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -310,12 +310,18 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc, else priv->algo.master_xfer = __i2c_mux_master_xfer; } + if (parent->algo->master_xfer_atomic) + priv->algo.master_xfer_atomic = priv->algo.master_xfer; + if (parent->algo->smbus_xfer) { if (muxc->mux_locked) priv->algo.smbus_xfer = i2c_mux_smbus_xfer; else priv->algo.smbus_xfer = __i2c_mux_smbus_xfer; } + if (parent->algo->smbus_xfer_atomic) + priv->algo.smbus_xfer_atomic = priv->algo.smbus_xfer; + priv->algo.functionality = i2c_mux_functionality; /* Now fill out new adapter structure */ -- cgit v1.2.3