On Sun, 2017-08-27 at 15:58 +0200, Pierre-Hugues Husson wrote: > Extend the driver to support Ricoh RC5T619. > Support the additional regulators and slightly different voltage ranges. > > @@ -101,10 +131,7 @@ static int rn5t618_regulator_probe(struct > platform_device *pdev) > config.dev = pdev->dev.parent; > config.regmap = rn5t618->regmap; > > - for (i = 0; i < RN5T618_REG_NUM; i++) { > - if (!regulators[i].name) > - continue; > - > + for (i = 0; i < num_regulators; i++) { > rdev = devm_regulator_register(&pdev->dev, > ®ulators[i], > &config);
This is wrong. The rn5t*_regulators arrays are indexed by RN5T618_* constants and can have gaps. If you remove the check for regulators[i].name then older models get errors like this: rn5t618-regulator rn5t618-regulator: failed to register (null) regulator rn5t618-regulator: probe of rn5t618-regulator failed with error -22 Either the check needs to be kep or otherwise regulator_desc arrays should be modified. Indexing by RN5T618_* does not appear to be used so maybe just use a flat array? That would also save a few bytes of memory. I know it's a late comment and the patch was already accepted, I just noticed that rn5t567 fails to probe while working on something else. -- Regards, Leonard