32 lines
885 B
C
32 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 */
|