[PATCH v2 3/6] regulator: Add regulator driver for ATC260x PMICs

Mark Brown broonie at kernel.org
Mon Aug 24 04:01:22 PDT 2020


On Sat, Aug 22, 2020 at 01:19:49AM +0300, Cristian Ciocaltea wrote:

> +static int atc260x_set_voltage_time_sel(struct regulator_dev *rdev,
> +					unsigned int old_selector,
> +					unsigned int new_selector)
> +{
> +	struct atc260x_regulator_data *data = rdev_get_drvdata(rdev);
> +	int id = rdev_get_id(rdev);
> +
> +	if (new_selector > old_selector)
> +		return id > data->last_dcdc_reg_id ? data->voltage_time_ldo
> +						   : data->voltage_time_dcdc;

Please write normal conditional statements to make things easier to
read.  It also looks like this would be more robustly written by just
having separate ops for DCDCs and LDOs, this could easily break if
another device is supported in the driver.

> +static const struct of_device_id atc260x_regulator_of_match[] = {
> +	{ .compatible = "actions,atc2603c-regulator" },
> +	{ .compatible = "actions,atc2609a-regulator" },
> +	{ /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, atc260x_regulator_of_match);

We don't need compatibles here, this is just reflecting the current
Linux device model into the OS neutral DT bindings.  Another OS may
choose to split regulators up differently.  We should just instantiate
the regulator device from the MFD based on identifying the chip overall.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-actions/attachments/20200824/c48beebd/attachment-0001.sig>


More information about the linux-actions mailing list