mirror of https://gitee.com/openkylin/linux.git
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:
parent
3b0e8f1281
commit
38d8f67cb6
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue