1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2018 Cadence Design Systems Inc. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Author: Boris Brezillon <boris.brezillon@bootlin.com> 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef I3C_INTERNALS_H 9*4882a593Smuzhiyun #define I3C_INTERNALS_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <linux/i3c/master.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun extern struct bus_type i3c_bus_type; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun void i3c_bus_normaluse_lock(struct i3c_bus *bus); 16*4882a593Smuzhiyun void i3c_bus_normaluse_unlock(struct i3c_bus *bus); 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun int i3c_dev_do_priv_xfers_locked(struct i3c_dev_desc *dev, 19*4882a593Smuzhiyun struct i3c_priv_xfer *xfers, 20*4882a593Smuzhiyun int nxfers); 21*4882a593Smuzhiyun int i3c_dev_disable_ibi_locked(struct i3c_dev_desc *dev); 22*4882a593Smuzhiyun int i3c_dev_enable_ibi_locked(struct i3c_dev_desc *dev); 23*4882a593Smuzhiyun int i3c_dev_request_ibi_locked(struct i3c_dev_desc *dev, 24*4882a593Smuzhiyun const struct i3c_ibi_setup *req); 25*4882a593Smuzhiyun void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev); 26*4882a593Smuzhiyun #endif /* I3C_INTERNAL_H */ 27