]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
regulator: max8973: Fix the driver probe routine
authorKerwin Wan <kerwinw@nvidia.com>
Fri, 29 Aug 2014 21:36:40 +0000 (14:36 -0700)
committerSeema Khowala <seemaj@nvidia.com>
Thu, 4 Sep 2014 18:30:43 +0000 (11:30 -0700)
Add check for the return error when obtaining the gpio when
parsing DT node whether GPIOs are available or not.
If gpio_get() return EPROBE_DEFER then defer the probe.

Change-Id: Iaf779611e92140ee6a1c301eb31076aa49ef1c26
Signed-off-by: Kerwin Wan <kerwinw@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/495454

drivers/regulator/max8973-regulator.c

index 0777823fd371a2848edeb8efaf751f130c5eae9e..1b821593c61d09f795052691404d786cf8737fe6 100644 (file)
@@ -574,6 +574,11 @@ static int max8973_probe(struct i2c_client *client,
                return -EIO;
        }
 
+       /* If GPIOs number returned as EPROBE_DEFER then defer probe. */
+       if ((pdata->enable_gpio == -EPROBE_DEFER) ||
+               (pdata->dvs_gpio == -EPROBE_DEFER))
+               return -EPROBE_DEFER;
+
        max = devm_kzalloc(&client->dev, sizeof(*max), GFP_KERNEL);
        if (!max)
                return -ENOMEM;