The check would dereference pdata, which can be NULL in the non-DT
use case.

Nothing will break if pdata->num_regulators is larger than the number
of regulators that the driver defines: pdata->num_regulators is only
read in act8865_get_init_data() to iterate through pdata->regulators.

The error handler might have some value as a sanity check on the
platform data, but the platform data could be broken in many other
ways that are not checked for (unknown IDs, duplicate IDs), so I see
no reason to perform only this specific check.

Signed-off-by: Maarten ter Huurne <maar...@treewalker.org>
---
 drivers/regulator/act8865-regulator.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/regulator/act8865-regulator.c 
b/drivers/regulator/act8865-regulator.c
index 89f856f..69cdad0 100644
--- a/drivers/regulator/act8865-regulator.c
+++ b/drivers/regulator/act8865-regulator.c
@@ -485,12 +485,6 @@ static int act8865_pmic_probe(struct i2c_client *client,
                pdata = &pdata_of;
        }
 
-       if (pdata->num_regulators > num_regulators) {
-               dev_err(dev, "too many regulators: %d\n",
-                       pdata->num_regulators);
-               return -EINVAL;
-       }
-
        act8865 = devm_kzalloc(dev, sizeof(struct act8865), GFP_KERNEL);
        if (!act8865)
                return -ENOMEM;
-- 
2.6.2

Reply via email to