forked from mirrors/linux
		
	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>
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
 | 
						|
/*
 | 
						|
 * Mellanox I2C multiplexer support in CPLD
 | 
						|
 *
 | 
						|
 * Copyright (C) 2016-2020 Mellanox Technologies
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _LINUX_I2C_MLXCPLD_H
 | 
						|
#define _LINUX_I2C_MLXCPLD_H
 | 
						|
 | 
						|
/* Platform data for the CPLD I2C multiplexers */
 | 
						|
 | 
						|
/* mlxcpld_mux_plat_data - per mux data, used with i2c_register_board_info
 | 
						|
 * @chan_ids - channels array
 | 
						|
 * @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 */
 |