All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Marcello Sylvester Bauer <sylv@sylv.io>, linux-hwmon@vger.kernel.org
Cc: Jean Delvare <jdelvare@suse.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 4/4] pmbus (pli1209bc): Add regulator support
Date: Fri, 11 Feb 2022 11:44:46 -0800	[thread overview]
Message-ID: <07a08a9f-5600-f5d2-0955-4bc6e1f9a893@roeck-us.net> (raw)
In-Reply-To: <0a657d200809dedc5fdd2095fae8c0f2fceecf1f.1644597670.git.sylv@sylv.io>

On 2/11/22 09:17, Marcello Sylvester Bauer wrote:
> Add regulator support for PLI1209BC Digital Supervisor.
> 
> Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
> ---
>   drivers/hwmon/pmbus/Kconfig     |  8 ++++++++
>   drivers/hwmon/pmbus/pli1209bc.c | 33 +++++++++++++++++++++++++++++++++
>   2 files changed, 41 insertions(+)
> 
> diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig
> index 831db423bea0..e64e0f2d93c9 100644
> --- a/drivers/hwmon/pmbus/Kconfig
> +++ b/drivers/hwmon/pmbus/Kconfig
> @@ -319,6 +319,14 @@ 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.
> +
> +

Single empty line please

>   config SENSORS_PM6764TR
>   	tristate "ST PM6764TR"
>   	help
> diff --git a/drivers/hwmon/pmbus/pli1209bc.c b/drivers/hwmon/pmbus/pli1209bc.c
> index da345eb105fd..ec479b22aa10 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"
>   
>   /*
> @@ -32,11 +33,39 @@ static int pli1209bc_read_word_data(struct i2c_client *client, int page,
>   		if (data < 0)
>   			return data;
>   		return div_s64(data + 5LL, 10L);
> +#if IS_ENABLED(CONFIG_SENSORS_PLI1209BC_REGULATOR)

I don't think this needs to be conditional.

> +	/*
> +	 * PMBUS_READ_VOUT and PMBUS_READ_TEMPERATURE_1 returns invalid data,

s/returns/return/ and no ','

> +	 * 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 0L;
> +		return pmbus_read_word_data(client, page, phase, reg);
> +#endif
>   	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,
> @@ -64,6 +93,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)


  reply	other threads:[~2022-02-11 19:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 17:17 [PATCH v1 0/4] Support pli1209bc Digital Supervisor Marcello Sylvester Bauer
2022-02-11 17:17 ` [PATCH v1 1/4] dt-bindings: vendor-prefixes: add Vicor Corporation Marcello Sylvester Bauer
2022-02-11 17:17 ` [PATCH v1 2/4] dt-bindings:trivial-devices: Add pli1209bc Marcello Sylvester Bauer
2022-02-11 17:17 ` [PATCH v1 3/4] pmbus: Add support for pli1209bc Marcello Sylvester Bauer
2022-02-11 19:40   ` Guenter Roeck
2022-02-14  9:26     ` sylv
2022-02-12 23:13   ` kernel test robot
2022-02-12 23:13     ` kernel test robot
2022-02-11 17:17 ` [PATCH v1 4/4] pmbus (pli1209bc): Add regulator support Marcello Sylvester Bauer
2022-02-11 19:44   ` Guenter Roeck [this message]
2022-02-14  9:31     ` sylv

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=07a08a9f-5600-f5d2-0955-4bc6e1f9a893@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=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.