i2c_hdl
i2cadm.i2c_hdl = i2c_init();
if (i2cadm.i2c_hdl == NULL) {
i2c_hdl_t *hdl = i2cadm.i2c_hdl;
i2c_hdl_t *i2c_hdl;
if (i2c_err(i2cadm.i2c_hdl) == I2C_ERR_PROP_UNSUP) {
if (!i2c_ctrl_init_by_path(i2cadm.i2c_hdl, cname, &ctrl)) {
if (!i2c_ctrl_init_by_path(i2cadm.i2c_hdl, argv[0], &ctrl)) {
if (!i2c_ctrl_discover_init(i2cadm.i2c_hdl, &iter)) {
if (!i2c_ctrl_init(i2cadm.i2c_hdl, arg.icl_nexus, &ctrl)) {
if (!i2c_device_discover_init(i2cadm.i2c_hdl, &iter)) {
if (!i2c_device_info_snap(i2cadm.i2c_hdl,
if (!i2c_addr_to_string(i2cadm.i2c_hdl, addr, buf, buflen)) {
if (!i2c_port_init_by_path(i2cadm.i2c_hdl, argv[0], &port)) {
if (!i2c_addr_parse(i2cadm.i2c_hdl, argv[2], &addr)) {
if (!i2c_addr_to_string(i2cadm.i2c_hdl, ia, addr, sizeof (addr))) {
if (!i2c_port_dev_init_by_path(i2cadm.i2c_hdl, argv[0], false, &port,
if (!i2c_port_dev_init_by_path(i2cadm.i2c_hdl, dpath, true, &port,
if (!i2c_addr_parse(i2cadm.i2c_hdl, addrstr, &addr)) {
if (!i2c_mux_discover_init(i2cadm.i2c_hdl, &iter)) {
if (!i2c_port_init_by_path(i2cadm.i2c_hdl, argv[0], &port)) {
if (!i2c_port_discover_init(i2cadm.i2c_hdl, &iter)) {
if (!i2c_port_init(i2cadm.i2c_hdl, i2c_port_disc_devi(disc),
if (!i2c_port_init_by_path(i2cadm.i2c_hdl, argv[0], &port)) {
i2cadm_scan_one(i2cadm.i2c_hdl, port, scan);
typedef struct i2c_hdl i2c_hdl_t;
*i2c_hdl = hdl;
i2c_client_register(dev_info_t *dip, i2c_client_hdl_t *i2c_hdl)
int i2c_client_register(dev_info_t *dip, i2c_client_hdl_t *i2c_hdl);
void i2c_client_unregister(i2c_client_hdl_t i2c_hdl);
int i2c_transfer(i2c_client_hdl_t i2c_hdl, i2c_transfer_t *i2c_tran);
int i2c_transfer_alloc(i2c_client_hdl_t i2c_hdl,
void i2c_transfer_free(i2c_client_hdl_t i2c_hdl, i2c_transfer_t *i2c);