int stm32_sht10initialize(FAR const char *devpath) { FAR struct i2c_master_s *i2c; int ret; /* Get an instance of the I2C1 interface */ i2c = stm32_i2cbus_initialize(1); if (!i2c) { return -ENODEV; } /* Then register the temperature sensor */ ret = sht10_register(devpath, i2c,0x00); if (ret < 0) { (void)stm32_i2cbus_uninitialize(i2c); } return ret; }
static void stm32_i2c_register(int bus) { FAR struct i2c_master_s *i2c; int ret; i2c = stm32_i2cbus_initialize(bus); if (i2c == NULL) { _err("ERROR: Failed to get I2C%d interface\n", bus); } else { ret = i2c_register(i2c, bus); if (ret < 0) { _err("ERROR: Failed to register I2C%d driver: %d\n", bus, ret); stm32_i2cbus_uninitialize(i2c); } } }