From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Romain Gantois <romain.gantois@bootlin.com>
Cc: "Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Hans de Goede" <hansg@kernel.org>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-iio@vger.kernel.org
Subject: Re: [PATCH v2 4/5] regulator: Support the LTM8054 voltage regulator
Date: Wed, 22 Oct 2025 17:44:12 +0300 [thread overview]
Message-ID: <aPjtvPmc_7IBV7og@smile.fi.intel.com> (raw)
In-Reply-To: <20250925-ltm8054-driver-v2-4-bb61a401a0dc@bootlin.com>
On Thu, Sep 25, 2025 at 02:37:36PM +0200, Romain Gantois wrote:
> Add a stub driver for the Linear Technology LTM8054 Buck-Boost voltage
> regulator. This version only supports enabling/disabling the regulator via
> a GPIO, and reporting the output voltage level from the resistor divider
> values given in the device tree.
...
It's a bit an interesting grouping of headers...
> +#include <asm/div64.h>
...starting with leading asm/*.
> +#include <linux/array_size.h>
> +
> +#include <linux/device.h>
> +#include <linux/device/devres.h>
> +#include <linux/device/driver.h>
> +
> +#include <linux/dev_printk.h>
> +#include <linux/err.h>
> +#include <linux/errno.h>
> +#include <linux/gpio/consumer.h>
> +#include <linux/module.h>
> +#include <linux/of.h>
> +#include <linux/platform_device.h>
> +#include <linux/property.h>
I would expect above to be (but not limited to)
#include <linux/array_size.h>
#include <linux/device.h>
#include <linux/device/devres.h>
#include <linux/device/driver.h>
#include <linux/dev_printk.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/gpio/consumer.h>
#include <linux/math64.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/property.h>
Also missing
types.h
> +#include <linux/regulator/consumer.h>
> +#include <linux/regulator/driver.h>
> +#include <linux/regulator/of_regulator.h>
...
> +static int ltm8054_of_parse(struct device *dev, struct ltm8054_priv *priv,
> + struct regulator_config *config)
> +{
> + struct device_node *np = dev->of_node;
No need, see below how.
> + u32 r[2];
> + int ret;
> + config->of_node = np;
Better to move it...
> +
> + ret = device_property_read_u32_array(dev, "lltc,fb-voltage-divider", r, ARRAY_SIZE(r));
> + if (ret)
> + return ret;
> +
> + priv->rdesc.fixed_uV = ltm8054_scale(LTM8054_FB_uV, r[0], r[1]);
> + priv->rdesc.min_uV = priv->rdesc.fixed_uV;
> + priv->rdesc.n_voltages = 1;
...here and reuse.
> + config->init_data = of_get_regulator_init_data(dev,
> + np,
> + &priv->rdesc);
config->of_node = dev_of_node(dev);
config->init_data = of_get_regulator_init_data(dev,
config->of_node,
&priv->rdesc);
> + if (!config->init_data)
> + return -EINVAL;
> +
> + config->ena_gpiod = devm_gpiod_get_optional(dev, "enable", GPIOD_OUT_LOW);
> + if (IS_ERR(config->ena_gpiod))
> + return PTR_ERR(config->ena_gpiod);
> +
> + return 0;
> +}
> +static int ltm8054_probe(struct platform_device *pdev)
> +{
> + struct regulator_config config = { };
> + struct device *dev = &pdev->dev;
> + struct regulator_dev *rdev;
> + struct ltm8054_priv *priv;
> + int ret;
> +
> + priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
> + if (!priv)
> + return -ENOMEM;
> +
> + priv->rdesc.name = "ltm8054-regulator",
> + priv->rdesc.ops = <m8054_regulator_ops,
> + priv->rdesc.type = REGULATOR_VOLTAGE,
> + priv->rdesc.owner = THIS_MODULE,
The commas should be replaced by semicolons.
> + config.dev = dev;
> + config.driver_data = priv;
> +
> + ret = ltm8054_of_parse(dev, priv, &config);
> + if (ret)
> + return dev_err_probe(dev, ret, "failed to parse device tree\n");
> +
> + rdev = devm_regulator_register(dev, &priv->rdesc, &config);
> + if (IS_ERR(rdev))
> + return dev_err_probe(dev, PTR_ERR(rdev), "failed to register regulator\n");
> +
> + return 0;
> +}
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2025-10-22 14:44 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-25 12:37 [PATCH v2 0/5] Add support for the LTM8054 voltage regulator Romain Gantois
2025-09-25 12:37 ` [PATCH v2 1/5] regulator: dt-bindings: Add Linear Technology LTM8054 regulator Romain Gantois
2025-09-25 19:27 ` Conor Dooley
2025-09-26 15:59 ` Romain Gantois
2025-09-27 22:31 ` Conor Dooley
2025-10-01 7:11 ` Romain Gantois
2025-10-01 11:18 ` David Lechner
2025-10-01 18:40 ` Conor Dooley
2025-10-02 7:11 ` David Lechner
2025-09-25 12:37 ` [PATCH v2 2/5] iio: add processed write API Romain Gantois
2025-09-25 21:10 ` David Lechner
2025-10-01 7:19 ` Romain Gantois
2025-10-01 10:43 ` David Lechner
[not found] ` <CAMknhBG_o=jTKtHHDyK=bq7wcHMnDM1ZHaYAfX0K2hjHfkX3Bg@mail.gmail.com>
2025-10-03 14:35 ` Romain Gantois
2025-09-28 9:07 ` Jonathan Cameron
2025-09-25 12:37 ` [PATCH v2 3/5] Add kunit tests for iio_divide_by_value() Romain Gantois
2025-09-25 20:26 ` David Lechner
2025-09-25 12:37 ` [PATCH v2 4/5] regulator: Support the LTM8054 voltage regulator Romain Gantois
2025-10-22 14:44 ` Andy Shevchenko [this message]
2025-09-25 12:37 ` [PATCH v2 5/5] regulator: ltm8054: Support output current limit control Romain Gantois
2025-10-22 8:05 ` Romain Gantois
2025-10-22 16:37 ` Andy Shevchenko
2025-10-24 7:55 ` Romain Gantois
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=aPjtvPmc_7IBV7og@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=hansg@kernel.org \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=romain.gantois@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.