diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c index 23f7b31f6355..a777c9d0d2df 100644 --- a/drivers/regulator/twl-regulator.c +++ b/drivers/regulator/twl-regulator.c @@ -1175,37 +1175,20 @@ static int twlreg_probe(struct platform_device *pdev) struct regulator_init_data *initdata; struct regulation_constraints *c; struct regulator_dev *rdev; - struct twl_regulator_driver_data *drvdata; const struct of_device_id *match; struct regulator_config config = { }; match = of_match_device(twl_of_match, &pdev->dev); - if (match) { - template = match->data; - id = template->desc.id; - initdata = of_get_regulator_init_data(&pdev->dev, - pdev->dev.of_node, - &template->desc); - drvdata = NULL; - } else { - id = pdev->id; - initdata = dev_get_platdata(&pdev->dev); - for (i = 0, template = NULL; i < ARRAY_SIZE(twl_of_match); i++) { - template = twl_of_match[i].data; - if (template && template->desc.id == id) - break; - } - if (i == ARRAY_SIZE(twl_of_match)) - return -ENODEV; - - drvdata = initdata->driver_data; - if (!drvdata) - return -EINVAL; - } + if (!match) + return -ENODEV; + template = match->data; if (!template) return -ENODEV; + id = template->desc.id; + initdata = of_get_regulator_init_data(&pdev->dev, pdev->dev.of_node, + &template->desc); if (!initdata) return -EINVAL; @@ -1213,14 +1196,6 @@ static int twlreg_probe(struct platform_device *pdev) if (!info) return -ENOMEM; - if (drvdata) { - /* copy the driver data into regulator data */ - info->features = drvdata->features; - info->data = drvdata->data; - info->set_voltage = drvdata->set_voltage; - info->get_voltage = drvdata->get_voltage; - } - /* Constrain board-specific capabilities according to what * this driver and the chip itself can actually do. */