|
@@ -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.
|
|
|
*/
|