Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad092de6 authored by Alex Hemme's avatar Alex Hemme Committed by Wolfram Sang
Browse files

i2c: i2c-mux-pca954x: fix deselect enabling for device-tree



Deselect functionality can be ignored for device-trees with
"i2c-mux-idle-disconnect" entries if no platform_data is available.
By enabling the deselect functionality outside the platform_data
block the logic works as it did in previous kernels.

Fixes: 7fcac980 ("i2c: i2c-mux-pca954x: convert to use an explicit i2c mux core")
Cc: <stable@vger.kernel.org> # v4.7+
Signed-off-by: default avatarAlex Hemme <ahemme@cisco.com>
Signed-off-by: default avatarZiyang Wu <ziywu@cisco.com>
[touched up a few minor issues /peda]
Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 68d85d0e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -268,9 +268,9 @@ static int pca954x_probe(struct i2c_client *client,
				/* discard unconfigured channels */
				break;
			idle_disconnect_pd = pdata->modes[num].deselect_on_exit;
			data->deselect |= (idle_disconnect_pd
					   || idle_disconnect_dt) << num;
		}
		data->deselect |= (idle_disconnect_pd ||
				   idle_disconnect_dt) << num;

		ret = i2c_mux_add_adapter(muxc, force, num, class);