Commit a39bd92e authored by Vadim Pasternak's avatar Vadim Pasternak Committed by Wolfram Sang
Browse files

i2c: mux: mlxcpld: Add callback to notify mux creation completion



Add notification to inform caller that mux objects array has been
created. It allows to user, invoked platform device registration for
"i2c-mux-mlxcpld" driver, to be notified that mux infrastructure is
available, and thus some devices could be connected to this
infrastructure.

Signed-off-by: default avatarVadim Pasternak <vadimp@nvidia.com>
Acked-by: default avatarPeter Rosin <peda@axentia.se>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 699c0506
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -159,6 +159,10 @@ static int mlxcpld_mux_probe(struct platform_device *pdev)
			goto virt_reg_failed;
	}

	/* Notify caller when all channels' adapters are created. */
	if (pdata->completion_notify)
		pdata->completion_notify(pdata->handle, muxc->parent, muxc->adapter);

	return 0;

virt_reg_failed:
+5 −0
Original line number Diff line number Diff line
@@ -15,12 +15,17 @@
 * @num_adaps - number of adapters
 * @sel_reg_addr - mux select register offset in CPLD space
 * @reg_size: register size in bytes
 * @handle: handle to be passed by callback
 * @completion_notify: callback to notify when all the adapters are created
 */
struct mlxcpld_mux_plat_data {
	int *chan_ids;
	int num_adaps;
	int sel_reg_addr;
	u8 reg_size;
	void *handle;
	int (*completion_notify)(void *handle, struct i2c_adapter *parent,
				 struct i2c_adapter *adapters[]);
};

#endif /* _LINUX_I2C_MLXCPLD_H */