i2c_hdl_t
i2c_hdl_t *hdl = i2cadm.i2c_hdl;
i2c_hdl_t *i2c_hdl;
i2cadm_scan_one(i2c_hdl_t *hdl, i2c_port_t *port, i2cadm_scan_t *scan)
i2cadm_scan_error(i2c_hdl_t *hdl, i2cadm_scan_t *scan)
i2c_addr_validate(i2c_hdl_t *hdl, const i2c_addr_t *addr)
i2c_name_validate(i2c_hdl_t *hdl, const char *name, const char *desc)
i2c_node_to_path(i2c_hdl_t *hdl, di_node_t dn, char *buf, size_t buflen)
i2c_fini(i2c_hdl_t *hdl)
i2c_hdl_t *
i2c_kernel_address_parse(i2c_hdl_t *hdl, const char *str, i2c_addr_t *addr)
i2c_hdl_t *hdl;
hdl = calloc(1, sizeof (i2c_hdl_t));
i2c_addr_parse(i2c_hdl_t *hdl, const char *buf, i2c_addr_t *addr)
i2c_addr_to_string(i2c_hdl_t *hdl, const i2c_addr_t *addr, char *buf,
i2c_reg_to_addr(i2c_hdl_t *hdl, di_node_t dn, i2c_addr_t *addr, uint32_t n)
i2c_path_find_device(i2c_hdl_t *hdl, di_node_t port, const char *name)
i2c_path_parse(i2c_hdl_t *hdl, const char *path, di_node_t root, di_node_t *dnp,
extern i2c_hdl_t *i2c_init(void);
extern void i2c_fini(i2c_hdl_t *);
extern i2c_err_t i2c_err(i2c_hdl_t *);
extern i2c_ctrl_error_t i2c_ctrl_err(i2c_hdl_t *);
extern int32_t i2c_syserr(i2c_hdl_t *);
extern const char *i2c_errmsg(i2c_hdl_t *);
extern const char *i2c_errtostr(i2c_hdl_t *, i2c_err_t);
extern const char *i2c_ctrl_errtostr(i2c_hdl_t *, i2c_ctrl_error_t);
extern bool i2c_ctrl_discover_init(i2c_hdl_t *, i2c_ctrl_iter_t **);
typedef bool (*i2c_ctrl_disc_f)(i2c_hdl_t *, const i2c_ctrl_disc_t *, void *);
extern bool i2c_ctrl_discover(i2c_hdl_t *, i2c_ctrl_disc_f, void *);
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 i2c_hdl_t *i2c_ctrl_hdl(i2c_ctrl_t *);
extern bool i2c_port_discover_init(i2c_hdl_t *, i2c_port_iter_t **);
typedef bool (*i2c_port_disc_f)(i2c_hdl_t *, const i2c_port_disc_t *, void *);
extern bool i2c_port_discover(i2c_hdl_t *, i2c_port_disc_f, void *);
extern bool i2c_port_init(i2c_hdl_t *, di_node_t, i2c_port_t **);
extern bool i2c_port_init_by_path(i2c_hdl_t *, const char *, i2c_port_t **);
extern bool i2c_device_discover_init(i2c_hdl_t *, i2c_dev_iter_t **);
typedef bool (*i2c_dev_disc_f)(i2c_hdl_t *, const i2c_dev_disc_t *, void *);
extern bool i2c_device_discover(i2c_hdl_t *, i2c_dev_disc_f, void *);
extern bool i2c_device_info_snap(i2c_hdl_t *, di_node_t, i2c_dev_info_t **);
extern bool i2c_mux_discover_init(i2c_hdl_t *, i2c_mux_iter_t **);
typedef bool (*i2c_mux_disc_f)(i2c_hdl_t *, const i2c_mux_disc_t *, void *);
extern bool i2c_mux_discover(i2c_hdl_t *, i2c_mux_disc_f, void *);
extern bool i2c_port_dev_init_by_path(i2c_hdl_t *, const char *, bool,
extern bool i2c_addr_parse(i2c_hdl_t *, const char *, i2c_addr_t *);
extern bool i2c_addr_to_string(i2c_hdl_t *, const i2c_addr_t *, char *, size_t);
i2c_ctrl_discover(i2c_hdl_t *hdl, i2c_ctrl_disc_f func, void *arg)
i2c_ctrl_init(i2c_hdl_t *hdl, di_node_t di, i2c_ctrl_t **ctrlp)
i2c_ctrl_init_by_path(i2c_hdl_t *hdl, const char *name, i2c_ctrl_t **ctrlp)
i2c_hdl_t *hdl = info->pinfo_hdl;
i2c_hdl_t *hdl = ctrl->ctrl_hdl;
i2c_hdl_t *hdl = ctrl->ctrl_hdl;
i2c_hdl_t *hdl = ctrl->ctrl_hdl;
i2c_hdl_t *hdl = ctrl->ctrl_hdl;
i2c_ctrl_discover_init(i2c_hdl_t *hdl, i2c_ctrl_iter_t **iterp)
i2c_hdl_t *hdl = req->add_port->port_hdl;
i2c_hdl_t *hdl = req->add_port->port_hdl;
i2c_hdl_t *hdl = req->add_port->port_hdl;
i2c_hdl_t *hdl = port->port_hdl;
i2c_device_discover_port(i2c_hdl_t *hdl, dev_port_info_t *dpi)
i2c_hdl_t *hdl = port->port_hdl;
i2c_device_discover_init(i2c_hdl_t *hdl, i2c_dev_iter_t **iterp)
i2c_device_discover(i2c_hdl_t *hdl, i2c_dev_disc_f func, void *arg)
i2c_device_info_snap(i2c_hdl_t *hdl, di_node_t dn, i2c_dev_info_t **infop)
i2c_hdl_t *hdl = req->add_port->port_hdl;
i2c_port_dev_init_by_path(i2c_hdl_t *hdl, const char *path, bool nodev_ok,
i2c_errtostr(i2c_hdl_t *hdl, i2c_err_t err)
i2c_ctrl_errtostr(i2c_hdl_t *hdl, i2c_ctrl_error_t err)
i2c_ioctl_syserror(i2c_hdl_t *hdl, int err, const char *desc)
i2c_ioctl_error(i2c_hdl_t *hdl, const i2c_error_t *ioc, const char *desc)
i2c_nvlist_error(i2c_hdl_t *hdl, int ret, const char *desc)
i2c_error(i2c_hdl_t *hdl, i2c_err_t err, int32_t sys, const char *fmt, ...)
i2c_success(i2c_hdl_t *hdl)
i2c_err(i2c_hdl_t *hdl)
i2c_ctrl_err(i2c_hdl_t *hdl)
i2c_syserr(i2c_hdl_t *hdl)
i2c_errmsg(i2c_hdl_t *hdl)
i2c_hdl_t *pm_hdl;
i2c_hdl_t *di_hdl;
i2c_hdl_t *pinfo_hdl;
i2c_hdl_t *mi_hdl;
extern bool i2c_error(i2c_hdl_t *, i2c_err_t, int32_t, const char *, ...)
extern bool i2c_success(i2c_hdl_t *);
extern bool i2c_ioctl_syserror(i2c_hdl_t *, int, const char *);
extern bool i2c_ioctl_error(i2c_hdl_t *, const i2c_error_t *, const char *);
extern bool i2c_nvlist_error(i2c_hdl_t *, int, const char *);
extern bool i2c_addr_validate(i2c_hdl_t *, const i2c_addr_t *);
extern bool i2c_name_validate(i2c_hdl_t *, const char *, const char *);
extern bool i2c_node_to_path(i2c_hdl_t *, di_node_t, char *, size_t);
extern bool i2c_kernel_address_parse(i2c_hdl_t *, const char *, i2c_addr_t *);
extern bool i2c_reg_to_addr(i2c_hdl_t *, di_node_t, i2c_addr_t *, uint32_t);
extern di_node_t i2c_path_find_device(i2c_hdl_t *, di_node_t, const char *);
extern bool i2c_path_parse(i2c_hdl_t *, const char *, di_node_t, di_node_t *,
i2c_hdl_t *ci_hdl;
i2c_hdl_t *ctrl_hdl;
i2c_hdl_t *pi_hdl;
i2c_hdl_t *port_hdl;
i2c_hdl_t *hdl = req->io_port->port_hdl;
i2c_hdl_t *hdl = req->io_port->port_hdl;
i2c_hdl_t *hdl = port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->sir_port->port_hdl;
i2c_hdl_t *hdl = req->io_port->port_hdl;
i2c_hdl_t *hdl = req->io_port->port_hdl;
i2c_mux_discover_init(i2c_hdl_t *hdl, i2c_mux_iter_t **iterp)
i2c_mux_discover(i2c_hdl_t *hdl, i2c_mux_disc_f func, void *arg)
i2c_hdl_t *hdl = iter->mi_hdl;
i2c_port_discover_init(i2c_hdl_t *hdl, i2c_port_iter_t **iterp)
i2c_port_discover(i2c_hdl_t *hdl, i2c_port_disc_f func, void *arg)
i2c_port_init(i2c_hdl_t *hdl, di_node_t di, i2c_port_t **portp)
i2c_port_init_by_path(i2c_hdl_t *hdl, const char *path, i2c_port_t **portp)
i2c_hdl_t *hdl = port->port_hdl;
valid_addr_roundtrip(i2c_hdl_t *hdl)
invalid_strings(i2c_hdl_t *hdl)
invalid_addrs(i2c_hdl_t *hdl)
short_buffers(i2c_hdl_t *hdl)
bad_args(i2c_hdl_t *hdl)
reserved_addrs(i2c_hdl_t *hdl)
i2c_hdl_t *hdl = i2c_init();
i2c_hdl_t *hdl = i2c_init();
disc_ctrls(i2c_hdl_t *hdl)
disc_port_cb(i2c_hdl_t *hdl, const i2c_port_disc_t *disc, void *arg)
disc_port_path(i2c_hdl_t *hdl, const char *path, uint32_t portno,
disc_ports(i2c_hdl_t *hdl)
disc_mux_cb(i2c_hdl_t *hdl, const i2c_mux_disc_t *disc, void *arg)
disc_devs_cb(i2c_hdl_t *hdl, const i2c_dev_disc_t *disc, void *arg)
disc_ctrl_cb(i2c_hdl_t *hdl, const i2c_ctrl_disc_t *disc, void *arg)
disc_devs(i2c_hdl_t *hdl)
i2c_hdl_t *hdl = i2c_init();
disc_ctrl_path(i2c_hdl_t *hdl, i2c_ctrl_t *ctrl, const char *path)
libi2c_test_vwarn(i2c_hdl_t *hdl, const char *fmt, va_list ap)
libi2c_test_warn(i2c_hdl_t *hdl, const char *fmt, ...)
libi2c_test_fatal(i2c_hdl_t *hdl, const char *fmt, ...)
extern void libi2c_test_warn(i2c_hdl_t *, const char *, ...) __PRINTFLIKE(2);
extern void libi2c_test_fatal(i2c_hdl_t *, const char *, ...) __PRINTFLIKE(2);
missing_i2c_io(i2c_hdl_t *hdl, i2c_port_t *port)
test_smbus_io(i2c_hdl_t *hdl, smbus_io_req_t *req, const char *desc)
missing_smbus_io(i2c_hdl_t *hdl, i2c_port_t *port)
i2c_hdl_t *hdl = i2c_init();
test_add(i2c_hdl_t *hdl, i2c_dev_add_req_t *req, const char *desc)
missing_adds(i2c_hdl_t *hdl, i2c_port_t *port)
test_i2c_io(i2c_hdl_t *hdl, i2c_io_req_t *req, const char *desc)