]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
staging: iio: isl29028: remove chip test and defaults from isl29028_chip_init()
authorBrian Masney <masneyb@onstation.org>
Sun, 4 Dec 2016 02:19:27 +0000 (21:19 -0500)
committerJonathan Cameron <jic23@kernel.org>
Sun, 4 Dec 2016 11:23:00 +0000 (11:23 +0000)
isl29028_chip_init() contains the device driver defaults and
two I2C calls that detect the presence of the chip. This patch
moves these into isl29028_probe() so that this function can
be used by the power management runtinme in a followup patch. This
patch also renames isl29028_chip_init() to
isl29028_chip_init_and_power_on().

Signed-off-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/light/isl29028.c

index 4e35d00a3e563cabffcf9c87473ab44ce3b43caf..426e8911a5eee70ab3ab60656d861f7f7ac5b279 100644 (file)
@@ -418,29 +418,11 @@ static const struct iio_info isl29028_info = {
        .write_raw = isl29028_write_raw,
 };
 
-static int isl29028_chip_init(struct isl29028_chip *chip)
+static int isl29028_chip_init_and_power_on(struct isl29028_chip *chip)
 {
        struct device *dev = regmap_get_device(chip->regmap);
        int ret;
 
-       chip->enable_prox  = false;
-       chip->prox_sampling = 20;
-       chip->lux_scale = 2000;
-       chip->als_ir_mode = ISL29028_MODE_NONE;
-
-       ret = regmap_write(chip->regmap, ISL29028_REG_TEST1_MODE, 0x0);
-       if (ret < 0) {
-               dev_err(dev, "%s(): write to reg %d failed, err = %d\n",
-                       __func__, ISL29028_REG_TEST1_MODE, ret);
-               return ret;
-       }
-       ret = regmap_write(chip->regmap, ISL29028_REG_TEST2_MODE, 0x0);
-       if (ret < 0) {
-               dev_err(dev, "%s(): write to reg %d failed, err = %d\n",
-                       __func__, ISL29028_REG_TEST2_MODE, ret);
-               return ret;
-       }
-
        ret = regmap_write(chip->regmap, ISL29028_REG_CONFIGURE, 0x0);
        if (ret < 0) {
                dev_err(dev, "%s(): write to reg %d failed, err = %d\n",
@@ -508,7 +490,27 @@ static int isl29028_probe(struct i2c_client *client,
                return ret;
        }
 
-       ret = isl29028_chip_init(chip);
+       chip->enable_prox  = false;
+       chip->prox_sampling = 20;
+       chip->lux_scale = 2000;
+       chip->als_ir_mode = ISL29028_MODE_NONE;
+
+       ret = regmap_write(chip->regmap, ISL29028_REG_TEST1_MODE, 0x0);
+       if (ret < 0) {
+               dev_err(&client->dev,
+                       "%s(): write to reg %d failed, err = %d\n", __func__,
+                       ISL29028_REG_TEST1_MODE, ret);
+               return ret;
+       }
+       ret = regmap_write(chip->regmap, ISL29028_REG_TEST2_MODE, 0x0);
+       if (ret < 0) {
+               dev_err(&client->dev,
+                       "%s(): write to reg %d failed, err = %d\n", __func__,
+                       ISL29028_REG_TEST2_MODE, ret);
+               return ret;
+       }
+
+       ret = isl29028_chip_init_and_power_on(chip);
        if (ret < 0) {
                dev_err(&client->dev, "chip initialization failed: %d\n", ret);
                return ret;