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

Commit 40839590 authored by Peter Rosin's avatar Peter Rosin
Browse files

i2c: mux: inform the i2c mux core about how it is used



The i2c mux core can then take appropriate action depending on if it is
used for an actual i2c mux, for a gate or for an arbitrator (the last
is the case for these drivers). This adds support for the new clearer
and more compact devicetree bindings that was added recently.

Reviewed-by: default avatarWolfram Sang <wsa@the-dreams.de>
Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
parent b2d57b56
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ static int i2c_arbitrator_probe(struct platform_device *pdev)
		return -EINVAL;
	}

	muxc = i2c_mux_alloc(NULL, dev, 1, sizeof(*arb), 0,
	muxc = i2c_mux_alloc(NULL, dev, 1, sizeof(*arb), I2C_MUX_ARBITRATOR,
			     i2c_arbitrator_select, i2c_arbitrator_deselect);
	if (!muxc)
		return -ENOMEM;
+2 −1
Original line number Diff line number Diff line
@@ -349,7 +349,8 @@ static int pca9541_probe(struct i2c_client *client,
	force = 0;
	if (pdata)
		force = pdata->modes[0].adap_id;
	muxc = i2c_mux_alloc(adap, &client->dev, 1, sizeof(*data), 0,
	muxc = i2c_mux_alloc(adap, &client->dev, 1, sizeof(*data),
			     I2C_MUX_ARBITRATOR,
			     pca9541_select_chan, pca9541_release_chan);
	if (!muxc)
		return -ENOMEM;