162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2018 Cadence Design Systems Inc. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Author: Boris Brezillon <boris.brezillon@bootlin.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef I3C_INTERNALS_H 962306a36Sopenharmony_ci#define I3C_INTERNALS_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/i3c/master.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciextern struct bus_type i3c_bus_type; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_civoid i3c_bus_normaluse_lock(struct i3c_bus *bus); 1662306a36Sopenharmony_civoid i3c_bus_normaluse_unlock(struct i3c_bus *bus); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciint i3c_dev_setdasa_locked(struct i3c_dev_desc *dev); 1962306a36Sopenharmony_ciint i3c_dev_do_priv_xfers_locked(struct i3c_dev_desc *dev, 2062306a36Sopenharmony_ci struct i3c_priv_xfer *xfers, 2162306a36Sopenharmony_ci int nxfers); 2262306a36Sopenharmony_ciint i3c_dev_disable_ibi_locked(struct i3c_dev_desc *dev); 2362306a36Sopenharmony_ciint i3c_dev_enable_ibi_locked(struct i3c_dev_desc *dev); 2462306a36Sopenharmony_ciint i3c_dev_request_ibi_locked(struct i3c_dev_desc *dev, 2562306a36Sopenharmony_ci const struct i3c_ibi_setup *req); 2662306a36Sopenharmony_civoid i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev); 2762306a36Sopenharmony_ci#endif /* I3C_INTERNAL_H */ 28