[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93c12354-2e4d-4b21-bc96-eeb55442e365@wanadoo.fr>
Date: Wed, 24 Apr 2024 12:35:04 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Cc: amergnat@...libre.com, broonie@...nel.org, conor+dt@...nel.org,
devicetree@...r.kernel.org, djakov@...nel.org, gustavoars@...nel.org,
henryc.chen@...iatek.com, keescook@...omium.org, kernel@...labora.com,
krzysztof.kozlowski+dt@...aro.org, lgirdwood@...il.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mediatek@...ts.infradead.org, linux-pm@...r.kernel.org,
matthias.bgg@...il.com, robh@...nel.org, wenst@...omium.org
Subject: Re: [PATCH v5 6/7] regulator: Add refactored mtk-dvfsrc-regulator
driver
Le 24/04/2024 à 11:54, AngeloGioacchino Del Regno a écrit :
> The previous driver never worked, and never got even compiled because
> it was missing the DVFSRC driver entirely, including needed neaders.
>
> This is a full (or nearly full) refactoring of the MediaTek DVFSRC
> controlled Regulators driver, retaining support for the MT6873, MT8183
> and MT8192 SoC, and adding MT8195.
>
> As part of the refactoring, this driver is now probed using its own
> devicetree compatible, as this is a child of the main DVFSRC driver
> and gets probed as a subnode of that.
>
> Reviewed-by: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@...lic.gmane.org>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno-ZGY8ohtN/8qB+jHODAdFcQ@...lic.gmane.org>
> ---
> drivers/regulator/mtk-dvfsrc-regulator.c | 196 +++++++++++++++++++++++
> 1 file changed, 196 insertions(+)
> create mode 100644 drivers/regulator/mtk-dvfsrc-regulator.c
>
..
> +static int dvfsrc_vcore_regulator_probe(struct platform_device *pdev)
> +{
> + struct regulator_config config = { .dev = &pdev->dev };
> + const struct dvfsrc_regulator_pdata *pdata;
> + int i;
> +
> + pdata = device_get_match_data(&pdev->dev);
> + if (!pdata)
> + return -EINVAL;
> +
> + for (i = 0; i < pdata->size; i++) {
> + struct regulator_desc *vrdesc = &pdata->descs[i];
> + struct regulator_dev *rdev;
> +
> + rdev = devm_regulator_register(&pdev->dev, vrdesc, &config);
> + if (IS_ERR(rdev)) {
> + dev_err(&pdev->dev, "failed to register %s\n", vrdesc->name);
> + return PTR_ERR(rdev);
Hi,
Nit: (in case of v6)
dev_err_probe()?
> + }
> + }
> +
> + return 0;
> +}
..
CJ
Powered by blists - more mailing lists