Re: [PATCH v3 6/6] regulator: bd71837: BD71837 PMIC regulator driver

From: Mark Brown
Date: Tue May 29 2018 - 07:47:53 EST


On Tue, May 29, 2018 at 01:02:15PM +0300, Matti Vaittinen wrote:

> @@ -0,0 +1,677 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/* Copyright (C) 2018 ROHM Semiconductors */
> +/*
> + * bd71837-regulator.c ROHM BD71837MWV regulator driver
> + */

The SPDX header (and the rest of the block) need to be C++ comments.

> +static int bd71837_regulator_set_regmap(struct regulator_dev *rdev, int set)
> +{
> + int ret = -EINVAL;
> + struct bd71837_pmic *pmic = rdev->reg_data;
> +
> + /* According to the data sheet we must not change regulator voltage
> + * when it is enabled. Thus we need to check if regulator is enabled
> + * before changing the voltage. This mutex is used to avoid race where
> + * we might enable regulator after it's state has been checked but
> + * before the voltage is changed
> + */
> + mutex_lock(&pmic->mtx);
> + if (!set)
> + ret = regulator_disable_regmap(rdev);
> + else
> + ret = regulator_enable_regmap(rdev);
> + mutex_unlock(&pmic->mtx);
> +

This still has the weird locking/wrapper thing going on. The regulator
core will ensure that only one operation is called on a given regulator
at once.

> +static const struct regulator_desc bd71837_regulators[] = {
> + {
> + .name = "buck1",

The indentation style here is weird, please follow CodingStyle. Looks
like the second level is just indented by a space for some reason, and
there's similar problems elsewhere.

Attachment: signature.asc
Description: PGP signature