i2c_ctrl_t
i2c_ctrl_t *ctrl;
i2c_ctrl_t *ctrl;
i2c_ctrl_t *icl_ctrl;
i2c_ctrl_t *ctrl;
extern bool i2c_ctrl_init(i2c_hdl_t *, di_node_t, i2c_ctrl_t **);
extern bool i2c_ctrl_init_by_path(i2c_hdl_t *, const char *, i2c_ctrl_t **);
extern void i2c_ctrl_fini(i2c_ctrl_t *);
extern i2c_hdl_t *i2c_ctrl_hdl(i2c_ctrl_t *);
extern const char *i2c_ctrl_name(i2c_ctrl_t *);
extern const char *i2c_ctrl_path(i2c_ctrl_t *);
extern int32_t i2c_ctrl_instance(i2c_ctrl_t *);
extern uint32_t i2c_ctrl_nprops(i2c_ctrl_t *);
extern bool i2c_prop_info(i2c_ctrl_t *, i2c_prop_t, i2c_prop_info_t **);
extern bool i2c_prop_info_by_name(i2c_ctrl_t *, const char *,
extern bool i2c_prop_get(i2c_ctrl_t *, i2c_prop_t, void *, size_t *);
extern bool i2c_prop_set(i2c_ctrl_t *, i2c_prop_t, const void *, size_t);
i2c_ctrl_fini(i2c_ctrl_t *ctrl)
i2c_ctrl_init(i2c_hdl_t *hdl, di_node_t di, i2c_ctrl_t **ctrlp)
i2c_ctrl_t *ctrl;
ctrl = calloc(1, sizeof (i2c_ctrl_t));
i2c_ctrl_init_by_path(i2c_hdl_t *hdl, const char *name, i2c_ctrl_t **ctrlp)
i2c_ctrl_name(i2c_ctrl_t *ctrl)
i2c_ctrl_instance(i2c_ctrl_t *ctrl)
i2c_ctrl_path(i2c_ctrl_t *ctrl)
i2c_ctrl_nprops(i2c_ctrl_t *ctrl)
i2c_prop_info(i2c_ctrl_t *ctrl, i2c_prop_t prop, i2c_prop_info_t **infop)
i2c_prop_info_by_name(i2c_ctrl_t *ctrl, const char *name,
i2c_prop_get(i2c_ctrl_t *ctrl, i2c_prop_t id, void *buf, size_t *lenp)
i2c_prop_set(i2c_ctrl_t *ctrl, i2c_prop_t id, const void *buf, size_t len)
i2c_ctrl_t *ctrl;
i2c_ctrl_t *cc_i2c;
i2c_ctrl_t *cc_smbus;
disc_ctrl_path(i2c_hdl_t *hdl, i2c_ctrl_t *ctrl, const char *path)
i2c_ctrl_t *alt;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_nex_detach_ctrl(i2c_ctrl_t *ctrl)
i2c_nex_attach_ctrl(i2c_ctrl_t *ctrl)
i2c_ctrl_t *ctrl = nex->in_ctrl;
list_create(&root->ir_ctrls, sizeof (i2c_ctrl_t),
offsetof(i2c_ctrl_t, ic_link));
const char *name, const char *addr, i2c_ctrl_t *ctrl)
i2c_port_init(i2c_ctrl_t *ctrl, dev_info_t *pdip, i2c_nexus_t *pnex,
i2c_ctrl_t *in_ctrl;
i2c_ctrl_t *txn_ctrl;
i2c_ctrl_t *icli_ctrl;
i2c_nexus_t *, const char *, const char *, i2c_ctrl_t *);
extern i2c_txn_t *i2c_txn_alloc(i2c_ctrl_t *, i2c_txn_tag_t, const void *);
extern bool i2c_ctrl_io_smbus(i2c_txn_t *, i2c_ctrl_t *, i2c_port_t *,
extern bool i2c_ctrl_io_i2c(i2c_txn_t *, i2c_ctrl_t *, i2c_port_t *,
extern bool i2c_mux_update(i2c_txn_t *, i2c_ctrl_t *, i2c_port_t *,
extern void i2c_mux_remove_port(i2c_txn_t *, i2c_ctrl_t *, i2c_port_t *);
extern bool i2c_prop_info(i2c_ctrl_t *, ui2c_prop_info_t *);
extern bool i2c_prop_get(i2c_ctrl_t *, i2c_prop_t, void *, uint32_t *,
extern bool i2c_prop_set(i2c_txn_t *, i2c_ctrl_t *, i2c_prop_t, const void *,
i2c_client_bus_lock(i2c_ctrl_t *ctrl, i2c_txn_tag_t tag, const void *arg,
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = client->icli_ctrl;
i2c_ctrl_t *ctrl = client->icli_ctrl;
i2c_ctrl_t *ctrl = client->icli_ctrl;
for (i2c_ctrl_t *ctrl = list_head(&root->ir_ctrls); ctrl != NULL;
i2c_ctrl_cleanup(i2c_ctrl_t *ctrl)
kmem_free(ctrl, sizeof (i2c_ctrl_t));
i2c_ctrl_t *ctrl;
ctrl = (i2c_ctrl_t *)hdl;
i2c_ctrl_init_limits(i2c_ctrl_t *ctrl)
i2c_ctrl_t *ctrl;
ctrl = kmem_zalloc(sizeof (i2c_ctrl_t), KM_SLEEP);
for (i2c_ctrl_t *c = list_head(&root->ir_ctrls); c != NULL;
i2c_ctrl_io_i2c_xlate_wo(i2c_ctrl_t *ctrl, const i2c_req_t *req,
i2c_ctrl_io_i2c_xlate_rw(i2c_ctrl_t *ctrl, const i2c_req_t *req,
i2c_ctrl_io_i2c_xlate(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port,
i2c_ctrl_io_i2c(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port,
i2c_ctrl_io_smbus_xlate(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port,
for (i2c_ctrl_t *ctrl = list_head(&root->ir_ctrls); ctrl != NULL;
i2c_ctrl_io_smbus(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port,
i2c_ctrl_t *ctrl = port->ip_nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = arg;
i2c_mux_deselect(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *targ,
i2c_mux_update(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port,
i2c_mux_remove_port(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_port_t *port)
i2c_ctrl_t *ctrl = mux->im_nex->in_ctrl;
i2c_prop_info(i2c_ctrl_t *ctrl, ui2c_prop_info_t *info)
i2c_prop_get(i2c_ctrl_t *ctrl, i2c_prop_t prop, void *buf,
i2c_prop_set(i2c_txn_t *txn, i2c_ctrl_t *ctrl, i2c_prop_t prop, const void *buf,
i2c_txn_lock_signal(i2c_ctrl_t *ctrl, i2c_txn_t *txn)
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_txn_alloc(i2c_ctrl_t *ctrl, i2c_txn_tag_t tag, const void *debug)
i2c_ctrl_t *ctrl = txn->txn_ctrl;
i2c_txn_lock_wakeup(i2c_ctrl_t *ctrl)
i2c_ctrl_t *ctrl = user->iu_nexus->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;
i2c_ctrl_t *ctrl = nex->in_ctrl;