From: Mark Brown <broonie@kernel•org>
To: Wen Su <Wen.Su@mediatek•com>
Cc: Mark Rutland <mark.rutland@arm•com>,
devicetree@vger•kernel.org, wsd_upstream@mediatek•com,
linux-kernel@vger•kernel.org, Liam Girdwood <lgirdwood@gmail•com>,
Rob Herring <robh+dt@kernel•org>,
linux-mediatek@lists•infradead.org,
Matthias Brugger <matthias.bgg@gmail•com>,
Lee Jones <lee.jones@linaro•org>,
linux-arm-kernel@lists•infradead.org
Subject: Re: [RESEND 3/4] regulator: mt6359: Add support for MT6359 regulator
Date: Mon, 20 Jan 2020 19:04:27 +0000 [thread overview]
Message-ID: <20200120190427.GO6852@sirena.org.uk> (raw)
In-Reply-To: <1579506450-21830-4-git-send-email-Wen.Su@mediatek.com>
[-- Attachment #1.1: Type: text/plain, Size: 1654 bytes --]
On Mon, Jan 20, 2020 at 03:47:29PM +0800, Wen Su wrote:
This seems pretty good, a few comments below but they're fairly small
and should be easy to address:
> +static int mt6359_set_voltage_sel(struct regulator_dev *rdev,
> + unsigned int selector)
> +{
> + int idx, ret;
> + const u32 *pvol;
> + struct mt6359_regulator_info *info = rdev_get_drvdata(rdev);
> +
> + pvol = info->index_table;
> +
> + idx = pvol[selector];
> + ret = regmap_update_bits(rdev->regmap, info->desc.vsel_reg,
> + info->desc.vsel_mask,
> + idx << info->vsel_shift);
> +
> + return ret;
> +}
This looks like you should be using regulator_list_voltage_table() and
associated functions, probably map_voltage_ascend() or _iterate() and
just a simple set_voltage_sel_regmap().
> +static int mt6359_get_status(struct regulator_dev *rdev)
> +{
> + int ret;
> + u32 regval;
> + struct mt6359_regulator_info *info = rdev_get_drvdata(rdev);
> +
> + ret = regmap_read(rdev->regmap, info->status_reg, ®val);
> + if (ret != 0) {
> + dev_err(&rdev->dev, "Failed to get enable reg: %d\n", ret);
> + return ret;
> + }
> +
> + return (regval & info->qi) ? REGULATOR_STATUS_ON : REGULATOR_STATUS_OFF;
Please write normal conditionl statements rather than using the ternery
operator to improve legibility.
> + switch (mode) {
> + case REGULATOR_MODE_FAST:
> + if (curr_mode == REGULATOR_MODE_IDLE) {
> + WARN_ON(1);
> + dev_notice(&rdev->dev,
> + "BUCK %s is LP mode, can't FPWM\n",
> + rdev->desc->name);
> + return -EIO;
I'd expect the device to go out of low power mode then into force PWM
mode if it has to do that rather than reject the operation.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-01-20 19:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-20 7:47 [RESEND 0/4] Add Support for MediaTek PMIC MT6359 Regulator Wen Su
2020-01-20 7:47 ` [RESEND 1/4] dt-bindings: regulator: Add document for MT6359 regulator Wen Su
2020-01-20 8:43 ` Lee Jones
2020-01-22 2:05 ` Wen Su
2020-01-20 18:43 ` Mark Brown
2020-01-20 7:47 ` [RESEND 2/4] mfd: Add for PMIC MT6359 registers definition Wen Su
2020-01-20 8:44 ` Lee Jones
2020-01-20 7:47 ` [RESEND 3/4] regulator: mt6359: Add support for MT6359 regulator Wen Su
2020-01-20 19:04 ` Mark Brown [this message]
2020-01-22 2:23 ` Wen Su
2020-01-22 12:34 ` Mark Brown
2020-01-20 7:47 ` [RESEND 4/4] arm64: dts: mt6359: add PMIC MT6359 related nodes Wen Su
2020-01-20 8:41 ` [RESEND 0/4] Add Support for MediaTek PMIC MT6359 Regulator Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200120190427.GO6852@sirena.org.uk \
--to=broonie@kernel$(echo .)org \
--cc=Wen.Su@mediatek$(echo .)com \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=lee.jones@linaro$(echo .)org \
--cc=lgirdwood@gmail$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mediatek@lists$(echo .)infradead.org \
--cc=mark.rutland@arm$(echo .)com \
--cc=matthias.bgg@gmail$(echo .)com \
--cc=robh+dt@kernel$(echo .)org \
--cc=wsd_upstream@mediatek$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox