static inline int bmg160_bus_config(struct device *dev) { const struct bmg160_device_config *dev_cfg = dev->config->config_info; struct bmg160_device_data *bmg160 = dev->driver_data; u32_t i2c_cfg; i2c_cfg = I2C_MODE_MASTER | I2C_SPEED_SET(dev_cfg->i2c_speed); return i2c_configure(bmg160->i2c, i2c_cfg); }
int ataes132a_init(struct device *dev) { struct ataes132a_device_data *ataes132a = dev->driver_data; const struct ataes132a_device_config *cfg = dev->config->config_info; u32_t i2c_cfg; SYS_LOG_DBG("ATAES132A INIT"); ataes132a->i2c = device_get_binding((char *)cfg->i2c_port); if (!ataes132a->i2c) { SYS_LOG_DBG("ATAE132A master controller not found!"); return -EINVAL; } i2c_cfg = I2C_MODE_MASTER | I2C_SPEED_SET(ATAES132A_BUS_SPEED); i2c_configure(ataes132a->i2c, i2c_cfg); k_sem_init(&ataes132a->device_sem, 1, UINT_MAX); ataes132a_init_states(); return 0; }