lp8788-buck: fix a parent device on devm_gpio_request()

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>
This commit is contained in:
Kim, Milo 2013-01-03 06:31:57 +00:00 committed by Mark Brown
parent 3b0e8f1281
commit 38d8f67cb6
1 changed files with 8 additions and 6 deletions

View 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) enum lp8788_buck_id id)
{ {
struct lp8788_platform_data *pdata = buck->lp->pdata; struct lp8788_platform_data *pdata = buck->lp->pdata;
@ -440,7 +441,7 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
switch (id) { switch (id) {
case BUCK1: case BUCK1:
gpio = pdata->buck1_dvs->gpio; 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); b1_name);
if (ret) if (ret)
return ret; return ret;
@ -450,7 +451,7 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
case BUCK2: case BUCK2:
for (i = 0 ; i < LP8788_NUM_BUCK2_DVS ; i++) { for (i = 0 ; i < LP8788_NUM_BUCK2_DVS ; i++) {
gpio = pdata->buck2_dvs->gpio[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]); DVS_LOW, b2_name[i]);
if (ret) if (ret)
return ret; return ret;
@ -464,7 +465,8 @@ static int lp8788_dvs_gpio_request(struct lp8788_buck *buck,
return 0; 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; struct lp8788_platform_data *pdata = buck->lp->pdata;
u8 mask[] = { LP8788_BUCK1_DVS_SEL_M, LP8788_BUCK2_DVS_SEL_M }; 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)) (id == BUCK2 && !pdata->buck2_dvs))
goto set_default_dvs_mode; 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; goto set_default_dvs_mode;
return lp8788_update_bits(buck->lp, LP8788_BUCK_DVS_SEL, mask[id], 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; buck->lp = lp;
ret = lp8788_init_dvs(buck, id); ret = lp8788_init_dvs(pdev, buck, id);
if (ret) if (ret)
return ret; return ret;