linux-hwmon.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Erik Rosen <erik.rosen@metormote.com>,
	Jean Delvare <jdelvare@suse.com>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-hwmon@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] hwmon: (pmbus) Add new flag PMBUS_READ_STATUS_AFTER_FAILED_CHECK
Date: Wed, 5 May 2021 21:06:39 -0700	[thread overview]
Message-ID: <bbbe1330-dd94-29a1-0680-b9cf91e8f962@roeck-us.net> (raw)
In-Reply-To: <20210505183248.57082-2-erik.rosen@metormote.com>

On 5/5/21 11:32 AM, Erik Rosen wrote:
> Some PMBus chips end up in an undefined state when trying to read an
> unsupported register. For such chips, it is necessary to reset the
> chip pmbus controller to a known state after a failed register check.
> This can be done by reading a known register. By setting this flag the
> driver will try to read the STATUS register after each failed
> register check. This read may fail, but it will put the chip into a
> known state.
> 
> Signed-off-by: Erik Rosen <erik.rosen@metormote.com>

For my reference:

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/hwmon/pmbus/pmbus_core.c |  2 ++
>  include/linux/pmbus.h            | 13 +++++++++++++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> index aadea85fe630..cb0b3c7c3434 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -512,6 +512,8 @@ static bool pmbus_check_register(struct i2c_client *client,
>  	rv = func(client, page, reg);
>  	if (rv >= 0 && !(data->flags & PMBUS_SKIP_STATUS_CHECK))
>  		rv = pmbus_check_status_cml(client);
> +	if (rv < 0 && (data->flags & PMBUS_READ_STATUS_AFTER_FAILED_CHECK))
> +		data->read_status(client, -1);
>  	pmbus_clear_fault_page(client, -1);
>  	return rv >= 0;
>  }
> diff --git a/include/linux/pmbus.h b/include/linux/pmbus.h
> index 12cbbf305969..edd7c84fef65 100644
> --- a/include/linux/pmbus.h
> +++ b/include/linux/pmbus.h
> @@ -43,6 +43,19 @@
>   */
>  #define PMBUS_NO_CAPABILITY			BIT(2)
>  
> +/*
> + * PMBUS_READ_STATUS_AFTER_FAILED_CHECK
> + *
> + * Some PMBus chips end up in an undefined state when trying to read an
> + * unsupported register. For such chips, it is necessary to reset the
> + * chip pmbus controller to a known state after a failed register check.
> + * This can be done by reading a known register. By setting this flag the
> + * driver will try to read the STATUS register after each failed
> + * register check. This read may fail, but it will put the chip in a
> + * known state.
> + */
> +#define PMBUS_READ_STATUS_AFTER_FAILED_CHECK	BIT(3)
> +
>  struct pmbus_platform_data {
>  	u32 flags;		/* Device specific flags */
>  
> 


  reply	other threads:[~2021-05-06  4:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05 18:32 [PATCH 0/3] hwmon: (pmbus) Add support for additional Flex BMR converters to the pmbus driver Erik Rosen
2021-05-05 18:32 ` [PATCH 1/3] hwmon: (pmbus) Add new flag PMBUS_READ_STATUS_AFTER_FAILED_CHECK Erik Rosen
2021-05-06  4:06   ` Guenter Roeck [this message]
2021-05-05 18:32 ` [PATCH 2/3] hwmon: (pmbus) Add documentation for new flags Erik Rosen
2021-05-06  4:04   ` Guenter Roeck
2021-05-05 18:32 ` [PATCH 3/3] hwmon: (pmbus) Add support for additional Flex BMR converters to pmbus Erik Rosen
2021-05-06  4:02   ` Guenter Roeck

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=bbbe1330-dd94-29a1-0680-b9cf91e8f962@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=corbet@lwn.net \
    --cc=erik.rosen@metormote.com \
    --cc=jdelvare@suse.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).