HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/src/linux-headers-5.15.0-89/include/linux/platform_data/mlxcpld.h
/* 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 */