From: Guenter Roeck <linux@roeck-us.net>
To: Marcello Sylvester Bauer <sylv@sylv.io>
Cc: Jean Delvare <jdelvare@suse.com>,
linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org,
Patrick Rudolph <patrick.rudolph@9elements.com>
Subject: Re: [PATCH v4 4/4] pmbus (pli1209bc): Add regulator support
Date: Thu, 24 Feb 2022 11:25:50 -0800 [thread overview]
Message-ID: <20220224192550.GA1942763@roeck-us.net> (raw)
In-Reply-To: <21b0cdb6dd72654effa451d3b1636ecd07b160e9.1645435888.git.sylv@sylv.io>
On Mon, Feb 21, 2022 at 10:42:07AM +0100, Marcello Sylvester Bauer wrote:
> Add regulator support for PLI1209BC Digital Supervisor.
>
> Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
Applied to hwmon-next.
Thanks,
Guenter
> ---
> drivers/hwmon/pmbus/Kconfig | 7 +++++++
> drivers/hwmon/pmbus/pli1209bc.c | 31 +++++++++++++++++++++++++++++++
> 2 files changed, 38 insertions(+)
>
> diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig
> index f18f67a94697..6552467c588d 100644
> --- a/drivers/hwmon/pmbus/Kconfig
> +++ b/drivers/hwmon/pmbus/Kconfig
> @@ -326,6 +326,13 @@ config SENSORS_PLI1209BC
> This driver can also be built as a module. If so, the module will
> be called pli1209bc.
>
> +config SENSORS_PLI1209BC_REGULATOR
> + bool "Regulator support for PLI1209BC"
> + depends on SENSORS_PLI1209BC && REGULATOR
> + help
> + If you say yes here you get regulator support for Vicor PLI1209BC
> + Digital Supervisor.
> +
> config SENSORS_PM6764TR
> tristate "ST PM6764TR"
> help
> diff --git a/drivers/hwmon/pmbus/pli1209bc.c b/drivers/hwmon/pmbus/pli1209bc.c
> index 5f8847307e55..05b4ee35ba27 100644
> --- a/drivers/hwmon/pmbus/pli1209bc.c
> +++ b/drivers/hwmon/pmbus/pli1209bc.c
> @@ -8,6 +8,7 @@
> #include <linux/i2c.h>
> #include <linux/module.h>
> #include <linux/pmbus.h>
> +#include <linux/regulator/driver.h>
> #include "pmbus.h"
>
> /*
> @@ -33,11 +34,37 @@ static int pli1209bc_read_word_data(struct i2c_client *client, int page,
> return data;
> data = sign_extend32(data, 15) * 10;
> return clamp_val(data, -32768, 32767) & 0xffff;
> + /*
> + * PMBUS_READ_VOUT and PMBUS_READ_TEMPERATURE_1 return invalid data
> + * when the BCM is turned off. Since it is not possible to return
> + * ENODATA error, return zero instead.
> + */
> + case PMBUS_READ_VOUT:
> + case PMBUS_READ_TEMPERATURE_1:
> + data = pmbus_read_word_data(client, page, phase,
> + PMBUS_STATUS_WORD);
> + if (data < 0)
> + return data;
> + if (data & PB_STATUS_POWER_GOOD_N)
> + return 0;
> + return pmbus_read_word_data(client, page, phase, reg);
> default:
> return -ENODATA;
> }
> }
>
> +#if IS_ENABLED(CONFIG_SENSORS_PLI1209BC_REGULATOR)
> +static const struct regulator_desc pli1209bc_reg_desc = {
> + .name = "vout2",
> + .id = 1,
> + .of_match = of_match_ptr("vout2"),
> + .regulators_node = of_match_ptr("regulators"),
> + .ops = &pmbus_regulator_ops,
> + .type = REGULATOR_VOLTAGE,
> + .owner = THIS_MODULE,
> +};
> +#endif
> +
> static struct pmbus_driver_info pli1209bc_info = {
> .pages = 2,
> .format[PSC_VOLTAGE_IN] = direct,
> @@ -75,6 +102,10 @@ static struct pmbus_driver_info pli1209bc_info = {
> | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP
> | PMBUS_HAVE_STATUS_IOUT | PMBUS_HAVE_STATUS_INPUT,
> .read_word_data = pli1209bc_read_word_data,
> +#if IS_ENABLED(CONFIG_SENSORS_PLI1209BC_REGULATOR)
> + .num_regulators = 1,
> + .reg_desc = &pli1209bc_reg_desc,
> +#endif
> };
>
> static int pli1209bc_probe(struct i2c_client *client)
prev parent reply other threads:[~2022-02-24 19:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-21 9:42 [PATCH v4 0/4] Support pli1209bc Digital Supervisor Marcello Sylvester Bauer
2022-02-21 9:42 ` [PATCH v4 1/4] dt-bindings: vendor-prefixes: add Vicor Corporation Marcello Sylvester Bauer
2022-02-24 19:13 ` Rob Herring
2022-02-24 19:24 ` Guenter Roeck
2022-02-21 9:42 ` [PATCH v4 2/4] dt-bindings:trivial-devices: Add pli1209bc Marcello Sylvester Bauer
2022-02-24 19:15 ` Rob Herring
2022-02-24 19:25 ` Guenter Roeck
2022-02-21 9:42 ` [PATCH v4 3/4] pmbus: Add support for pli1209bc Marcello Sylvester Bauer
2022-02-24 19:25 ` Guenter Roeck
2022-02-21 9:42 ` [PATCH v4 4/4] pmbus (pli1209bc): Add regulator support Marcello Sylvester Bauer
2022-02-24 19:25 ` Guenter Roeck [this message]
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=20220224192550.GA1942763@roeck-us.net \
--to=linux@roeck-us.net \
--cc=jdelvare@suse.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patrick.rudolph@9elements.com \
--cc=sylv@sylv.io \
/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.