13a379bbcSBoris Brezillon /* SPDX-License-Identifier: GPL-2.0 */ 23a379bbcSBoris Brezillon /* 33a379bbcSBoris Brezillon * Copyright (C) 2018 Cadence Design Systems Inc. 43a379bbcSBoris Brezillon * 53a379bbcSBoris Brezillon * Author: Boris Brezillon <boris.brezillon@bootlin.com> 63a379bbcSBoris Brezillon */ 73a379bbcSBoris Brezillon 83a379bbcSBoris Brezillon #ifndef I3C_INTERNALS_H 93a379bbcSBoris Brezillon #define I3C_INTERNALS_H 103a379bbcSBoris Brezillon 113a379bbcSBoris Brezillon #include <linux/i3c/master.h> 123a379bbcSBoris Brezillon 133a379bbcSBoris Brezillon extern struct bus_type i3c_bus_type; 143a379bbcSBoris Brezillon 153a379bbcSBoris Brezillon void i3c_bus_normaluse_lock(struct i3c_bus *bus); 163a379bbcSBoris Brezillon void i3c_bus_normaluse_unlock(struct i3c_bus *bus); 173a379bbcSBoris Brezillon 183a379bbcSBoris Brezillon int i3c_dev_do_priv_xfers_locked(struct i3c_dev_desc *dev, 193a379bbcSBoris Brezillon struct i3c_priv_xfer *xfers, 203a379bbcSBoris Brezillon int nxfers); 213a379bbcSBoris Brezillon int i3c_dev_disable_ibi_locked(struct i3c_dev_desc *dev); 223a379bbcSBoris Brezillon int i3c_dev_enable_ibi_locked(struct i3c_dev_desc *dev); 233a379bbcSBoris Brezillon int i3c_dev_request_ibi_locked(struct i3c_dev_desc *dev, 243a379bbcSBoris Brezillon const struct i3c_ibi_setup *req); 253a379bbcSBoris Brezillon void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev); 263a379bbcSBoris Brezillon #endif /* I3C_INTERNAL_H */ 27