1*d5d8dfb0SEddie James /* SPDX-License-Identifier: GPL-2.0-only */ 2*d5d8dfb0SEddie James /* Copyright (C) IBM Corporation 2023 */ 3*d5d8dfb0SEddie James 4*d5d8dfb0SEddie James #ifndef DRIVERS_FSI_SLAVE_H 5*d5d8dfb0SEddie James #define DRIVERS_FSI_SLAVE_H 6*d5d8dfb0SEddie James 7*d5d8dfb0SEddie James #include <linux/cdev.h> 8*d5d8dfb0SEddie James #include <linux/device.h> 9*d5d8dfb0SEddie James 10*d5d8dfb0SEddie James struct fsi_master; 11*d5d8dfb0SEddie James 12*d5d8dfb0SEddie James struct fsi_slave { 13*d5d8dfb0SEddie James struct device dev; 14*d5d8dfb0SEddie James struct fsi_master *master; 15*d5d8dfb0SEddie James struct cdev cdev; 16*d5d8dfb0SEddie James int cdev_idx; 17*d5d8dfb0SEddie James int id; /* FSI address */ 18*d5d8dfb0SEddie James int link; /* FSI link# */ 19*d5d8dfb0SEddie James u32 cfam_id; 20*d5d8dfb0SEddie James int chip_id; 21*d5d8dfb0SEddie James uint32_t size; /* size of slave address space */ 22*d5d8dfb0SEddie James u8 t_send_delay; 23*d5d8dfb0SEddie James u8 t_echo_delay; 24*d5d8dfb0SEddie James }; 25*d5d8dfb0SEddie James 26*d5d8dfb0SEddie James #define to_fsi_slave(d) container_of(d, struct fsi_slave, dev) 27*d5d8dfb0SEddie James 28*d5d8dfb0SEddie James #endif /* DRIVERS_FSI_SLAVE_H */ 29