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