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: Vadim Pasternak <vadimp@nvidia.com> Acked-by: Peter Rosin <peda@axentia.se> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
parent
699c050654
commit
a39bd92e92
|
@ -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:
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue