lp8788-buck: fix a parent device on devm_gpio_request()
authorKim, Milo <Milo.Kim@ti.com>
Thu, 3 Jan 2013 06:31:57 +0000 (06:31 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 3 Jan 2013 11:28:52 +0000 (11:28 +0000)
 Use 'platform_device' rather than i2c client device node.
 Arguments are added in lp8788_init_dvs() and lp8788_dvs_gpio_request().

Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/lp8788-buck.c

index 4916a55d4d6f865f31aee86cf5ff3fbdfc409483..98770e8b2e549d51dd8fa6ca1f837376877e77d2 100644 (file)
@@ -429,7 +429,8 @@ static struct regulator_desc lp8788_buck_desc[] = {
        },
 };
 
-static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
+static int lp8788_dvs_gpio_request(struct platform_device *pdev,
+                               struct lp8788_buck *buck,
                                enum lp8788_buck_id id)
 {
        struct lp8788_platform_data *pdata = buck->lp->pdata;
@@ -440,7 +441,7 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
        switch (id) {
        case BUCK1:
                gpio = pdata->buck1_dvs->gpio;
-               ret = devm_gpio_request_one(buck->lp->dev, gpio, DVS_LOW,
+               ret = devm_gpio_request_one(&pdev->dev, gpio, DVS_LOW,
                                            b1_name);
                if (ret)
                        return ret;
@@ -450,7 +451,7 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
        case BUCK2:
                for (i = 0 ; i < LP8788_NUM_BUCK2_DVS ; i++) {
                        gpio = pdata->buck2_dvs->gpio[i];
-                       ret = devm_gpio_request_one(buck->lp->dev, gpio,
+                       ret = devm_gpio_request_one(&pdev->dev, gpio,
                                                    DVS_LOW, b2_name[i]);
                        if (ret)
                                return ret;
@@ -464,7 +465,8 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
        return 0;
 }
 
-static int lp8788_init_dvs(struct lp8788_buck *buck, enum lp8788_buck_id id)
+static int lp8788_init_dvs(struct platform_device *pdev,
+                       struct lp8788_buck *buck, enum lp8788_buck_id id)
 {
        struct lp8788_platform_data *pdata = buck->lp->pdata;
        u8 mask[] = { LP8788_BUCK1_DVS_SEL_M, LP8788_BUCK2_DVS_SEL_M };
@@ -483,7 +485,7 @@ static int lp8788_init_dvs(struct lp8788_buck *buck, enum lp8788_buck_id id)
                (id == BUCK2 && !pdata->buck2_dvs))
                goto set_default_dvs_mode;
 
-       if (lp8788_dvs_gpio_request(buck, id))
+       if (lp8788_dvs_gpio_request(pdev, buck, id))
                goto set_default_dvs_mode;
 
        return lp8788_update_bits(buck->lp, LP8788_BUCK_DVS_SEL, mask[id],
@@ -509,7 +511,7 @@ static int lp8788_buck_probe(struct platform_device *pdev)
 
        buck->lp = lp;
 
-       ret = lp8788_init_dvs(buck, id);
+       ret = lp8788_init_dvs(pdev, buck, id);
        if (ret)
                return ret;