i2c: demux: handle the new atomic callbacks
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 3 Apr 2019 12:40:12 +0000 (14:40 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 16 Apr 2019 11:08:13 +0000 (13:08 +0200)
If the parent has an atomic callback, we need to translate it the same
way as the non-atomic callback.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/muxes/i2c-demux-pinctrl.c

index 035032e203276e96b27dd57770f47af98ee5146f..d50454c565ee4066f15eb4e8161fb5095a0b7785 100644 (file)
@@ -99,6 +99,8 @@ static int i2c_demux_activate_master(struct i2c_demux_pinctrl_priv *priv, u32 ne
 
        /* Now fill out current adapter structure. cur_chan must be up to date */
        priv->algo.master_xfer = i2c_demux_master_xfer;
+       if (adap->algo->master_xfer_atomic)
+               priv->algo.master_xfer_atomic = i2c_demux_master_xfer;
        priv->algo.functionality = i2c_demux_functionality;
 
        snprintf(priv->cur_adap.name, sizeof(priv->cur_adap.name),