static int aat2870_regulator_probe(struct platform_device *pdev) { struct aat2870_regulator *ri; struct regulator_config config = { 0 }; struct regulator_dev *rdev; ri = aat2870_get_regulator(pdev->id); if (!ri) { dev_err(&pdev->dev, "Invalid device ID, %d\n", pdev->id); return -EINVAL; } ri->aat2870 = dev_get_drvdata(pdev->dev.parent); config.dev = &pdev->dev; config.driver_data = ri; config.init_data = pdev->dev.platform_data; rdev = regulator_register(&ri->desc, &config); if (IS_ERR(rdev)) { dev_err(&pdev->dev, "Failed to register regulator %s\n", ri->desc.name); return PTR_ERR(rdev); } platform_set_drvdata(pdev, rdev); return 0; }
static int aat2870_regulator_probe(struct platform_device *pdev) { struct aat2870_regulator *ri; struct regulator_dev *rdev; ri = aat2870_get_regulator(pdev->id); if (!ri) { dev_err(&pdev->dev, "Invalid device ID, %d\n", pdev->id); return -EINVAL; } ri->pdev = pdev; rdev = regulator_register(&ri->desc, &pdev->dev, pdev->dev.platform_data, ri); if (IS_ERR(rdev)) { dev_err(&pdev->dev, "Failed to register regulator %s\n", ri->desc.name); return PTR_ERR(rdev); } platform_set_drvdata(pdev, rdev); return 0; }