1/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2/*
3 * Mellanox I2C multiplexer support in CPLD
4 *
5 * Copyright (C) 2016-2020 Mellanox Technologies
6 */
7
8#ifndef _LINUX_I2C_MLXCPLD_H
9#define _LINUX_I2C_MLXCPLD_H
10
11/* Platform data for the CPLD I2C multiplexers */
12
13/* mlxcpld_mux_plat_data - per mux data, used with i2c_register_board_info
14 * @chan_ids - channels array
15 * @num_adaps - number of adapters
16 * @sel_reg_addr - mux select register offset in CPLD space
17 * @reg_size: register size in bytes
18 * @handle: handle to be passed by callback
19 * @completion_notify: callback to notify when all the adapters are created
20 */
21struct mlxcpld_mux_plat_data {
22 int *chan_ids;
23 int num_adaps;
24 int sel_reg_addr;
25 u8 reg_size;
26 void *handle;
27 int (*completion_notify)(void *handle, struct i2c_adapter *parent,
28 struct i2c_adapter *adapters[]);
29};
30
31#endif /* _LINUX_I2C_MLXCPLD_H */
32

source code of linux/include/linux/platform_data/mlxcpld.h