Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / drivers / hwmon / ina2xx.c
index bfd3f3e..e01feba 100644 (file)
@@ -223,6 +223,7 @@ static int ina2xx_probe(struct i2c_client *client,
        struct device *hwmon_dev;
        long shunt = 10000; /* default shunt value 10mOhms */
        u32 val;
+       int ret;
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
                return -ENODEV;
@@ -247,12 +248,25 @@ static int ina2xx_probe(struct i2c_client *client,
        data->config = &ina2xx_config[data->kind];
 
        /* device configuration */
-       i2c_smbus_write_word_swapped(client, INA2XX_CONFIG,
-                                    data->config->config_default);
-       /* set current LSB to 1mA, shunt is in uOhms */
-       /* (equation 13 in datasheet) */
-       i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION,
-                                    data->config->calibration_factor / shunt);
+       ret = i2c_smbus_write_word_swapped(client, INA2XX_CONFIG,
+                                          data->config->config_default);
+       if (ret < 0) {
+               dev_err(dev,
+                       "error writing to the config register: %d", ret);
+               return -ENODEV;
+       }
+
+       /*
+        * Set current LSB to 1mA, shunt is in uOhms
+        * (equation 13 in datasheet).
+        */
+       ret = i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION,
+                               data->config->calibration_factor / shunt);
+       if (ret < 0) {
+               dev_err(dev,
+                       "error writing to the calibration register: %d", ret);
+               return -ENODEV;
+       }
 
        data->client = client;
        mutex_init(&data->update_lock);