diff options
| -rw-r--r-- | drivers/regulator/lp872x.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/regulator/lp872x.c b/drivers/regulator/lp872x.c index 3de328ab41f3..9142c1adc70c 100644 --- a/drivers/regulator/lp872x.c +++ b/drivers/regulator/lp872x.c | |||
| @@ -903,6 +903,7 @@ static struct lp872x_platform_data | |||
| 903 | static int lp872x_probe(struct i2c_client *cl, const struct i2c_device_id *id) | 903 | static int lp872x_probe(struct i2c_client *cl, const struct i2c_device_id *id) |
| 904 | { | 904 | { |
| 905 | struct lp872x *lp; | 905 | struct lp872x *lp; |
| 906 | struct lp872x_platform_data *pdata; | ||
| 906 | int ret; | 907 | int ret; |
| 907 | const int lp872x_num_regulators[] = { | 908 | const int lp872x_num_regulators[] = { |
| 908 | [LP8720] = LP8720_NUM_REGULATORS, | 909 | [LP8720] = LP8720_NUM_REGULATORS, |
| @@ -910,8 +911,10 @@ static int lp872x_probe(struct i2c_client *cl, const struct i2c_device_id *id) | |||
| 910 | }; | 911 | }; |
| 911 | 912 | ||
| 912 | if (cl->dev.of_node) | 913 | if (cl->dev.of_node) |
| 913 | cl->dev.platform_data = lp872x_populate_pdata_from_dt(&cl->dev, | 914 | pdata = lp872x_populate_pdata_from_dt(&cl->dev, |
| 914 | (enum lp872x_id)id->driver_data); | 915 | (enum lp872x_id)id->driver_data); |
| 916 | else | ||
| 917 | pdata = dev_get_platdata(&cl->dev); | ||
| 915 | 918 | ||
| 916 | lp = devm_kzalloc(&cl->dev, sizeof(struct lp872x), GFP_KERNEL); | 919 | lp = devm_kzalloc(&cl->dev, sizeof(struct lp872x), GFP_KERNEL); |
| 917 | if (!lp) | 920 | if (!lp) |
| @@ -927,7 +930,7 @@ static int lp872x_probe(struct i2c_client *cl, const struct i2c_device_id *id) | |||
| 927 | } | 930 | } |
| 928 | 931 | ||
| 929 | lp->dev = &cl->dev; | 932 | lp->dev = &cl->dev; |
| 930 | lp->pdata = dev_get_platdata(&cl->dev); | 933 | lp->pdata = pdata; |
| 931 | lp->chipid = id->driver_data; | 934 | lp->chipid = id->driver_data; |
| 932 | i2c_set_clientdata(cl, lp); | 935 | i2c_set_clientdata(cl, lp); |
| 933 | 936 | ||
